114 if (
type != tag && priority[
type] > priority[tag]) {
119 if (
type == tag)
break;
134 }
else if (
size > 6) {
138 pStyle->
fFont += delta;
146 if (p_first == 0)
return;
147 p_first = p_first->
fPNext;
148 while (p_first && p_first != p_last) {
150 p_first = p_first->
fPNext;
169 const char *cp = str;
171 int *cr, i,
n = 0, sz = 4;
175 while (*cp && (!isdigit(*cp))) cp++;
176 if ((!*cp) || (!isdigit(*cp)))
break;
177 cr[
n] = (
int) strtol(cp, &ncp, 10);
178 if (cp == ncp)
break;
182 int *tmp =
new int[sz+4];
183 for (i = 0; i < sz; ++i) tmp[i] = cr[i];
224 int useNextStyle = 0;
228 static int header_sizes[] = { +2, +1, 1, 1, -1, -1 };
251 z =
p->MarkupArg(
"href", 0);
278 z =
p->MarkupArg(
"shape", 0);
281 if (strcasecmp(z,
"circle") == 0) {
283 }
else if (strcasecmp(z,
"poly") == 0) {
287 z =
p->MarkupArg(
"coords", 0);
318 z =
p->MarkupArg(
"text", 0);
323 z =
p->MarkupArg(
"bgcolor", 0);
330 z =
p->MarkupArg(
"link", 0);
335 z =
p->MarkupArg(
"vlink", 0);
340 z =
p->MarkupArg(
"alink", 0);
343 z =
p->MarkupArg(
"background", 0);
350 SetupBackgroundPic(img->GetPicture());
407 z =
p->MarkupArg(
"href", 0);
433 paraAlign =
p->GetAlignment(paraAlign);
547 z =
p->MarkupArg(
"size", 0);
551 }
else if (*z ==
'+') {
560 z =
p->MarkupArg(
"color", 0);
578 zUrl =
p->MarkupArg(
"action", 0);
579 if (zUrl == 0) zUrl =
fZBase;
581 if (zUrl == 0) zUrl =
StrDup(
"");
582 zMethod =
p->MarkupArg(
"method",
"GET");
614 if (i >= 1 && i <= 6) {
681 p->fFlags &= ~HTML_Visible;
736 if (
n > 0) list->
fCnt =
n;
777 if (e2)
while (e2->fPNext) e2 = e2->
fPNext;
779 if (e2 && e2 !=
p && ((e3 = b3 = e2->fPNext))) {
780 while (e3->fPNext) e3 = e3->fPNext;
782 e2->fPNext = 0; b2->
fPPrev = e3;
838 if (
style.fSubscript > -6 )
style.fSubscript--;
852 nextStyle.
fFlags &= ~STY_Preformatted;
856 z =
p->MarkupArg(
"bgcolor", 0);
886 paraAlign =
p->GetAlignment(rowAlign);
887 z =
p->MarkupArg(
"bgcolor", 0);
920 z =
p->MarkupArg(
"bgcolor", 0);
938 z =
p->MarkupArg(
"bgcolor", 0);
994 p->fStyle.fAlign = paraAlign;
1003 (
"Style font=%02d color=%02d bg=%02d "
1004 "align=%d flags=0x%04x token=%s\n",
1005 p->fStyle.fFont,
p->fStyle.fColor,
p->fStyle.fBgcolor,
1016 fFlags &= ~STYLER_RUNNING;
1026 z =
p->MarkupArg(
"background", 0);
1054 if (img)
delete img;
1095 for (; !stop &&
p;
p =
p ?
p->fPNext : 0) {
1097 p->fFlags &= ~HTML_Visible;
1100 if (iFont != (
int)
p->fStyle.fFont) {
1101 iFont =
p->fStyle.fFont;
1115 if (spaceWidth == 0) spaceWidth = font->
TextWidth(
" ", 1);
1116 text->fSpaceWidth = spaceWidth;
1122 if (spaceWidth == 0) spaceWidth = font->
TextWidth(
" ", 1);
1123 space->
fW = spaceWidth;
1126 p->fFlags &= ~HTML_Visible;
1133 z =
p->MarkupArg(
"rowspan",
"1");
1135 z =
p->MarkupArg(
"colspan",
"1");
1151 z =
p->MarkupArg(
"usemap", 0);
1152 if (z && *z ==
'#') {
1165 image->
fZAlt =
p->MarkupArg(
"alt",
"<image>");
1166 if (image->
fZAlt == 0) image->
fZAlt =
"<image>";
1179 if ((z =
p->MarkupArg(
"width", 0)) != 0) {
1181 if (z[strlen(z)-1] ==
'%')
w = 0;
1182 if (
w > 0) image->
fW =
w;
1184 if ((z =
p->MarkupArg(
"height", 0)) != 0) {
1186 if (
h > 0) image->
fH =
h;
1235 p->fFlags &= ~HTML_Visible;
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
static void ScaleFont(SHtmlStyle_t *pStyle, int delta)
Change the font size on the given style by the delta-amount given.
static int * GetCoords(const char *str, int *nptr)
Returns coordinates of string str.
#define TRACE(Flag, Args)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t TPoint TPoint const char text
char * StrDup(const char *str)
Duplicate the string str.
Encapsulate fonts used in the GUI system.
void GetFontMetrics(FontMetrics_t *m) const
Get font metrics.
Int_t TextWidth(const char *string, Int_t numChars=-1) const
A wrapper function for the more complicated interface of MeasureChars.
TGHtmlImageMarkup * fINext
TGHtmlImageMarkup * fPList
int GetOrderedListType(int dflt) override
The "type" argument to the given element might describe the type for an ordered list.
int GetUnorderedListType(int dflt) override
The "type" argument to the given element might describe a type for an unordered list.
const char * MarkupArg(const char *tag, const char *zDefault) override
Lookup an argument in the given markup with the name given.
TGHtmlElement * GetMap(const char *name)
Returns html map element.
virtual int FormCreate(TGHtmlForm *, const char *, const char *)
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 char * ProcessScript(TGHtmlScript *)
virtual TGFont * GetFont(int iFont)
The rendering and layout routines should call this routine in order to get a font structure.
ColorStruct_t * fApColor[32]
TGHtmlElement * fLastSized
int GetColorByName(const char *zColor)
This routine returns an index between 0 and N_COLOR-1 which indicates which ColorStruct_t structure i...
SHtmlStyleStack_t * fStyleStack
TGHtmlListStart * fInnerList
void AppendArglist(TGString *str, TGHtmlMarkupElement *pElem)
Append all the arguments of the given markup to the given TGString.
void TableBgndImage(TGHtmlElement *p)
Set background picture of a html table.
virtual TImage * LoadImage(const char *uri, int w=0, int h=0)
This is the default LoadImage() procedure.
void MakeInvisible(TGHtmlElement *p_first, TGHtmlElement *p_last)
Add the STY_Invisible style to every token between p_first and p_last.
ColorStruct_t * AllocColor(const char *name)
Allocate system color by name.
int GetImageAlignment(TGHtmlElement *p)
Find the alignment for an image.
int GetLinkColor(const char *zURL)
For the markup <a href=XXX>, find out if the URL has been visited before or not.
TGHtmlAnchor * fAnchorStart
void Sizer()
Compute the size of all elements in the widget.
SHtmlStyle_t PopStyleStack(int tag)
Pop a rendering style off of the stack.
virtual int IsVisited(const char *)
virtual char * ResolveUri(const char *uri)
This function resolves the specified URI and returns the result in a newly allocated string.
void PushStyleStack(int tag, SHtmlStyle_t style)
Push a new rendering style onto the stack.
int ControlSize(TGHtmlInput *p)
This routine implements the Sizer() function for <INPUT>, <SELECT> and <TEXTAREA> markup.
char * DumpToken(TGHtmlElement *p)
For debugging purposes, print information about a token.
SHtmlStyle_t GetCurrentStyle()
Get the current rendering style.
TGHtmlImage * GetImage(TGHtmlImageMarkup *p)
Given an <IMG> markup, find or create an appropriate TGHtmlImage object and return a pointer to that ...
TGHtmlInput * fFormElemStart
TGString wraps a TString and adds some graphics routines like drawing, size of string on screen depen...
const char * GetString() const
void SetBackgroundColor(Pixel_t) override
Set background color of the canvas frame.
TGViewFrame * fCanvas
frame containing the text
void SetBackgroundPixmap(Pixmap_t p) override
Set backgound pixmap.
TGGC fWhiteGC
graphics context used for scrolling generates GraphicsExposure events
virtual void SetBackgroundPixmap(Pixmap_t pixmap)
set background pixmap
An abstract interface to image processing library.
virtual UInt_t GetWidth() const
virtual Pixmap_t GetPixmap()
virtual UInt_t GetHeight() const
TString & Append(const char *cs)
Graphics context structure.
Pixmap_t fTile
tile pixmap for tiling operations
Bool_t fGraphicsExposures
boolean, should exposures be generated
Int_t fFillStyle
kFillSolid, kFillTiled, kFillStippled, kFillOpaeueStippled