version 1.41, 2000/01/17 15:48:00
|
version 1.42, 2000/01/24 10:53:24
|
Line 471 CSSInfoPtr css;
|
Line 471 CSSInfoPtr css;
|
ThotBool isHTML; |
ThotBool isHTML; |
#endif |
#endif |
{ |
{ |
STRING ptr; |
STRING ptrT, ptrR, ptrB, ptrL; |
|
|
ptr = cssRule; |
ptrT = SkipBlanksAndComments (cssRule); |
ParseCSSBorderTopWidth (element, tsch, context, cssRule, css, isHTML); |
/* First parse Border-Top */ |
ParseCSSBorderBottomWidth (element, tsch, context, ptr, css, isHTML); |
ptrR = ParseCSSBorderTopWidth (element, tsch, context, ptrT, css, isHTML); |
ParseCSSBorderLeftWidth (element, tsch, context, ptr, css, isHTML); |
ptrR = SkipBlanksAndComments (ptrR); |
ParseCSSBorderRightWidth (element, tsch, context, ptr, css, isHTML); |
if (*ptrR == ';' || *ptrR == EOS || *ptrR == ',') |
cssRule = SkipProperty (cssRule); |
{ |
|
cssRule = ptrR; |
|
/* apply the Border-Top to all */ |
|
ptrR = ParseCSSBorderRightWidth (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderBottomWidth (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderLeftWidth (element, tsch, context, ptrT, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Right */ |
|
ptrB = ParseCSSBorderRightWidth (element, tsch, context, ptrR, css, isHTML); |
|
ptrB = SkipBlanksAndComments (ptrB); |
|
if (*ptrB == ';' || *ptrB == EOS || *ptrB == ',') |
|
{ |
|
cssRule = ptrB; |
|
/* apply the Border-Top to Border-Bottom */ |
|
ptrB = ParseCSSBorderBottomWidth (element, tsch, context, ptrT, css, isHTML); |
|
/* apply the Border-Right to Border-Left */ |
|
ptrB = ParseCSSBorderLeftWidth (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Bottom */ |
|
ptrL = ParseCSSBorderBottomWidth (element, tsch, context, ptrB, css, isHTML); |
|
ptrL = SkipBlanksAndComments (ptrL); |
|
if (*ptrL == ';' || *ptrL == EOS || *ptrL == ',') |
|
{ |
|
cssRule = ptrL; |
|
/* apply the Border-Right to Border-Left */ |
|
ptrL = ParseCSSBorderLeftWidth (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
/* parse Border-Left */ |
|
cssRule = ParseCSSBorderLeftWidth (element, tsch, context, ptrL, css, isHTML); |
|
cssRule = SkipBlanksAndComments (cssRule); |
|
} |
|
} |
return (cssRule); |
return (cssRule); |
} |
} |
|
|
Line 504 ThotBool isHTML;
|
Line 540 ThotBool isHTML;
|
} |
} |
|
|
/*---------------------------------------------------------------------- |
/*---------------------------------------------------------------------- |
ParseCSSBorderRight : parse a CSS BorderRight |
ParseCSSBorderLeft : parse a CSS BorderLeft |
attribute string. |
attribute string. |
----------------------------------------------------------------------*/ |
----------------------------------------------------------------------*/ |
#ifdef __STDC__ |
#ifdef __STDC__ |
static STRING ParseCSSBorderRight (Element element, PSchema tsch, |
static STRING ParseCSSBorderLeft (Element element, PSchema tsch, |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
#else |
#else |
static STRING ParseCSSBorderRight (element, tsch, context, cssRule, css, isHTML) |
static STRING ParseCSSBorderLeft (element, tsch, context, cssRule, css, isHTML) |
Element element; |
Element element; |
PSchema tsch; |
PSchema tsch; |
PresentationContext context; |
PresentationContext context; |
Line 546 ThotBool isHTML;
|
Line 582 ThotBool isHTML;
|
} |
} |
|
|
/*---------------------------------------------------------------------- |
/*---------------------------------------------------------------------- |
ParseCSSBorderLeft : parse a CSS BorderLeft |
ParseCSSBorderRight : parse a CSS BorderRight |
attribute string. |
attribute string. |
----------------------------------------------------------------------*/ |
----------------------------------------------------------------------*/ |
#ifdef __STDC__ |
#ifdef __STDC__ |
static STRING ParseCSSBorderLeft (Element element, PSchema tsch, |
static STRING ParseCSSBorderRight (Element element, PSchema tsch, |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
#else |
#else |
static STRING ParseCSSBorderLeft (element, tsch, context, cssRule, css, isHTML) |
static STRING ParseCSSBorderRight (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
cssRule = SkipProperty (cssRule); |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorder : parse a CSS border |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorder (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorder (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
STRING ptrT, ptrR, ptrB, ptrL; |
|
|
|
ptrT = SkipBlanksAndComments (cssRule); |
|
/* First parse Border-Top */ |
|
ptrR = ParseCSSBorderTop (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = SkipBlanksAndComments (ptrR); |
|
if (*ptrR == ';' || *ptrR == EOS || *ptrR == ',') |
|
{ |
|
cssRule = ptrR; |
|
/* apply the Border-Top to all */ |
|
ptrR = ParseCSSBorderRight (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderLeft (element, tsch, context, ptrT, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Right */ |
|
ptrB = ParseCSSBorderRight (element, tsch, context, ptrR, css, isHTML); |
|
ptrB = SkipBlanksAndComments (ptrB); |
|
if (*ptrB == ';' || *ptrB == EOS || *ptrB == ',') |
|
{ |
|
cssRule = ptrB; |
|
/* apply the Border-Top to Border-Bottom */ |
|
ptrB = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
/* apply the Border-Right to Border-Left */ |
|
ptrB = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Bottom */ |
|
ptrL = ParseCSSBorderBottom (element, tsch, context, ptrB, css, isHTML); |
|
ptrL = SkipBlanksAndComments (ptrL); |
|
if (*ptrL == ';' || *ptrL == EOS || *ptrL == ',') |
|
{ |
|
cssRule = ptrL; |
|
/* apply the Border-Right to Border-Left */ |
|
ptrL = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
/* parse Border-Left */ |
|
cssRule = ParseCSSBorderLeft (element, tsch, context, ptrL, css, isHTML); |
|
cssRule = SkipBlanksAndComments (cssRule); |
|
} |
|
} |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderColorTop : parse a CSS BorderColorTop |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderColorTop (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderColorTop (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
cssRule = SkipProperty (cssRule); |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderColorLeft : parse a CSS BorderColorLeft |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderColorLeft (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderColorLeft (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
cssRule = SkipProperty (cssRule); |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderColorBottom : parse a CSS BorderColorBottom |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderColorBottom (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderColorBottom (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
cssRule = SkipProperty (cssRule); |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderColorRight : parse a CSS BorderColorRight |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderColorRight (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderColorRight (element, tsch, context, cssRule, css, isHTML) |
Element element; |
Element element; |
PSchema tsch; |
PSchema tsch; |
PresentationContext context; |
PresentationContext context; |
Line 583 CSSInfoPtr css;
|
Line 767 CSSInfoPtr css;
|
ThotBool isHTML; |
ThotBool isHTML; |
#endif |
#endif |
{ |
{ |
|
STRING ptrT, ptrR, ptrB, ptrL; |
|
|
|
ptrT = SkipBlanksAndComments (cssRule); |
|
/* First parse Border-Top */ |
|
ptrR = ParseCSSBorderTop (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = SkipBlanksAndComments (ptrR); |
|
if (*ptrR == ';' || *ptrR == EOS || *ptrR == ',') |
|
{ |
|
cssRule = ptrR; |
|
/* apply the Border-Top to all */ |
|
ptrR = ParseCSSBorderRight (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderLeft (element, tsch, context, ptrT, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Right */ |
|
ptrB = ParseCSSBorderRight (element, tsch, context, ptrR, css, isHTML); |
|
ptrB = SkipBlanksAndComments (ptrB); |
|
if (*ptrB == ';' || *ptrB == EOS || *ptrB == ',') |
|
{ |
|
cssRule = ptrB; |
|
/* apply the Border-Top to Border-Bottom */ |
|
ptrB = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
/* apply the Border-Right to Border-Left */ |
|
ptrB = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Bottom */ |
|
ptrL = ParseCSSBorderBottom (element, tsch, context, ptrB, css, isHTML); |
|
ptrL = SkipBlanksAndComments (ptrL); |
|
if (*ptrL == ';' || *ptrL == EOS || *ptrL == ',') |
|
{ |
|
cssRule = ptrL; |
|
/* apply the Border-Right to Border-Left */ |
|
ptrL = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
/* parse Border-Left */ |
|
cssRule = ParseCSSBorderLeft (element, tsch, context, ptrL, css, isHTML); |
|
cssRule = SkipBlanksAndComments (cssRule); |
|
} |
|
} |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderStyleTop : parse a CSS BorderStyleTop |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderStyleTop (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderStyleTop (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
cssRule = SkipProperty (cssRule); |
cssRule = SkipProperty (cssRule); |
return (cssRule); |
return (cssRule); |
} |
} |
|
|
/*---------------------------------------------------------------------- |
/*---------------------------------------------------------------------- |
ParseCSSBorderStyle : parse a CSS border-style |
ParseCSSBorderStyleLeft : parse a CSS BorderStyleLeft |
attribute string. |
attribute string. |
----------------------------------------------------------------------*/ |
----------------------------------------------------------------------*/ |
#ifdef __STDC__ |
#ifdef __STDC__ |
static STRING ParseCSSBorderStyle (Element element, PSchema tsch, |
static STRING ParseCSSBorderStyleLeft (Element element, PSchema tsch, |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
#else |
#else |
static STRING ParseCSSBorderStyle (element, tsch, context, cssRule, css, isHTML) |
static STRING ParseCSSBorderStyleLeft (element, tsch, context, cssRule, css, isHTML) |
Element element; |
Element element; |
PSchema tsch; |
PSchema tsch; |
PresentationContext context; |
PresentationContext context; |
Line 609 ThotBool isHTML;
|
Line 857 ThotBool isHTML;
|
} |
} |
|
|
/*---------------------------------------------------------------------- |
/*---------------------------------------------------------------------- |
ParseCSSBorder : parse a CSS border |
ParseCSSBorderStyleBottom : parse a CSS BorderStyleBottom |
attribute string. |
attribute string. |
----------------------------------------------------------------------*/ |
----------------------------------------------------------------------*/ |
#ifdef __STDC__ |
#ifdef __STDC__ |
static STRING ParseCSSBorder (Element element, PSchema tsch, |
static STRING ParseCSSBorderStyleBottom (Element element, PSchema tsch, |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
#else |
#else |
static STRING ParseCSSBorder (element, tsch, context, cssRule, css, isHTML) |
static STRING ParseCSSBorderStyleBottom (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
cssRule = SkipProperty (cssRule); |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
|
ParseCSSBorderStyleRight : parse a CSS BorderStyleRight |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderStyleRight (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderStyleRight (element, tsch, context, cssRule, css, isHTML) |
Element element; |
Element element; |
PSchema tsch; |
PSchema tsch; |
PresentationContext context; |
PresentationContext context; |
Line 630 ThotBool isHTML;
|
Line 899 ThotBool isHTML;
|
} |
} |
|
|
/*---------------------------------------------------------------------- |
/*---------------------------------------------------------------------- |
|
ParseCSSBorderStyleStyle : parse a CSS border-style |
|
attribute string. |
|
----------------------------------------------------------------------*/ |
|
#ifdef __STDC__ |
|
static STRING ParseCSSBorderStyle (Element element, PSchema tsch, |
|
PresentationContext context, STRING cssRule, CSSInfoPtr css, ThotBool isHTML) |
|
#else |
|
static STRING ParseCSSBorderStyle (element, tsch, context, cssRule, css, isHTML) |
|
Element element; |
|
PSchema tsch; |
|
PresentationContext context; |
|
STRING cssRule; |
|
CSSInfoPtr css; |
|
ThotBool isHTML; |
|
#endif |
|
{ |
|
STRING ptrT, ptrR, ptrB, ptrL; |
|
|
|
ptrT = SkipBlanksAndComments (cssRule); |
|
/* First parse Border-Top */ |
|
ptrR = ParseCSSBorderTop (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = SkipBlanksAndComments (ptrR); |
|
if (*ptrR == ';' || *ptrR == EOS || *ptrR == ',') |
|
{ |
|
cssRule = ptrR; |
|
/* apply the Border-Top to all */ |
|
ptrR = ParseCSSBorderRight (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
ptrR = ParseCSSBorderLeft (element, tsch, context, ptrT, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Right */ |
|
ptrB = ParseCSSBorderRight (element, tsch, context, ptrR, css, isHTML); |
|
ptrB = SkipBlanksAndComments (ptrB); |
|
if (*ptrB == ';' || *ptrB == EOS || *ptrB == ',') |
|
{ |
|
cssRule = ptrB; |
|
/* apply the Border-Top to Border-Bottom */ |
|
ptrB = ParseCSSBorderBottom (element, tsch, context, ptrT, css, isHTML); |
|
/* apply the Border-Right to Border-Left */ |
|
ptrB = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
{ |
|
/* parse Border-Bottom */ |
|
ptrL = ParseCSSBorderBottom (element, tsch, context, ptrB, css, isHTML); |
|
ptrL = SkipBlanksAndComments (ptrL); |
|
if (*ptrL == ';' || *ptrL == EOS || *ptrL == ',') |
|
{ |
|
cssRule = ptrL; |
|
/* apply the Border-Right to Border-Left */ |
|
ptrL = ParseCSSBorderLeft (element, tsch, context, ptrR, css, isHTML); |
|
} |
|
else |
|
/* parse Border-Left */ |
|
cssRule = ParseCSSBorderLeft (element, tsch, context, ptrL, css, isHTML); |
|
cssRule = SkipBlanksAndComments (cssRule); |
|
} |
|
} |
|
return (cssRule); |
|
} |
|
|
|
/*---------------------------------------------------------------------- |
ParseCSSClear : parse a CSS clear attribute string |
ParseCSSClear : parse a CSS clear attribute string |
----------------------------------------------------------------------*/ |
----------------------------------------------------------------------*/ |
#ifdef __STDC__ |
#ifdef __STDC__ |
Line 2739 static CSSProperty CSSProperties[] =
|
Line 3072 static CSSProperty CSSProperties[] =
|
{TEXT ("border-bottom-width"), ParseCSSBorderBottomWidth}, |
{TEXT ("border-bottom-width"), ParseCSSBorderBottomWidth}, |
{TEXT ("border-left-width"), ParseCSSBorderLeftWidth}, |
{TEXT ("border-left-width"), ParseCSSBorderLeftWidth}, |
{TEXT ("border-width"), ParseCSSBorderWidth}, |
{TEXT ("border-width"), ParseCSSBorderWidth}, |
|
{TEXT ("border-top-color"), ParseCSSBorderColorTop}, |
|
{TEXT ("border-right-color"), ParseCSSBorderColorRight}, |
|
{TEXT ("border-bottom-color"), ParseCSSBorderColorBottom}, |
|
{TEXT ("border-left-color"), ParseCSSBorderColorLeft}, |
{TEXT ("border-color"), ParseCSSBorderColor}, |
{TEXT ("border-color"), ParseCSSBorderColor}, |
|
{TEXT ("border-top-style"), ParseCSSBorderStyleTop}, |
|
{TEXT ("border-right-style"), ParseCSSBorderStyleRight}, |
|
{TEXT ("border-bottom-style"), ParseCSSBorderStyleBottom}, |
|
{TEXT ("border-left-style"), ParseCSSBorderStyleLeft}, |
{TEXT ("border-style"), ParseCSSBorderStyle}, |
{TEXT ("border-style"), ParseCSSBorderStyle}, |
{TEXT ("border-top"), ParseCSSBorderTop}, |
{TEXT ("border-top"), ParseCSSBorderTop}, |
{TEXT ("border-right"), ParseCSSBorderRight}, |
{TEXT ("border-right"), ParseCSSBorderRight}, |