From 6003f2f14d8c40a23336a510b109290dceb2f40b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michael=20G=C3=B6hler?= Date: Sat, 16 Aug 2014 17:34:38 +0200 Subject: [PATCH] refine markdown objects + added functions to header --- include/markdown.h | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/include/markdown.h b/include/markdown.h index 357de78..b4812f5 100644 --- a/include/markdown.h +++ b/include/markdown.h @@ -19,18 +19,21 @@ enum line_bitmask { IS_QUOTE, IS_CODE, IS_LIST, - IS_NUMLIST + IS_NUMLIST, + IS_HR }; typedef struct _line_t { cstring_t *text; + struct _line_t *prev; struct _line_t *next; int bits; - int left_white_space; + int offset; } line_t; typedef struct _page_t { - line_t *lines; + line_t *line; + struct _page_t *prev; struct _page_t *next; } page_t; @@ -38,7 +41,36 @@ typedef struct _document_t { line_t *title; line_t *author; line_t *date; - page_t *pages; + page_t *page; } document_t; +line_t *new_line() { + line_t *x = malloc(sizeof(line_t)); + return x; +} + +line_t *next_line(line_t *prev) { + line_t *x = new_line(); + x->prev = prev; + prev->next = x; + return x; +} + +page_t *new_page() { + page_t *x = malloc(sizeof(page_t)); + return x; +} + +page_t *next_page(page_t *prev) { + page_t *x = new_page(); + x->prev = prev; + prev->next = x; + return x; +} + +document_t *new_document() { + document_t *x = malloc(sizeof(document_t)); + return x; +} + #endif // !defined( MARKDOWN_H ) -- 2.20.1