16 #define DISABLE_DEBUGLOG
19 #include "htmlctx_p.h"
23 #include <gwenhywfar/misc.h>
24 #include <gwenhywfar/debug.h>
25 #include <gwenhywfar/text.h>
57 xctx->objects=HtmlObject_Tree_new();
68 HtmlObject_Tree_Add(xctx->objects, o);
94 free(xctx->currentTagName);
95 HtmlObject_Tree_free(xctx->objects);
113 return xctx->resolutionX;
137 return xctx->resolutionY;
161 return xctx->mediaPaths;
187 return xctx->currentGroup;
199 xctx->currentGroup=g;
211 return xctx->currentTagName;
223 free(xctx->currentTagName);
224 if (s) xctx->currentTagName=strdup(s);
225 else xctx->currentTagName=
NULL;
237 return xctx->dbCurrentAttribs;
249 return xctx->objects;
277 return HtmlObject_Tree_GetFirst(xctx->objects);
292 uint8_t *lastBlankPos;
308 while(*src && (*src<33 || *src==127))
317 for (i=0; i<size; i++) {
361 return xctx->standardProps;
376 xctx->standardProps=pr;
381 o=HtmlObject_Tree_GetFirst(xctx->objects);
418 (xctx->currentTagName)?xctx->currentTagName:
"<noname>");
422 if (xctx->currentTagName==
NULL) {
429 if (xctx->currentGroup) {
430 if (*(xctx->currentTagName)==
'/') {
435 "Calling %s->EndTag(%s)",
437 xctx->currentTagName);
442 "Error in EndTag(%s) for [%s]",
444 xctx->currentTagName);
453 g=xctx->currentGroup;
455 xctx->currentGroup=gParent;
458 "Calling %s->EndSubGroup(%s)",
472 "Calling %s->StartTag(%s)",
474 xctx->currentTagName);
479 "Error in StartTag(%s) for [%s]",
481 xctx->currentTagName);
503 if (xctx->currentGroup) {
507 "Calling %s->AddData()",
513 "Error in AddData(%s)",
539 const char *attrName,
540 const char *attrData) {
547 if (xctx->currentGroup) {
548 assert(xctx->dbCurrentAttribs);
568 if (xctx->getTextWidthFn)
569 return xctx->getTextWidthFn(ctx, fnt, s);
585 if (xctx->getTextHeightFn)
586 return xctx->getTextHeightFn(ctx, fnt, s);
601 if (xctx->getColorFromNameFn)
602 return xctx->getColorFromNameFn(ctx, name);
610 const char *fontName,
612 uint32_t fontFlags) {
620 return xctx->getFontFn(ctx, fontName, fontSize, fontFlags);
634 if (xctx->getImageFn)
635 return xctx->getImageFn(ctx, imageName);
651 of=xctx->getTextWidthFn;
652 xctx->getTextWidthFn=fn;
668 of=xctx->getTextHeightFn;
669 xctx->getTextHeightFn=fn;
685 of=xctx->getColorFromNameFn;
686 xctx->getColorFromNameFn=fn;
734 o=HtmlObject_Tree_GetFirst(xctx->objects);
764 HtmlObject_Tree_Clear(xctx->objects);
774 HtmlObject_Tree_Add(xctx->objects, o);
785 fprintf(stderr,
"============ Objects:\n");
786 fprintf(stderr,
"String: [%s]\n", s);
787 o=HtmlObject_Tree_GetFirst(xctx->objects);
792 fprintf(stderr,
"Object(%d): [%s]\n",
795 o=HtmlObject_Tree_GetBelow(o);