115 if (
type != tag && priority[
type] > priority[tag]) {
120 if (
type == tag)
break;
135 }
else if (
size > 6) {
139 pStyle->
fFont += delta;
147 if (p_first == 0)
return;
148 p_first = p_first->
fPNext;
149 while (p_first && p_first != p_last) {
151 p_first = p_first->
fPNext;
170 const char *cp = str;
172 int *cr, i,
n = 0, sz = 4;
176 while (*cp && (!isdigit(*cp))) cp++;
177 if ((!*cp) || (!isdigit(*cp)))
break;
178 cr[
n] = (
int) strtol(cp, &ncp, 10);
179 if (cp == ncp)
break;
183 int *tmp =
new int[sz+4];
184 for (i = 0; i < sz; ++i) tmp[i] = cr[i];
225 int useNextStyle = 0;
229 static int header_sizes[] = { +2, +1, 1, 1, -1, -1 };
252 z =
p->MarkupArg(
"href", 0);
279 z =
p->MarkupArg(
"shape", 0);
282 if (strcasecmp(z,
"circle") == 0) {
284 }
else if (strcasecmp(z,
"poly") == 0) {
288 z =
p->MarkupArg(
"coords", 0);
319 z =
p->MarkupArg(
"text", 0);
324 z =
p->MarkupArg(
"bgcolor", 0);
331 z =
p->MarkupArg(
"link", 0);
336 z =
p->MarkupArg(
"vlink", 0);
341 z =
p->MarkupArg(
"alink", 0);
344 z =
p->MarkupArg(
"background", 0);
351 SetupBackgroundPic(img->GetPicture());
408 z =
p->MarkupArg(
"href", 0);
434 paraAlign =
p->GetAlignment(paraAlign);
483 if (list->fLPrev == 0) {
485 list->fCompact = (list->MarkupArg(
"compact", 0) != 0);
486 }
else if (list->fLPrev->fLPrev == 0) {
493 list->fLtype = list->GetUnorderedListType(list->fLtype);
533 list->
fCompact = (list->MarkupArg(
"compact", 0) != 0);
548 z =
p->MarkupArg(
"size", 0);
552 }
else if (*z ==
'+') {
561 z =
p->MarkupArg(
"color", 0);
579 zUrl =
p->MarkupArg(
"action", 0);
580 if (zUrl == 0) zUrl =
fZBase;
582 if (zUrl == 0) zUrl =
StrDup(
"");
583 zMethod =
p->MarkupArg(
"method",
"GET");
584 snprintf(zToken, 50,
" %d form ", form->
fFormId);
615 if (i >= 1 && i <= 6) {
682 p->fFlags &= ~HTML_Visible;
734 z = list->MarkupArg(
"start", 0);
737 if (
n > 0) list->fCnt =
n;
778 if (e2)
while (e2->fPNext) e2 = e2->
fPNext;
780 if (e2 && e2 !=
p && ((e3 = b3 = e2->fPNext))) {
781 while (e3->fPNext) e3 = e3->fPNext;
783 e2->fPNext = 0; b2->
fPPrev = e3;
839 if (
style.fSubscript > -6 )
style.fSubscript--;
853 nextStyle.
fFlags &= ~STY_Preformatted;
857 z =
p->MarkupArg(
"bgcolor", 0);
887 paraAlign =
p->GetAlignment(rowAlign);
888 z =
p->MarkupArg(
"bgcolor", 0);
921 z =
p->MarkupArg(
"bgcolor", 0);
939 z =
p->MarkupArg(
"bgcolor", 0);
995 p->fStyle.fAlign = paraAlign;
1004 (
"Style font=%02d color=%02d bg=%02d "
1005 "align=%d flags=0x%04x token=%s\n",
1006 p->fStyle.fFont,
p->fStyle.fColor,
p->fStyle.fBgcolor,
1017 fFlags &= ~STYLER_RUNNING;
1027 z =
p->MarkupArg(
"background", 0);
1055 if (img)
delete img;
1096 for (; !stop &&
p;
p =
p ?
p->fPNext : 0) {
1098 p->fFlags &= ~HTML_Visible;
1101 if (iFont != (
int)
p->fStyle.fFont) {
1102 iFont =
p->fStyle.fFont;
1116 if (spaceWidth == 0) spaceWidth = font->
TextWidth(
" ", 1);
1117 text->fSpaceWidth = spaceWidth;
1123 if (spaceWidth == 0) spaceWidth = font->
TextWidth(
" ", 1);
1124 space->
fW = spaceWidth;
1127 p->fFlags &= ~HTML_Visible;
1134 z =
p->MarkupArg(
"rowspan",
"1");
1136 z =
p->MarkupArg(
"colspan",
"1");
1152 z =
p->MarkupArg(
"usemap", 0);
1153 if (z && *z ==
'#') {
1166 image->
fZAlt =
p->MarkupArg(
"alt",
"<image>");
1167 if (image->
fZAlt == 0) image->
fZAlt =
"<image>";
1180 if ((z =
p->MarkupArg(
"width", 0)) != 0) {
1182 if (z[strlen(z)-1] ==
'%')
w = 0;
1183 if (
w > 0) image->
fW =
w;
1185 if ((z =
p->MarkupArg(
"height", 0)) != 0) {
1187 if (
h > 0) image->
fH =
h;
1236 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.
static Pixmap_t GetPixmap(TImage *timg)
Returns image pixmap.
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 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