extended structs with some counts + beautifying
[smdp.git] / include / markdown.h
1 #if !defined( MARKDOWN_H )
2 #define MARKDOWN_H
3
4 /*
5  * A implementation of markdown objects.
6  *
7  */
8
9 #include "cstring.h"
10 #include "bitops.h"
11
12 enum line_bitmask {
13     IS_H1,
14     IS_H2,
15     IS_QUOTE,
16     IS_CODE,
17     IS_HR,
18     IS_EMPTY
19 };
20
21 typedef struct _line_t {
22     cstring_t *text;
23     struct _line_t *prev;
24     struct _line_t *next;
25     int bits;
26     int length;
27     int offset;
28 } line_t;
29
30 typedef struct _slide_t {
31     line_t *line;
32     struct _slide_t *prev;
33     struct _slide_t *next;
34     int lines;
35 } slide_t;
36
37 typedef struct _deck_t {
38     line_t *header;
39     slide_t *slide;
40     int slides;
41     int headers;
42 } deck_t;
43
44 line_t *new_line();
45 line_t *next_line(line_t *prev);
46 slide_t *new_slide();
47 slide_t *next_slide(slide_t *prev);
48 deck_t *new_deck();
49
50 #endif // !defined( MARKDOWN_H )