txtwin: add goto start and end commands
[cnoor.git] / cnoor.c
blobcbca5e9aab944732ac5808c395e5be10663bff04
1 #include <stdlib.h>
2 #include "config.h"
3 #include "txtwin.h"
4 #include "quran.h"
5 #include "util.h"
7 static void ins_sura(struct txtwin *tw, struct quran *quran,
8 struct quran *trans, int sura)
10 char buf[16 * 1024];
11 int start = sura_start(sura);
12 int ayas = sura_ayas(sura);
13 int i;
14 for (i = 0; i < ayas; i++) {
15 quran_aya(quran, buf, LENGTH(buf), start + i);
16 txtwin_append(tw, buf, "quran");
17 txtwin_append(tw, "\n", NULL);
18 if (trans) {
19 quran_aya(trans, buf, LENGTH(buf), start + i);
20 txtwin_append(tw, buf, "trans");
21 txtwin_append(tw, "\n", NULL);
23 txtwin_append(tw, "\n", NULL);
27 static void set_tags(struct txtwin *tw)
29 txtwin_tag(tw, "quran", QURAN_FG, QURAN_BG, QURAN_FONT);
30 txtwin_tag(tw, "trans", TRANS_FG, TRANS_BG, TRANS_FONT);
33 int main(int argc, char **argv)
35 struct txtwin *tw;
36 struct quran *quran;
37 struct quran *trans = NULL;
38 txtwin_gtk_init(argc, argv);
39 tw = txtwin_alloc();
40 quran = quran_alloc(QURAN_PATH);
41 if (TRANS_PATH)
42 trans = quran_alloc(TRANS_PATH);
43 set_tags(tw);
44 ins_sura(tw, quran, trans, 1);
46 txtwin_loop(tw);
47 txtwin_free(tw);
48 quran_free(quran);
49 return 0;