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