2 * cnoor - a small framebuffer/GTK+ Quran viewer
4 * Copyright (C) 2009-2011 Ali Gholami Rudi
6 * This program is released under GNU GPL version 2.
17 static void ins_sura(struct txtwin
*tw
, struct quran
*quran
,
18 struct quran
*trans
, int sura
)
21 int start
= sura_start(sura
);
22 int ayas
= sura_ayas(sura
);
24 for (i
= 0; i
< ayas
; i
++) {
25 int juz
= juz_start(sura
, i
+ 1);
26 enum sajda sajda
= sajda_kind(sura
, i
+ 1);
28 sprintf(buf
, "%d\n", juz
);
29 txtwin_append(tw
, buf
, "juz");
31 quran_aya(quran
, buf
, LENGTH(buf
), start
+ i
);
32 txtwin_append(tw
, buf
, "quran");
33 sprintf(buf
, " %d ", i
+ 1);
34 txtwin_append(tw
, buf
, "num");
35 if (sajda
!= SAJDA_NONE
) {
36 char *s
= sajda
== SAJDA_RECOM
? "*" : "**";
37 txtwin_append(tw
, s
, "sajda");
40 quran_aya(trans
, buf
, LENGTH(buf
), start
+ i
);
41 txtwin_append(tw
, "\n", NULL
);
42 txtwin_append(tw
, buf
, "trans");
44 txtwin_append(tw
, "\n\n", NULL
);
48 static void set_tags(struct txtwin
*tw
)
51 for (i
= 0; i
< LENGTH(styles
); i
++)
52 txtwin_tag(tw
, styles
[i
].name
, styles
[i
].fg
,
53 styles
[i
].bg
, styles
[i
].font
);
60 struct quran
*trans
= NULL
;
62 quran
= quran_alloc(QURAN_PATH
);
64 trans
= quran_alloc(TRANS_PATH
);
66 ins_sura(tw
, quran
, trans
, sura
);
75 int main(int argc
, char **argv
)
78 if (argc
== 1 || !strcmp(argv
[1], "-h")) {
79 printf("usage: %s sura_number\n", argv
[0]);
83 if (sura
<= 0 || sura
> 114) {
84 fprintf(stderr
, "cnoor: invalid sura number\n");
87 txtwin_gtk_init(argc
, argv
);