205 lines
3.2 KiB
C
205 lines
3.2 KiB
C
/*
|
|
4coder_doc_content_types.h - Documentation content types
|
|
*/
|
|
|
|
// TOP
|
|
|
|
#if !defined(FRED_DOC_CONTENT_TYPES_H)
|
|
#define FRED_DOC_CONTENT_TYPES_H
|
|
|
|
typedef i32 Doc_Month;
|
|
enum{
|
|
None,
|
|
January,
|
|
February,
|
|
March,
|
|
April,
|
|
May,
|
|
June,
|
|
July,
|
|
August,
|
|
September,
|
|
October,
|
|
November,
|
|
December,
|
|
};
|
|
char *doc_month_names[] = {
|
|
"None",
|
|
"January",
|
|
"February",
|
|
"March",
|
|
"April",
|
|
"May",
|
|
"June",
|
|
"July",
|
|
"August",
|
|
"September",
|
|
"October",
|
|
"November",
|
|
"December",
|
|
};
|
|
char *doc_day_names[] = {
|
|
"0",
|
|
"1st",
|
|
"2nd",
|
|
"3rd",
|
|
"4th",
|
|
"5th",
|
|
"6th",
|
|
"7th",
|
|
"8th",
|
|
"9th",
|
|
"10th",
|
|
"11th",
|
|
"12th",
|
|
"13th",
|
|
"14th",
|
|
"15th",
|
|
"16th",
|
|
"17th",
|
|
"18th",
|
|
"19th",
|
|
"20th",
|
|
"21st",
|
|
"22nd",
|
|
"23rd",
|
|
"24th",
|
|
"25th",
|
|
"26th",
|
|
"27th",
|
|
"28th",
|
|
"29th",
|
|
"30th",
|
|
"31st",
|
|
};
|
|
|
|
struct Doc_Date{
|
|
i32 day;
|
|
Doc_Month month;
|
|
i32 year;
|
|
};
|
|
|
|
typedef i32 Doc_Content_Emphasis;
|
|
enum{
|
|
DocContentEmphasis_Normal,
|
|
DocContentEmphasis_SmallHeader,
|
|
DocContentEmphasis_Heavy,
|
|
DocContentEmphasis_Stylish,
|
|
DocContentEmphasis_Code,
|
|
};
|
|
struct Doc_Content{
|
|
Doc_Content *next;
|
|
String_Const_u8 text;
|
|
String_Const_u8 page_link;
|
|
String_Const_u8 block_link;
|
|
Doc_Content_Emphasis emphasis;
|
|
};
|
|
struct Doc_Content_List{
|
|
Doc_Content *first;
|
|
Doc_Content *last;
|
|
u64 total_size;
|
|
i32 node_count;
|
|
};
|
|
|
|
typedef i32 Doc_Code_Language;
|
|
enum{
|
|
DocCodeLanguage_None,
|
|
DocCodeLanguage_Cpp,
|
|
DocCodeLanguage_Bat,
|
|
};
|
|
char *doc_language_name[] = {
|
|
"none",
|
|
"C++",
|
|
"Batch",
|
|
};
|
|
struct Doc_Code_Sample{
|
|
Doc_Code_Sample *next;
|
|
String_Const_u8 contents;
|
|
Doc_Code_Language language;
|
|
};
|
|
struct Doc_Code_Sample_List{
|
|
Doc_Code_Sample *first;
|
|
Doc_Code_Sample *last;
|
|
i32 count;
|
|
};
|
|
|
|
typedef i32 Doc_Paragraph_Kind;
|
|
enum{
|
|
DocParagraphKind_Text,
|
|
DocParagraphKind_Code,
|
|
DocParagraphKind_Table,
|
|
};
|
|
struct Doc_Paragraph{
|
|
Doc_Paragraph *next;
|
|
Doc_Paragraph_Kind kind;
|
|
union{
|
|
Doc_Content_List text;
|
|
Doc_Code_Sample_List code;
|
|
struct{
|
|
Vec2_i32 dim;
|
|
Doc_Content_List *vals;
|
|
} table;
|
|
};
|
|
};
|
|
|
|
struct Doc_Block{
|
|
Doc_Block *next;
|
|
|
|
struct Doc_Page *owner;
|
|
|
|
String_Const_u8 name;
|
|
|
|
Doc_Paragraph *first_par;
|
|
Doc_Paragraph *last_par;
|
|
i32 par_count;
|
|
};
|
|
|
|
struct Doc_Block_Ptr{
|
|
Doc_Block_Ptr *next;
|
|
Doc_Block *block;
|
|
};
|
|
|
|
struct Doc_Block_List{
|
|
Doc_Block_Ptr *first;
|
|
Doc_Block_Ptr *last;
|
|
i32 count;
|
|
};
|
|
|
|
struct Doc_Page{
|
|
Doc_Page *next;
|
|
|
|
struct Doc_Cluster *owner;
|
|
|
|
String_Const_u8 title;
|
|
String_Const_u8 name;
|
|
|
|
Doc_Block *first_block;
|
|
Doc_Block *last_block;
|
|
i32 block_count;
|
|
|
|
Doc_Block_List quick_jumps;
|
|
};
|
|
|
|
struct Doc_Log{
|
|
Doc_Log *next;
|
|
String_Const_u8 content;
|
|
};
|
|
|
|
struct Doc_Cluster{
|
|
String_Const_u8 title;
|
|
String_Const_u8 name;
|
|
Doc_Date gen_date;
|
|
|
|
Doc_Page *first_page;
|
|
Doc_Page *last_page;
|
|
i32 page_count;
|
|
|
|
Doc_Log *first_log;
|
|
Doc_Log *last_log;
|
|
};
|
|
|
|
#endif
|
|
|
|
// BOTTOM
|
|
|