15#define DISABLE_DEBUGLOG
28#include <gwenhywfar/misc.h>
29#include <gwenhywfar/debug.h>
66 if (strcasecmp(tagName,
"b")==0) {
86 else if (strcasecmp(tagName,
"i")==0) {
106 else if (strcasecmp(tagName,
"u")==0) {
126 else if (strcasecmp(tagName,
"p")==0) {
140 if (strcasecmp(s,
"right")==0)
142 else if (strcasecmp(s,
"center")==0)
150 else if (strcasecmp(tagName,
"right")==0) {
164 else if (strcasecmp(tagName,
"br")==0) {
173 else if (strcasecmp(tagName,
"img")==0) {
221 else if (strcasecmp(tagName,
"table")==0) {
231 else if (strcasecmp(tagName,
"ul")==0) {
242 else if (strcasecmp(tagName,
"font")==0) {
254 const char *fontName;
279 sscanf(s,
"%d", &fontSize);
301 else if (strcasecmp(tagName,
"h1")==0) {
329 else if (strcasecmp(tagName,
"h2")==0) {
357 else if (strcasecmp(tagName,
"h3")==0) {
385 else if (strcasecmp(tagName,
"h4")==0) {
413 else if (strcasecmp(tagName,
"html")==0 ||
414 strcasecmp(tagName,
"body")==0) {
418 "Unknown group [%s], handling as normal box", tagName);
461 while (*s && isspace(*s))
466 while (*t && !isspace(*t))
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
int GWEN_DB_GetIntValue(GWEN_DB_NODE *n, const char *path, int idx, int defVal)
struct GWEN_DB_NODE GWEN_DB_NODE
#define DBG_WARN(dbg_logger, format, args...)
#define DBG_INFO(dbg_logger, format, args...)
#define DBG_ERROR(dbg_logger, format, args...)
int HtmlGroup_Box_StartTag(HTML_GROUP *g, const char *tagName)
int HtmlGroup_Box_AddData(HTML_GROUP *g, const char *data)
HTML_GROUP * HtmlGroup_Box_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
HTML_GROUP * HtmlGroup_Generic_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
HTML_GROUP * HtmlGroup_Table_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
HTML_GROUP * HtmlGroup_UnorderedList_new(const char *groupName, HTML_GROUP *parent, GWEN_XML_CONTEXT *ctx)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
HTML_IMAGE * HtmlCtx_GetImage(GWEN_XML_CONTEXT *ctx, const char *imageName)
void HtmlCtx_SetCurrentGroup(GWEN_XML_CONTEXT *ctx, HTML_GROUP *g)
uint32_t HtmlCtx_GetColorFromName(const GWEN_XML_CONTEXT *ctx, const char *name)
HTML_FONT * HtmlCtx_GetFont(GWEN_XML_CONTEXT *ctx, const char *fontName, int fontSize, uint32_t fontFlags)
GWEN_DB_NODE * HtmlCtx_GetCurrentAttributes(const GWEN_XML_CONTEXT *ctx)
int HtmlCtx_SanitizeData(GWEN_UNUSED GWEN_XML_CONTEXT *ctx, const char *data, GWEN_BUFFER *buf)
int HtmlFont_GetFontSize(const HTML_FONT *fnt)
uint32_t HtmlFont_GetFontFlags(const HTML_FONT *fnt)
const char * HtmlFont_GetFontName(const HTML_FONT *fnt)
#define HTML_FONT_FLAGS_UNDERLINE
#define HTML_FONT_FLAGS_ITALIC
#define HTML_FONT_FLAGS_STRONG
struct HTML_FONT HTML_FONT
void HtmlGroup_SetObject(HTML_GROUP *g, HTML_OBJECT *o)
HTML_GROUP_ADDDATA_FN HtmlGroup_SetAddDataFn(HTML_GROUP *g, HTML_GROUP_ADDDATA_FN f)
HTML_OBJECT * HtmlGroup_GetObject(const HTML_GROUP *g)
GWEN_XML_CONTEXT * HtmlGroup_GetXmlContext(const HTML_GROUP *g)
HTML_PROPS * HtmlGroup_GetProperties(const HTML_GROUP *g)
void HtmlGroup_SetProperties(HTML_GROUP *g, HTML_PROPS *pr)
HTML_GROUP_STARTTAG_FN HtmlGroup_SetStartTagFn(HTML_GROUP *g, HTML_GROUP_STARTTAG_FN f)
struct HTML_GROUP HTML_GROUP
int HtmlImage_GetWidth(const HTML_IMAGE *img)
int HtmlImage_GetHeight(const HTML_IMAGE *img)
struct HTML_IMAGE HTML_IMAGE
HTML_OBJECT * HtmlObject_new(GWEN_XML_CONTEXT *ctx, HTML_OBJECT_TYPE t)
void HtmlObject_SetProperties(HTML_OBJECT *o, HTML_PROPS *pr)
void HtmlObject_AddFlags(HTML_OBJECT *o, uint32_t fl)
#define HTML_OBJECT_FLAGS_JUSTIFY_RIGHT
#define HTML_OBJECT_FLAGS_START_ON_NEWLINE
#define HTML_OBJECT_FLAGS_END_WITH_NEWLINE
#define HTML_OBJECT_FLAGS_JUSTIFY_HCENTER
struct HTML_OBJECT HTML_OBJECT
HTML_PROPS * HtmlProps_dup(const HTML_PROPS *pro)
HTML_FONT * HtmlProps_GetFont(const HTML_PROPS *pr)
void HtmlProps_SetFont(HTML_PROPS *pr, HTML_FONT *fnt)
void HtmlProps_free(HTML_PROPS *pr)
void HtmlProps_SetForegroundColor(HTML_PROPS *pr, uint32_t c)
struct HTML_PROPS HTML_PROPS
HTML_OBJECT * HtmlObject_Box_new(GWEN_XML_CONTEXT *ctx)
void HtmlObject_Grid_SetColumns(HTML_OBJECT *o, int i)
HTML_OBJECT * HtmlObject_Grid_new(GWEN_XML_CONTEXT *ctx)
void HtmlObject_Image_SetScaledHeight(HTML_OBJECT *o, int i)
void HtmlObject_Image_SetImage(HTML_OBJECT *o, HTML_IMAGE *img)
void HtmlObject_Image_SetScaledWidth(HTML_OBJECT *o, int i)
HTML_OBJECT * HtmlObject_Image_new(GWEN_XML_CONTEXT *ctx)
HTML_OBJECT * HtmlObject_Word_new(GWEN_XML_CONTEXT *ctx, const char *s)
void GWEN_XmlCtx_IncDepth(GWEN_XML_CONTEXT *ctx)
struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT