50#define HTML_RELIEF_FLAT    0 
   51#define HTML_RELIEF_SUNKEN  1 
   52#define HTML_RELIEF_RAISED  2 
   61          "Unplanned behavior in the HTML Widget in file %s line %d\n", \
 
   66          "Untested code executed in the HTML Widget in file %s line %d\n", \
 
   72#define HtmlAssert(X) \ 
   74    fprintf(stderr,"Assertion failed on line %d of %s\n",__LINE__,__FILE__); \
 
   76#define HtmlCantHappen \ 
   77  fprintf(stderr,"Can't happen on line %d of %s\n",__LINE__,__FILE__);
 
   85#define HtmlTrace_Table1       0x00000001 
   86#define HtmlTrace_Table2       0x00000002 
   87#define HtmlTrace_Table3       0x00000004 
   88#define HtmlTrace_Table4       0x00000008 
   89#define HtmlTrace_Table5       0x00000010 
   90#define HtmlTrace_Table6       0x00000020 
   91#define HtmlTrace_GetLine      0x00000100 
   92#define HtmlTrace_GetLine2     0x00000200 
   93#define HtmlTrace_FixLine      0x00000400 
   94#define HtmlTrace_BreakMarkup  0x00001000 
   95#define HtmlTrace_Style        0x00002000 
   96#define HtmlTrace_Input1       0x00004000 
  111# define TRACE_INDENT  printf("%*s",HtmlDepth-3,"")
 
  112# define TRACE(Flag, Args) \ 
  113    if( (Flag)&HtmlTraceMask ){ \ 
  114       TRACE_INDENT; printf Args; fflush(stdout); \ 
  116# define TRACE_PUSH(Flag)  if( (Flag)&HtmlTraceMask ){ HtmlDepth+=3; } 
  117# define TRACE_POP(Flag)   if( (Flag)&HtmlTraceMask ){ HtmlDepth-=3; } 
  120# define TRACE(Flag, Args) 
  121# define TRACE_PUSH(Flag) 
  122# define TRACE_POP(Flag) 
  163#define N_FONT_FAMILY     8 
  166#define NormalFont(X)     (X) 
  167#define BoldFont(X)       ((X) | 8) 
  168#define ItalicFont(X)     ((X) | 16) 
  169#define CWFont(X)         ((X) | 32) 
  170#define FontSize(X)       ((X) & 007) 
  171#define FontFamily(X)     ((X) & 070) 
  173#define FONT_Default      3 
  174#define FontSwitch(Size, Bold, Italic, Cw) \ 
  175                          ((Size) | ((Bold+(Italic)*2+(Cw)*4) << 3)) 
  179#define FontIsValid(I)     ((fFontValid[(I)>>3] &   (1<<((I)&3)))!=0) 
  180#define FontSetValid(I)     (fFontValid[(I)>>3] |=  (1<<((I)&3))) 
  181#define FontClearValid(I)   (fFontValid[(I)>>3] &= ~(1<<((I)&3))) 
  196#define COLOR_Normal         0       
  197#define COLOR_Unvisited      1       
  198#define COLOR_Visited        2       
  199#define COLOR_Selection      3       
  200#define COLOR_Background     4       
  201#define N_PREDEFINED_COLOR   5       
  210#define ALIGN_Center 3 
  233#define STY_Preformatted    0x001 
  234#define STY_StrikeThru      0x002 
  235#define STY_Underline       0x004 
  236#define STY_NoBreak         0x008 
  237#define STY_Anchor          0x010 
  239#define STY_Invisible       0x040 
  240#define STY_FontMask        (STY_StrikeThru|STY_Underline) 
  254   virtual const char *
MarkupArg(
const char * , 
const char * ) { 
return 0; }
 
  274#define HTML_Visible   0x01    
  275#define HTML_NewLine   0x02    
  276#define HTML_Selected  0x04    
  328   virtual const char *
MarkupArg(
const char *tag, 
const char *zDefault);
 
  342#define HTML_MAX_COLUMNS 40 
  420   TGHtmlLi(
int type, 
int argc, 
int arglen[], 
char *argv[]);
 
  437#define LI_TYPE_Undefined 0      
  438#define LI_TYPE_Bullet1   1      
  439#define LI_TYPE_Bullet2   2      
  440#define LI_TYPE_Bullet3   3      
  441#define LI_TYPE_Enum_1    4      
  442#define LI_TYPE_Enum_A    5      
  443#define LI_TYPE_Enum_a    6      
  444#define LI_TYPE_Enum_I    7      
  445#define LI_TYPE_Enum_i    8      
  463#define HTML_MAP_RECT    1 
  464#define HTML_MAP_CIRCLE  2 
  465#define HTML_MAP_POLY    3 
  560#define IMAGE_ALIGN_Bottom        0 
  561#define IMAGE_ALIGN_Middle        1 
  562#define IMAGE_ALIGN_Top           2 
  563#define IMAGE_ALIGN_TextTop       3 
  564#define IMAGE_ALIGN_AbsMiddle     4 
  565#define IMAGE_ALIGN_AbsBottom     5 
  566#define IMAGE_ALIGN_Left          6 
  567#define IMAGE_ALIGN_Right         7 
  612#define INPUT_TYPE_Unknown      0 
  613#define INPUT_TYPE_Checkbox     1 
  614#define INPUT_TYPE_File         2 
  615#define INPUT_TYPE_Hidden       3 
  616#define INPUT_TYPE_Image        4 
  617#define INPUT_TYPE_Password     5 
  618#define INPUT_TYPE_Radio        6 
  619#define INPUT_TYPE_Reset        7 
  620#define INPUT_TYPE_Select       8 
  621#define INPUT_TYPE_Submit       9 
  622#define INPUT_TYPE_Text        10 
  623#define INPUT_TYPE_TextArea    11 
  624#define INPUT_TYPE_Applet      12 
  625#define INPUT_TYPE_Button      13 
  650   TGHtmlHr(
int type, 
int argc, 
int arglen[], 
char *argv[]);
 
  753#define HTML_INDENT 36 
  778                          int width, 
int minX, 
int *actualWidth);
 
  782                int bottom, 
int width, 
int actualWidth, 
int leftMargin,
 
  789   void WidenLine(
int reqWidth, 
int *pX, 
int *pY, 
int *pW);
 
  850#define O_HtmlMarkupElement   0 
  855#define O_HtmlListStart       5 
  856#define O_HtmlImageMarkup     6 
  860#define O_HtmlAnchor          10 
  861#define O_HtmlScript          11 
  862#define O_HtmlMapArea         12 
  967   const char *
GetHref(
int x, 
int y, 
const char **target = 0);
 
  997   void RedrawArea(
int left, 
int top, 
int right, 
int bottom);
 
 1026   void StringHW(
const char *str, 
int *
h, 
int *w);
 
 1028                         int lineWidth, 
int hasbg);
 
 1033                 int x, 
int y, 
int w, 
int h, 
int depth, 
int relief);
 
 1039                  int right, 
int bottom);
 
 1049                                        int arglen[], 
char *argv[]);
 
 1052                              char *zType, 
char *zArgs, 
int offs);
 
 1087   int  SelectionSet(
const char *startIx, 
const char *endIx);
 
 1091   const char *
GetUid(
const char *
string);
 
 1115   virtual void MouseOver(
const char *uri) { 
Emit(
"MouseOver(const char *)",uri); } 
 
 1116   virtual void MouseDown(
const char *uri)  { 
Emit(
"MouseDown(const char *)",uri); } 
 
 1320#define REDRAW_PENDING       0x000001 
 1321#define GOT_FOCUS            0x000002 
 1322#define HSCROLL              0x000004 
 1323#define VSCROLL              0x000008 
 1324#define RELAYOUT             0x000010 
 1325#define RESIZE_ELEMENTS      0x000020 
 1326#define REDRAW_FOCUS         0x000040 
 1327#define REDRAW_TEXT          0x000080 
 1328#define EXTEND_LAYOUT        0x000100 
 1329#define STYLER_RUNNING       0x000200 
 1330#define INSERT_FLASHING      0x000400 
 1331#define REDRAW_IMAGES        0x000800 
 1332#define ANIMATE_IMAGES       0x001000 
 1337#define HtmlHasFlag(A,F)      (((A)->flags&(F))==(F)) 
 1338#define HtmlHasAnyFlag(A,F)   (((A)->flags&(F))!=0) 
 1339#define HtmlSetFlag(A,F)      ((A)->flags|=(F)) 
 1340#define HtmlClearFlag(A,F)    ((A)->flags&=~(F)) 
 1345#define LARGE_NUMBER 100000000 
 1350#define DEF_HTML_BG_COLOR             DEF_FRAME_BG_COLOR 
 1351#define DEF_HTML_BG_MONO              DEF_FRAME_BG_MONO 
 1352#define DEF_HTML_EXPORT_SEL           1 
 1353#define DEF_HTML_FG                   DEF_BUTTON_FG 
 1354#define DEF_HTML_HIGHLIGHT_BG         DEF_BUTTON_HIGHLIGHT_BG 
 1355#define DEF_HTML_HIGHLIGHT            DEF_BUTTON_HIGHLIGHT 
 1356#define DEF_HTML_HIGHLIGHT_WIDTH      "0" 
 1357#define DEF_HTML_INSERT_OFF_TIME      300 
 1358#define DEF_HTML_INSERT_ON_TIME       600 
 1359#define DEF_HTML_PADX                 (HTML_INDENT / 4) 
 1360#define DEF_HTML_PADY                 (HTML_INDENT / 4) 
 1361#define DEF_HTML_RELIEF               "raised" 
 1362#define DEF_HTML_SELECTION_COLOR      "skyblue" 
 1363#define DEF_HTML_TAKE_FOCUS           "0" 
 1364#define DEF_HTML_UNVISITED            "blue2" 
 1365#define DEF_HTML_VISITED              "purple4" 
 1367#ifdef NAVIGATOR_TABLES 
 1369#define DEF_HTML_TABLE_BORDER             "0" 
 1370#define DEF_HTML_TABLE_CELLPADDING        "2" 
 1371#define DEF_HTML_TABLE_CELLSPACING        "5" 
 1372#define DEF_HTML_TABLE_BORDER_LIGHT_COLOR "gray80" 
 1373#define DEF_HTML_TABLE_BORDER_DARK_COLOR  "gray40" 
#define ClassDef(name, id)
 
static void indent(ostringstream &buf, int indent_level)
 
include TDocParser_001 C image html pict1_TDocParser_001 png width
 
unsigned short Html_u16_t
 
TGHtmlAnchor(int type, int argc, int arglen[], char *argv[])
HTML anchor element constructor.
 
virtual ~TGHtmlBlock()
dtor.
 
TGHtmlCell(int type, int argc, int arglen[], char *argv[])
HTML cell element constructor.
 
~TGHtmlCell()
HTML cell element destructor.
 
virtual int GetVerticalAlignment(int dflt)
 
virtual int GetUnorderedListType(int dflt)
 
virtual const char * MarkupArg(const char *, const char *)
 
TGHtmlElement(int etype=0)
HTML element constructor.
 
virtual int GetAlignment(int dflt)
 
virtual int GetOrderedListType(int dflt)
 
virtual int IsMarkup() const
 
TGHtmlHr(int type, int argc, int arglen[], char *argv[])
HTML hr element constructor.
 
TGHtmlImageMarkup * fINext
 
TGHtmlImageMarkup(int type, int argc, int arglen[], char *argv[])
HTML image element constructor.
 
TGHtmlImage(const TGHtmlImage &)
 
virtual ~TGHtmlImage()
dtor.
 
TGHtmlImageMarkup * fPList
 
TGHtmlImage & operator=(const TGHtmlImage &)
 
int InWrapAround()
Return TRUE (non-zero) if we are currently wrapping text around one or more images.
 
TGHtmlElement * GetLine(TGHtmlElement *pStart, TGHtmlElement *pEnd, int width, int minX, int *actualWidth)
This routine gathers as many tokens as will fit on one line.
 
TGHtmlLayoutContext()
Html Layout Context constructor.
 
void ComputeMargins(int *pX, int *pY, int *pW)
Compute the current margins for layout.
 
TGHtmlElement * TableLayout(TGHtmlTable *p)
Do all layout for a single table.
 
void PopOneMargin(SHtmlMargin_t **ppMargin)
Pop one margin off of the given margin stack.
 
void PopMargin(SHtmlMargin_t **ppMargin, int tag)
Pop as many margins as necessary until the margin that was created with "tag" is popped off.
 
void LayoutBlock()
Do as much layout as possible on the block of text defined by the HtmlLayoutContext.
 
SHtmlMargin_t * fRightMargin
 
void PushMargin(SHtmlMargin_t **ppMargin, int indent, int bottom, int tag)
Push a new margin onto the given margin stack.
 
void ClearMarginStack(SHtmlMargin_t **ppMargin)
Clear a margin stack to reclaim memory.
 
TGHtmlElement * DoBreakMarkup(TGHtmlElement *p)
Break markup is any kind of markup that might force a line-break.
 
void Paragraph(TGHtmlElement *p)
Increase the headroom to create a paragraph break at the current token.
 
int FixLine(TGHtmlElement *pStart, TGHtmlElement *pEnd, int bottom, int width, int actualWidth, int leftMargin, int *maxX)
This routine computes the X and Y coordinates for all elements of a line that has been gathered using...
 
void PopIndent()
Adjust (pop) ident.
 
void ClearObstacle(int mode)
Clear a wrap-around obstacle.
 
void WidenLine(int reqWidth, int *pX, int *pY, int *pW)
Move past obstacles until a linewidth of reqWidth is obtained, or until all obstacles are cleared.
 
void PopExpiredMargins(SHtmlMargin_t **ppMarginStack, int y)
Pop all expired margins from the stack.
 
void FixAnchors(TGHtmlElement *p, TGHtmlElement *pEnd, int y)
Set the y coordinate for every anchor in the given list.
 
SHtmlMargin_t * fLeftMargin
 
void Reset()
Reset the layout context.
 
void PushIndent()
Adjust (push) ident.
 
TGHtmlLi(int type, int argc, int arglen[], char *argv[])
HTML li element constructor.
 
TGHtmlListStart(int type, int argc, int arglen[], char *argv[])
HTML list start element constructor.
 
TGHtmlMapArea(int type, int argc, int arglen[], char *argv[])
HTML map area constructor.
 
virtual int GetAlignment(int dflt)
Return an alignment or justification flag associated with the given markup.
 
virtual int GetVerticalAlignment(int dflt)
Return the vertical alignment specified by the given element.
 
TGHtmlMarkupElement(int type, int argc, int arglen[], char *argv[])
HTML mrkup element constructor.
 
virtual ~TGHtmlMarkupElement()
HTML markup element destructor.
 
virtual const char * MarkupArg(const char *tag, const char *zDefault)
Lookup an argument in the given markup with the name given.
 
virtual int GetOrderedListType(int dflt)
The "type" argument to the given element might describe the type for an ordered list.
 
virtual int GetUnorderedListType(int dflt)
The "type" argument to the given element might describe a type for an unordered list.
 
TGHtmlRef(int type, int argc, int arglen[], char *argv[])
HTML ref element constructor.
 
~TGHtmlRef()
HTML ref element destructor.
 
TGHtmlScript(int type, int argc, int arglen[], char *argv[])
HTML script element constructor.
 
TGHtmlTable(int type, int argc, int arglen[], char *argv[])
HTML table element constructor.
 
int fMinW[HTML_MAX_COLUMNS+1]
 
~TGHtmlTable()
HTML table element destructor.
 
int fMaxW[HTML_MAX_COLUMNS+1]
 
TGHtmlTextElement & operator=(const TGHtmlTextElement &)
 
virtual ~TGHtmlTextElement()
HTML element destructor.
 
TGHtmlTextElement(const TGHtmlTextElement &)
 
int GetLightShadowColor(int iBgColor)
Given that the background color is iBgColor, figure out an appropriate color for the bright part of t...
 
virtual void SavePrimitive(std::ostream &out, Option_t *="")
Save a html widget as a C++ statement(s) on output stream out.
 
TGHtmlElement * GetMap(const char *name)
Returns html map element.
 
int IsDarkColor(ColorStruct_t *p)
Check to see if the given color is too dark to be easily distinguished from black.
 
void MoveVertically(TGHtmlElement *p, TGHtmlElement *pLast, int dy)
Move all elements in the given list vertically by the amount dy.
 
TGString * ListTokens(TGHtmlElement *p, TGHtmlElement *pEnd)
Return all tokens between the two elements as a string list.
 
void RedrawArea(int left, int top, int right, int bottom)
If any part of the screen needs to be redrawn, then call this routine with the values of a box (in wi...
 
const char * GetPctWidth(TGHtmlElement *p, char *opt, char *ret)
Return the height and width, converting to percent if required ret must be at least 16 characters lon...
 
int GotoAnchor(const char *name)
Go to anchor position.
 
void AppToken(TGHtmlElement *pNew, TGHtmlElement *p, int offs)
Insert token pNew before token p.
 
int SetInsert(const char *insIx)
Set the position of the insertion cursor.
 
virtual ~TGHtml()
HTML widget destructor.
 
virtual void RadioChanged(const char *name, const char *val)
Emit RadioChanged() signal.
 
TGHtmlElement * fLoEndPtr
 
virtual int FormCreate(TGHtmlForm *, const char *, const char *)
 
TGHtmlBlock * fPSelStartBlock
 
int TextInsertCmd(int argc, char **argv)
Insert text into text token, or break token into two text tokens.
 
int IsLightColor(ColorStruct_t *p)
Check to see if the given color is too light to be easily distinguished from white.
 
void TokenizerAppend(const char *text)
Append text to the tokenizer engine.
 
void AddStyle(TGHtmlElement *p)
This routine adds information to the input texts that doesn't change when the display is resized or w...
 
virtual void MouseDown(const char *uri)
 
TGHtmlElement * MinMax(TGHtmlElement *p, int *pMin, int *pMax, int lineWidth, int hasbg)
Given a list of elements, compute the minimum and maximum width needed to render the list.
 
void ScheduleRedraw()
Make sure that a call to the Redraw() routine has been queued.
 
virtual char * ProcessScript(TGHtmlScript *)
 
void LostSelection()
Clear selection.
 
const char * GetHref(int x, int y, const char **target=0)
This routine searchs for a hyperlink beneath the coordinates x,y and returns a pointer to the HREF fo...
 
virtual TGFont * GetFont(int iFont)
The rendering and layout routines should call this routine in order to get a font structure.
 
void UpdateInsert()
Recompute the position of the insertion cursor based on the position in fIns.
 
char fFontValid[(N_FONT+7)/8]
 
TGHtmlElement * InsertToken(TGHtmlElement *pToken, char *zType, char *zArgs, int offs)
This routine takes a text representation of a token, converts it into an TGHtmlElement object and ins...
 
TGHtmlElement * fLastSized
 
void LayoutDoc()
Advance the layout as far as possible.
 
void BlockDraw(TGHtmlBlock *pBlock, Drawable_t wid, int left, int top, int width, int height, Pixmap_t pixmap)
Display a single HtmlBlock. This is where all the drawing happens.
 
void AppendBlock(TGHtmlElement *pToken, TGHtmlBlock *pBlock)
Append a block to the block list and insert the block into the element list immediately prior to the ...
 
void IndexToBlockIndex(SHtmlIndex_t sIndex, TGHtmlBlock **ppBlock, int *piIndex)
Convert an Element-based index into a Block-based index.
 
int GetColorByName(const char *zColor)
This routine returns an index between 0 and N_COLOR-1 which indicates which ColorStruct_t structure i...
 
void DrawImage(TGHtmlImageMarkup *image, Drawable_t wid, int left, int top, int right, int bottom)
Draw all or part of an image.
 
TGHtmlInput * fFormElemLast
 
void AnimateImage(TGHtmlImage *image)
TGImage *img = image->image;.
 
virtual void InputSelected(const char *name, const char *val)
Emit Selected() signal.
 
const char * TypeToName(int type)
Convert a type into a symbolic name.
 
virtual void CheckToggled(const char *name, Bool_t on, const char *val)
Emit CheckToggled() signal.
 
void EncodeText(TGString *str, const char *z)
Append to the given TString an encoded version of the given text.
 
int SelectionSet(const char *startIx, const char *endIx)
Set selection.
 
virtual void Clear(Option_t *="")
Erase all HTML from this widget and clear the screen.
 
void UpdateSelectionDisplay()
The fPSelStartBlock and fPSelEndBlock values have been changed.
 
TGHtmlBlock * fPSelEndBlock
 
ColorStruct_t * fSelectionColor
 
int Tokenize()
Process as much of the input HTML as possible.
 
virtual Bool_t HandleFocusChange(Event_t *event)
Handle focus change event.
 
void FormBlocks()
Add additional blocks to the block list in order to cover all elements on the element list.
 
int NextMarkupType(TGHtmlElement *p)
Return the next markup type [TGHtmlElement::NextMarkupType].
 
void MaxIndex(TGHtmlElement *p, int *pIndex, int isLast)
Find the maximum index for the given token.
 
virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t)
Process messages (GUI events) in the html widget.
 
void StringHW(const char *str, int *h, int *w)
Return the height and width of string.
 
virtual void ButtonClicked(const char *name, const char *val)
Emit ButtonClicked() signal.
 
ColorStruct_t * fHighlightBgColorPtr
 
int NameToType(char *zType)
Convert a markup name into a type integer.
 
void SetRuleRelief(int relief)
Sets relief mode of html rule.
 
virtual void UpdateBackgroundStart()
Start background update.
 
int CellSpacing(TGHtmlElement *pTable)
Return the appropriate cell spacing for the given table.
 
TGHtmlElement * FillOutBlock(TGHtmlBlock *p)
Recompute the following fields of the given block structure:
 
SHtmlStyleStack_t * fStyleStack
 
int ParseText(char *text, const char *index=0)
Appends (or insert at the specified position) the given HTML text to the end of any HTML text that ma...
 
virtual Bool_t HandleTimer(TTimer *timer)
Handle timer event.
 
ColorStruct_t * fNewLinkColor
 
TGHtmlListStart * fInnerList
 
void RedrawText(int y)
Call this routine to cause all of the rendered HTML at the virtual canvas coordinate of Y and beyond ...
 
int IndexMod(TGHtmlElement **pp, int *ip, char *cp)
Modify an index for both pointer and char +/-/=N.
 
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event.
 
virtual void MouseOver(const char *uri)
 
Bool_t HandleRadioButton(TGHtmlInput *p)
Handle radio button event.
 
void AppendArglist(TGString *str, TGHtmlMarkupElement *pElem)
Append all the arguments of the given markup to the given TGString.
 
virtual int FormAction(TGHtmlForm *, int)
 
virtual Bool_t HandleMotion(Event_t *event)
handle mouse motion events
 
TGHtmlInput * GetInputElement(int x, int y)
This routine searchs for a hyperlink beneath the coordinates x,y and returns a pointer to the HREF fo...
 
void FindIndexInBlock(TGHtmlBlock *pBlock, int x, TGHtmlElement **ppToken, int *pIndex)
Given a Block and an x coordinate, find the Index of the character that is closest to the given x coo...
 
void TableBgndImage(TGHtmlElement *p)
Set background picture of a html table.
 
void UpdateSelection(int forceUpdate)
Given the selection end-points in fSelBegin and fSelEnd, recompute pSelBeginBlock and fPSelEndBlock,...
 
TGHtmlElement * TokenByIndex(int N, int flag)
Return a pointer to the Nth TGHtmlElement in the list.
 
void SetBaseUri(const char *uri)
Sets base URI.
 
void AppendElement(TGHtmlElement *pElem)
Append the given TGHtmlElement to the tokenizers list of elements.
 
void DeleteControls()
Delete all input controls.
 
void ImageChanged(TGHtmlImage *image, int newWidth, int newHeight)
This routine is called when an image changes.
 
virtual TImage * LoadImage(const char *uri, int w=0, int h=0)
This is the default LoadImage() procedure.
 
ColorStruct_t * AllocColorByValue(ColorStruct_t *color)
Allocate system color by value.
 
void MakeInvisible(TGHtmlElement *p_first, TGHtmlElement *p_last)
Add the STY_Invisible style to every token between p_first and p_last.
 
virtual Bool_t HandleIdleEvent(TGIdleHandler *i)
Handles idle event.
 
TGHtmlInput * fFirstInput
 
int GetImageAt(int x, int y)
This routine searchs for an image beneath the coordinates x,y and returns the token number of the the...
 
void SetTableRelief(int relief)
Sets relief mode of html table.
 
void AppendText(TGString *str, TGHtmlElement *pFirst, TGHtmlElement *pEnd)
Append all text and space tokens between pStart and pEnd to the given TString.
 
void UnmapControls()
Unmap any input control that is currently mapped.
 
ColorStruct_t * AllocColor(const char *name)
Allocate system color by name.
 
TGString * TableText(TGHtmlTable *pTable, int flags)
Return text and images from a table as lists.
 
void DrawRect(Drawable_t drawable, TGHtmlElement *src, int x, int y, int w, int h, int depth, int relief)
Draw a rectangle.
 
int GetImageAlignment(TGHtmlElement *p)
Find the alignment for an image.
 
virtual int ProcessToken(TGHtmlElement *, const char *, int)
 
void HClear()
Erase all data from the HTML widget. Bring it back to an empty screen.
 
ColorStruct_t * fHighlightColorPtr
 
void AddSelectOptions(TGListBox *lb, TGHtmlElement *p, TGHtmlElement *pEnd)
The "p" argument points to a <select>.
 
GContext_t GetAnyGC()
Retrieve any valid GC.
 
TGHtmlElement * FindStartOfNextBlock(TGHtmlElement *p, int *pCnt)
Scan ahead looking for a place to put a block.
 
virtual Bool_t ItemLayout()
Layout html widget.
 
virtual int ProcessFrame()
 
TGHtmlBlock * fFirstBlock
 
void DrawTableBgnd(int x, int y, int w, int h, Drawable_t d, TImage *image)
Draw table background.
 
void RedrawBlock(TGHtmlBlock *p)
Redraw the TGHtmlBlock given.
 
const char * GetUid(const char *string)
Given a string, this procedure returns a unique identifier for the string.
 
void Redraw()
This routine is invoked in order to redraw all or part of the HTML widget.
 
int GetLinkColor(const char *zURL)
For the markup , find out if the URL has been visited before or not.
 
virtual char * GetFontName()
 
TGHtmlAnchor * fAnchorStart
 
int GetColorByValue(ColorStruct_t *pRef)
Find a color integer for the color whose color components are given by pRef.
 
void Sizer()
Compute the size of all elements in the widget.
 
const char * GetBaseUri() const
 
void DrawSelectionBackground(TGHtmlBlock *pBlock, Drawable_t Drawable_t, int x, int y)
Draw the selection background for the given block.
 
TGHtmlMarkupElement * MakeMarkupEntry(int objType, int type, int argc, int arglen[], char *argv[])
Make one markup entry.
 
GcCache_t fAGcCache[N_CACHE_GC]
 
SHtmlStyle_t PopStyleStack(int tag)
Pop a rendering style off of the stack.
 
void FreeColor(ColorStruct_t *color)
Free system color.
 
void ComputeVirtualSize()
Computes virtual size of html area.
 
int FormCount(TGHtmlInput *p, int radio)
Return the number of elments of type p in a form.
 
int TokenNumber(TGHtmlElement *p)
Return the token number for the given TGHtmlElement.
 
TGHtmlElement * AttrElem(const char *name, char *value)
Returns html element matching attribute name and value.
 
virtual int IsVisited(const char *)
 
GContext_t GetGC(int color, int font)
Return a GC from the cache.
 
virtual char * ResolveUri(const char *uri)
This function resolves the specified URI and returns the result in a newly allocated string.
 
int GetRulePadding() const
 
int InArea(TGHtmlMapArea *p, int left, int top, int x, int y)
Only support rect and circles for now.
 
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h)
Draw region defined by [x,y] [w,h].
 
void PushStyleStack(int tag, SHtmlStyle_t style)
Push a new rendering style onto the stack.
 
TGHtmlElement * fNextPlaced
 
SHtmlTokenMap_t * GetMarkupMap(int n)
Returns token map at location n.
 
void SizeAndLink(TGFrame *frame, TGHtmlInput *pElem)
'frame' is the child widget that is used to implement an input element.
 
int ControlSize(TGHtmlInput *p)
This routine implements the Sizer() function for <INPUT>, <SELECT> and <TEXTAREA> markup.
 
SHtmlTokenMap_t * NameToPmap(char *zType)
Returns token map matching zType name.
 
TGHtmlLayoutContext fLayoutContext
 
TGHtmlElement * FindEndNest(TGHtmlElement *sp, int en, TGHtmlElement *lp)
Find End tag en, but ignore intervening begin/end tag pairs.
 
void RedrawEverything()
Call this routine to force the entire widget to be redrawn.
 
char * DumpToken(TGHtmlElement *p)
For debugging purposes, print information about a token.
 
virtual void SubmitClicked(const char *val)
Emit SubmitClicked() signal.
 
void UnderlineLinks(int onoff)
Set/reset html links underline.
 
SHtmlStyle_t GetCurrentStyle()
Get the current rendering style.
 
int GetTableRelief() const
 
int MapControls()
Map any control that should be visible according to the current scroll position.
 
TGHtmlImage * GetImage(TGHtmlImageMarkup *p)
Given an.
 
char * GetTokenName(TGHtmlElement *p)
Returns token name of html element p.
 
const char * GetText() const
 
void ClearGcCache()
Clear the cache of GCs.
 
int GetIndex(const char *zIndex, TGHtmlElement **ppToken, int *pIndex)
This routine decodes a complete index specification.
 
ColorStruct_t * fOldLinkColor
 
TGHtmlForm * fLoFormStart
 
TGHtmlInput * fFormElemStart
 
ColorStruct_t * fApColor[N_COLOR]
 
virtual TGFrame * ProcessApplet(TGHtmlInput *)
 
int ElementCoords(TGHtmlElement *p, int i, int pct, int *coords)
Return coordinates of item.
 
TGHtmlElement * TableDimensions(TGHtmlTable *pStart, int lineWidth)
pStart points to a
 
void PrintList(TGHtmlElement *first, TGHtmlElement *last)
Print a list of tokens.
 
float ColorDistance(ColorStruct_t *pA, ColorStruct_t *pB)
Compute the squared distance between two colors.
 
void FlashCursor()
Flash the insertion cursor.
 
int GetDarkShadowColor(int iBgColor)
Given that the background color is iBgColor, figure out an appropriate color for the dark part of a 3...
 
int GetRuleRelief() const
 
TGHtml(const TGWindow *p, int w, int h, int id=-1)
HTML Widget constructor.
 
Bool_t HandleHtmlInput(TGHtmlInput *pr, Event_t *event)
Handle html input (button, checkbox, ...) event.
 
void AddFormInfo(TGHtmlElement *p)
Add the DOM control information for form elements.
 
int DecodeBaseIndex(const char *zBase, TGHtmlElement **ppToken, int *pIndex)
Given a base index name (without any modifiers) return a pointer to the token described,...
 
void UnlinkAndFreeBlock(TGHtmlBlock *pBlock)
Destroy the given Block after first unlinking it from the element list.
 
SHtmlExtensions_t * fExts
 
void ResetLayoutContext()
Reset the main layout context in the main widget.
 
THashTable implements a hash table to store TObject's.
 
An abstract interface to image processing library.
 
Mother of all ROOT objects.
 
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
 
Handles synchronous and a-synchronous timer events.
 
SHtmlExtensions_t * fNext
 
SHtmlStyleStack_t * fPNext
 
SHtmlTokenMap_t * fPCollide