/* This file was automatically generated. Do not edit! */ #define Html_LI 81 #define Html_A 5 typedef struct HtmlMargin HtmlMargin; void HtmlPushMargin(HtmlMargin **ppMargin,int indent,int bottom,int tag); typedef union HtmlElement HtmlElement; void HtmlMoveVertically(HtmlElement *p,HtmlElement *pLast,int dy); void HtmlClearMarginStack(HtmlMargin **ppMargin); typedef struct HtmlWidget HtmlWidget; int HtmlUnlock(HtmlWidget *htmlPtr); typedef struct HtmlLayoutContext HtmlLayoutContext; void HtmlLayoutBlock(HtmlLayoutContext *pLC); void HtmlLock(HtmlWidget *htmlPtr); #define HtmlTrace_Table3 0x00000004 #define ALIGN_Center 3 #define ALIGN_Right 2 void HtmlWidenLine(HtmlLayoutContext *pLC,int reqWidth,int *pX,int *pY,int *pW); void HtmlComputeMargins(HtmlLayoutContext *pLC,int *pX,int *pY,int *pW); #define HtmlTrace_Table2 0x00000002 #if defined(TABLE_TRIM_BLANK) extern int HtmlLineWasBlank; #endif struct HtmlLayoutContext { HtmlWidget *htmlPtr; /* The html widget undergoing layout */ HtmlElement *pStart; /* Start of elements to layout */ HtmlElement *pEnd; /* Stop when reaching this element */ int headRoom; /* Extra space wanted above this line */ int top; /* Absolute top of drawing area */ int bottom; /* Bottom of previous line */ int left, right; /* Left and right extremes of drawing area */ int pageWidth; /* Width of the layout field, including ** the margins */ int maxX, maxY; /* Maximum X and Y values of paint */ HtmlMargin *leftMargin; /* Stack of left margins */ HtmlMargin *rightMargin; /* Stack of right margins */ }; HtmlElement *HtmlTableLayout(HtmlLayoutContext *pLC,HtmlElement *pTable); #if !defined(HAVE_STRICMP) # define stricmp strcasecmp #endif #define Html_H6 68 #define Html_H5 66 #define Html_EndH4 65 #define Html_H4 64 #define Html_EndH3 63 #define Html_H3 62 #define Html_EndH2 61 #define Html_H2 60 #define Html_EndH1 59 #define Html_H1 58 #define Html_EndDIV 42 #define Html_DIV 41 #define Html_EndP 105 #define Html_P 104 #define Html_BR 24 #define Html_TEXTAREA 133 #define Html_EMBED 49 #define Html_SELECT 116 #define Html_INPUT 77 #define Html_APPLET 9 #define Html_EndBLOCKQUOTE 21 #define Html_BLOCKQUOTE 20 #define Html_EndOL 101 #define Html_EndUL 146 #define HTML_INDENT 36 #define Html_OL 100 #define Html_UL 145 #define IMAGE_ALIGN_Right 7 #define IMAGE_ALIGN_Left 6 #define Html_IMG 76 #define STY_NoBreak 0x008 #define HTML_NewLine 0x02 /* type==Html_Space and ends with newline */ #define Html_Space 2 #define STY_Preformatted 0x001 #define Html_Text 1 extern int HtmlTraceMask; #define DEBUG 1 #if defined(DEBUG) extern int HtmlDepth; # define TRACE_POP(Flag) if( (Flag)&HtmlTraceMask ){ HtmlDepth-=3; } #endif #if !(defined(DEBUG)) # define TRACE_POP(Flag) #endif #define HtmlTrace_Table5 0x00000010 #if defined(DEBUG) # define TRACE_INDENT printf("%*s",HtmlDepth-3,"") #endif #if !(defined(DEBUG)) # define TRACE_INDENT #endif #define HtmlTrace_Table6 0x00000020 #define LARGE_NUMBER 100000000 char *HtmlTokenName(HtmlElement *p); typedef struct HtmlRef HtmlRef; typedef struct HtmlMarkupElement HtmlMarkupElement; typedef struct HtmlBaseElement HtmlBaseElement; typedef struct HtmlStyle HtmlStyle; struct HtmlStyle { unsigned int font : 6; /* Font to use for display */ unsigned int color : 4; /* Foreground color */ signed int subscript : 4; /* Positive for , negative for */ unsigned int align : 2; /* Horizontal alignment */ unsigned int bgcolor : 4; /* Background color */ unsigned int flags : 12; /* the STY_ flags below */ }; typedef unsigned char Html_u8; typedef short Html_16; struct HtmlBaseElement { HtmlElement *pNext; /* Next input token in a list of them all */ HtmlElement *pPrev; /* Previous token in a list of them all */ HtmlStyle style; /* The rendering style for this token */ Html_u8 type; /* The token type. */ Html_u8 flags; /* The HTML_ flags below */ Html_16 count; /* Various uses, depending on "type" */ }; struct HtmlMarkupElement { HtmlBaseElement base; char **argv; }; struct HtmlRef { HtmlMarkupElement markup; HtmlElement *pOther; /* Pointer to some other Html element */ }; /*#define HtmlAlloc(A) ((void*)Tcl_Alloc(A))*/ void* HtmlAlloc(size_t); #define Html_TH 135 #define Html_TD 131 #define Html_EndCAPTION 26 #define Html_CAPTION 25 #define Html_TR 139 #define Html_EndTR 140 #define Html_EndTH 136 #define Html_EndTD 132 #define Html_EndTABLE 130 #define COLOR_Background 4 /* Default background color */ #define HtmlTrace_Table4 0x00000008 #if defined(DEBUG) # define TRACE(Flag, Args) \ if( (Flag)&HtmlTraceMask ){ \ TRACE_INDENT; printf Args; fflush(stdout); \ } #endif #if !(defined(DEBUG)) # define TRACE(Flag, Args) #endif #define HtmlTrace_Table1 0x00000001 #if defined(DEBUG) # define TRACE_PUSH(Flag) if( (Flag)&HtmlTraceMask ){ HtmlDepth+=3; } #endif #if !(defined(DEBUG)) # define TRACE_PUSH(Flag) #endif #if defined(COVERAGE_TEST) extern int HtmlTPArray[2000]; # define TestPoint(X) {extern int HtmlTPArray[]; HtmlTPArray[X]++;} #endif #if !(defined(COVERAGE_TEST)) # define TestPoint(X) #endif #define Html_TABLE 129 #define HTML_MAX_COLUMNS 40 char *HtmlMarkupArg(HtmlElement *p,const char *tag,char *zDefault); typedef struct HtmlTextElement HtmlTextElement; typedef int Html_32; struct HtmlTextElement { HtmlBaseElement base; /* All the base information */ Html_32 y; /* y coordinate where text should be rendered */ Html_16 x; /* x coordinate where text should be rendered */ Html_16 w; /* width of this token in pixels */ Html_u8 ascent; /* height above the baseline */ Html_u8 descent; /* depth below the baseline */ Html_u8 spaceWidth; /* Width of one space in the current font */ char zText[1]; /* Text for this element. Null terminated */ }; typedef struct HtmlSpaceElement HtmlSpaceElement; struct HtmlSpaceElement { HtmlBaseElement base; /* All the base information */ Html_16 w; /* Width of a single space in current font */ Html_u8 ascent; /* height above the baseline */ Html_u8 descent; /* depth below the baseline */ }; typedef struct HtmlCell HtmlCell; struct HtmlCell { HtmlMarkupElement markup; Html_16 rowspan; /* Number of rows spanned by this cell */ Html_16 colspan; /* Number of columns spanned by this cell */ Html_16 x; /* X coordinate of left edge of border */ Html_16 w; /* Width of the border */ Html_32 y; /* Y coordinate of top of border indentation */ Html_32 h; /* Height of the border */ HtmlElement *pTable; /* Pointer back to the */ HtmlElement *pEnd; /* Element that ends this cell */ }; typedef struct HtmlTable HtmlTable; typedef unsigned short Html_u16; struct HtmlTable { HtmlMarkupElement markup; Html_u8 borderWidth; /* Width of the border */ Html_u8 nCol; /* Number of columns */ Html_u16 nRow; /* Number of rows */ Html_32 y; /* top edge of table border */ Html_32 h; /* height of the table border */ Html_16 x; /* left edge of table border */ Html_16 w; /* width of the table border */ int minW[HTML_MAX_COLUMNS+1]; /* minimum width of each column */ int maxW[HTML_MAX_COLUMNS+1]; /* maximum width of each column */ }; typedef struct HtmlLi HtmlLi; struct HtmlLi { HtmlMarkupElement markup; Html_u8 type; /* What type of list is this? */ Html_u8 ascent; /* height above the baseline */ Html_u8 descent; /* depth below the baseline */ Html_16 cnt; /* Value for this element (if inside
    ) */ Html_16 x; /* X coordinate of the bullet */ Html_32 y; /* Y coordinate of the bullet */ }; typedef struct HtmlListStart HtmlListStart; struct HtmlListStart { HtmlMarkupElement markup; Html_u8 type; /* One of the LI_TYPE_ defines above */ Html_u8 compact; /* True if the COMPACT flag is present */ Html_u16 cnt; /* Next value for
      */ Html_u16 width; /* How much space to allow for indentation */ HtmlElement *pPrev; /* Next higher level list, or NULL */ }; typedef struct HtmlImageMarkup HtmlImageMarkup; typedef struct HtmlImage HtmlImage; struct HtmlImageMarkup { HtmlMarkupElement markup; Html_u8 align; /* Alignment. See IMAGE_ALIGN_ defines below */ Html_u8 textAscent; /* Ascent of text font in force at the */ Html_u8 textDescent; /* Descent of text font in force at the */ Html_u8 redrawNeeded; /* Need to redraw this image because the image ** content changed. */ Html_16 h; /* Actual height of the image */ Html_16 w; /* Actual width of the image */ Html_16 ascent; /* How far image extends above "y" */ Html_16 descent; /* How far image extends below "y" */ Html_16 x; /* X coordinate of left edge of the image */ Html_32 y; /* Y coordinate of image baseline */ char *zAlt; /* Alternative text */ HtmlImage *pImage; /* Corresponding HtmlImage structure */ HtmlElement *pNext; /* Next markup using the same HtmlImage structure */ }; typedef struct HtmlInput HtmlInput; struct HtmlInput { HtmlMarkupElement markup; HtmlElement *pForm; /* The
      to which this belongs */ HtmlElement *pNext; /* Next element in a list of all input elements */ Tk_Window tkwin; /* The window that implements this control */ HtmlWidget *htmlPtr; /* The whole widget. Needed by geometry callbacks */ HtmlElement *pEnd; /* End tag for