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 quran
*quran
, struct quran
*trans
, int sura
)
20 int start
= sura_start(sura
);
21 int ayas
= sura_ayas(sura
);
23 for (i
= 0; i
< ayas
; i
++) {
24 int juz
= juz_start(sura
, i
+ 1);
25 int sajda
= sajda_kind(sura
, i
+ 1);
27 sprintf(buf
, "%d\n", juz
);
28 txtwin_append(buf
, FONT_JUZ
);
30 quran_aya(quran
, buf
, LENGTH(buf
), start
+ i
);
31 txtwin_append(buf
, FONT_QURAN
);
32 sprintf(buf
, " %d ", i
+ 1);
33 txtwin_append(buf
, FONT_NUM
);
34 if (sajda
!= SAJDA_NONE
) {
35 char *s
= sajda
== SAJDA_RECOM
? "*" : "**";
36 txtwin_append(s
, FONT_SAJDA
);
39 quran_aya(trans
, buf
, LENGTH(buf
), start
+ i
);
40 txtwin_append("\n", NULL
);
41 txtwin_append(buf
, FONT_TRANS
);
43 txtwin_append("\n\n", NULL
);
51 struct quran
*trans
= NULL
;
52 sprintf(name
, "%d(%s)", sura
, sura_name(sura
));
53 quran
= quran_alloc(QURAN_PATH
);
55 trans
= quran_alloc(TRANS_PATH
);
57 ins_sura(quran
, trans
, sura
);
66 int main(int argc
, char **argv
)
69 if (argc
== 1 || !strcmp(argv
[1], "-h")) {
70 printf("usage: %s sura_number\n", argv
[0]);
74 if (sura
<= 0 || sura
> 114) {
75 fprintf(stderr
, "cnoor: invalid sura number\n");
78 txtwin_gtk_init(argc
, argv
);