/*
* An implementation of markdown objects.
- * Copyright (C) 2014 Michael Goehler
+ * Copyright (C) 2018 Michael Goehler
*
* This file is part of mdp.
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
- * enum: line_bitmask which enumerates markdown formating bits
+ * enum: line_bitmask which enumerates markdown formatting bits
*
* struct: deck_t the root object representing a deck of slides
* struct: slide_t a linked list element of type slide contained in a deck
* function: next_slide to extend a linked list of type slide by one element
* function: new_line to initialize a new linked list of type line
* function: next_line to extend a linked list of type line by one element
+ * function: free_line to free a line elements memory
+ * function: free_deck to free a deck's memory
*
*/
enum line_bitmask {
IS_H1,
+ IS_H1_ATX,
IS_H2,
+ IS_H2_ATX,
IS_QUOTE,
IS_CODE,
+ IS_TILDE_CODE,
+ IS_GFM_CODE,
IS_HR,
+ IS_UNORDERED_LIST_1,
+ IS_UNORDERED_LIST_2,
+ IS_UNORDERED_LIST_3,
+ IS_UNORDERED_LIST_EXT,
+ IS_CENTER,
+ IS_STOP,
IS_EMPTY
};
struct _slide_t *prev;
struct _slide_t *next;
int lines;
+ int stop;
+ int lines_consumed;
} slide_t;
typedef struct _deck_t {
slide_t *new_slide();
slide_t *next_slide(slide_t *prev);
deck_t *new_deck();
+void free_line(line_t *l);
+void free_deck(deck_t *);
#endif // !defined( MARKDOWN_H )