|
@@ -544,6 +544,16 @@ type
|
|
|
kwXXXLarge = kwXXSmall+1; // xxx-large
|
|
|
kwZoomIn = kwXXXLarge+1; // zoom-in
|
|
|
kwZoomOut = kwZoomIn+1; // zoom-out
|
|
|
+
|
|
|
+ // attribute functions
|
|
|
+ afUrl = afVar+1;
|
|
|
+ afLinearGradient = afUrl+1; // linear-gradient
|
|
|
+ afRadialGradient = afLinearGradient+1; // radial-gradient
|
|
|
+ afConicGradient = afRadialGradient+1; // conic-gradient
|
|
|
+ afRepeatingLinearGradient = afConicGradient+1; // repeating-linear-gradient
|
|
|
+ afRepeatingRadialGradient = afRepeatingLinearGradient+1; // repeating-radial-gradient
|
|
|
+ afRepeatingConicGradient = afRepeatingRadialGradient+1; // repeating-conic-gradient
|
|
|
+
|
|
|
public
|
|
|
FresnelAttrIDBase: TCSSNumericalID;
|
|
|
FresnelAttrs: array[TFresnelCSSAttribute] of TFresnelCSSAttrDesc;
|
|
@@ -552,16 +562,6 @@ type
|
|
|
FresnelPseudoClasses: array[TFresnelCSSPseudoClass] of TFresnelCSSPseudoClassDesc;
|
|
|
|
|
|
|
|
|
- // attribute functions
|
|
|
- afUrl,
|
|
|
- afLinearGradient, // linear-gradient
|
|
|
- afRadialGradient, // radial-gradient
|
|
|
- afConicGradient, // conic-gradient
|
|
|
- afRepeatingLinearGradient, // repeating-linear-gradient
|
|
|
- afRepeatingRadialGradient, // repeating-radial-gradient
|
|
|
- afRepeatingConicGradient: // repeating-conic-gradient
|
|
|
- TCSSNumericalID;
|
|
|
-
|
|
|
// check parameters
|
|
|
// The keyword lists are used by shorthands too, so they must not include
|
|
|
// base keywords like initial, inherit, unset, revert, revert-layer
|
|
@@ -2612,13 +2612,22 @@ end;
|
|
|
|
|
|
procedure TFresnelCSSRegistry.Init;
|
|
|
|
|
|
- procedure AddKW(ExpectedID: TCSSNumericalID; const KW: TCSSString);
|
|
|
+ procedure AddKW(ExpectedID: TCSSNumericalID; const aName: TCSSString);
|
|
|
+ var
|
|
|
+ Actual: TCSSNumericalID;
|
|
|
+ begin
|
|
|
+ Actual:=AddKeyword(aName);
|
|
|
+ if Actual=ExpectedID then exit;
|
|
|
+ raise EFresnel.Create('register keyword "'+aName+'" failed. Expected '+IntToStr(ExpectedID)+', but got '+IntToStr(Actual));
|
|
|
+ end;
|
|
|
+
|
|
|
+ procedure AddFunc(ExpectedID: TCSSNumericalID; const aName: TCSSString);
|
|
|
var
|
|
|
- ActualKW: TCSSNumericalID;
|
|
|
+ Actual: TCSSNumericalID;
|
|
|
begin
|
|
|
- ActualKW:=AddKeyword(KW);
|
|
|
- if ActualKW=ExpectedID then exit;
|
|
|
- raise EFresnel.Create('register keyword "'+KW+'" failed. Expected '+IntToStr(ExpectedID)+', but got '+IntToStr(ActualKW));
|
|
|
+ Actual:=AddAttrFunction(aName);
|
|
|
+ if Actual=ExpectedID then exit;
|
|
|
+ raise EFresnel.Create('register attribute function "'+aName+'" failed. Expected '+IntToStr(ExpectedID)+', but got '+IntToStr(Actual));
|
|
|
end;
|
|
|
|
|
|
var
|
|
@@ -2754,13 +2763,13 @@ begin
|
|
|
AddColorKeywords;
|
|
|
|
|
|
// css functions - - - - - - - - - - - - - - - - - - - - - -
|
|
|
- afUrl:=AddAttrFunction('url'); // e.g. background-image
|
|
|
- afLinearGradient:=AddAttrFunction('linear-gradient'); // e.g. background-image
|
|
|
- afRadialGradient:=AddAttrFunction('radial-gradient'); // e.g. background-image
|
|
|
- afConicGradient:=AddAttrFunction('conic-gradient'); // e.g. background-image
|
|
|
- afRepeatingLinearGradient:=AddAttrFunction('repeating-linear-gradient'); // e.g. background-image
|
|
|
- afRepeatingRadialGradient:=AddAttrFunction('repeating-radial-gradient'); // e.g. background-image
|
|
|
- afRepeatingConicGradient:=AddAttrFunction('repeating-conic-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afUrl,'url'); // e.g. background-image
|
|
|
+ AddFunc(afLinearGradient,'linear-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afRadialGradient,'radial-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afConicGradient,'conic-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afRepeatingLinearGradient,'repeating-linear-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afRepeatingRadialGradient,'repeating-radial-gradient'); // e.g. background-image
|
|
|
+ AddFunc(afRepeatingConicGradient,'repeating-conic-gradient'); // e.g. background-image
|
|
|
|
|
|
// attributes - - - - - - - - - - - - - - - - - - - - - -
|
|
|
Chk_Color_KeywordIDs:=[kwCurrentcolor];
|