|
@@ -149,7 +149,9 @@ type
|
|
fcaFlexShrink,
|
|
fcaFlexShrink,
|
|
fcaFlexWrap,
|
|
fcaFlexWrap,
|
|
fcaFlexFlow,
|
|
fcaFlexFlow,
|
|
- fcaFlex
|
|
|
|
|
|
+ fcaFlex,
|
|
|
|
+ fcaJustifyContent,
|
|
|
|
+ fcaJustifySelf
|
|
);
|
|
);
|
|
TFresnelCSSAttributes = set of TFresnelCSSAttribute;
|
|
TFresnelCSSAttributes = set of TFresnelCSSAttribute;
|
|
TFresnelCSSAttributeArray = array of TFresnelCSSAttribute;
|
|
TFresnelCSSAttributeArray = array of TFresnelCSSAttribute;
|
|
@@ -251,7 +253,9 @@ const
|
|
'flex-shrink',
|
|
'flex-shrink',
|
|
'flex-wrap',
|
|
'flex-wrap',
|
|
'flex-flow',
|
|
'flex-flow',
|
|
- 'flex'
|
|
|
|
|
|
+ 'flex',
|
|
|
|
+ 'justify-content',
|
|
|
|
+ 'justify-self'
|
|
);
|
|
);
|
|
|
|
|
|
type
|
|
type
|
|
@@ -407,6 +411,8 @@ type
|
|
function CheckFlexWrap(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
function CheckFlexWrap(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
function CheckFlexFlow(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
function CheckFlexFlow(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
function CheckFlex(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
function CheckFlex(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
|
|
+ function CheckJustifyContent(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
|
|
+ function CheckJustifySelf(Resolver: TCSSBaseResolver): boolean; virtual;
|
|
|
|
|
|
// utility check/parse functions
|
|
// utility check/parse functions
|
|
function CheckLinearGradient(Resolver: TCSSBaseResolver; Check: boolean): boolean; virtual;
|
|
function CheckLinearGradient(Resolver: TCSSBaseResolver; Check: boolean): boolean; virtual;
|
|
@@ -421,6 +427,7 @@ type
|
|
out aSystemFont: TCSSNumericalID; out aFamily, aStyle, aVariant, aWeight, aWidth, aSize, aLineHeight: TCSSString): boolean; virtual;
|
|
out aSystemFont: TCSSNumericalID; out aFamily, aStyle, aVariant, aWeight, aWidth, aSize, aLineHeight: TCSSString): boolean; virtual;
|
|
function ReadFlex(Resolver: TCSSBaseResolver; Check: boolean; out Grow, Shrink, Basis: TCSSString): boolean; virtual;
|
|
function ReadFlex(Resolver: TCSSBaseResolver; Check: boolean; out Grow, Shrink, Basis: TCSSString): boolean; virtual;
|
|
function ReadFlexFlow(Resolver: TCSSBaseResolver; Check: boolean; out Direction, Wrap: TCSSString): boolean; virtual;
|
|
function ReadFlexFlow(Resolver: TCSSBaseResolver; Check: boolean; out Direction, Wrap: TCSSString): boolean; virtual;
|
|
|
|
+ function ReadJustifySelf(Resolver: TCSSBaseResolver; Check: boolean; out MainKW, SubKW: TCSSNumericalID): boolean; virtual;
|
|
function IsColor(const ResValue: TCSSResCompValue): boolean; virtual;
|
|
function IsColor(const ResValue: TCSSResCompValue): boolean; virtual;
|
|
procedure SplitLonghandSides(var AttrIDs: TCSSNumericalIDArray; var Values: TCSSStringArray;
|
|
procedure SplitLonghandSides(var AttrIDs: TCSSNumericalIDArray; var Values: TCSSStringArray;
|
|
Top, Right, Bottom, Left: TFresnelCSSAttribute; const Found: TCSSStringArray);
|
|
Top, Right, Bottom, Left: TFresnelCSSAttribute; const Found: TCSSStringArray);
|
|
@@ -491,7 +498,9 @@ type
|
|
kwAbsolute = kwAuto+1;
|
|
kwAbsolute = kwAuto+1;
|
|
kwAlias = kwAbsolute+1;
|
|
kwAlias = kwAbsolute+1;
|
|
kwAllScroll = kwAlias+1; // all-scroll
|
|
kwAllScroll = kwAlias+1; // all-scroll
|
|
- kwBlock = kwAllScroll+1;
|
|
|
|
|
|
+ kwAnchorCenter = kwAllScroll+1; // anchor-center
|
|
|
|
+ kwBaseline = kwAnchorCenter+1;
|
|
|
|
+ kwBlock = kwBaseline+1;
|
|
kwBlockEnd = kwBlock+1; // block-end
|
|
kwBlockEnd = kwBlock+1; // block-end
|
|
kwBlockStart = kwBlockEnd+1; // block-start
|
|
kwBlockStart = kwBlockEnd+1; // block-start
|
|
kwBold = kwBlockStart+1;
|
|
kwBold = kwBlockStart+1;
|
|
@@ -524,15 +533,19 @@ type
|
|
kwDefault = kwDashed+1;
|
|
kwDefault = kwDashed+1;
|
|
kwDotted = kwDefault+1;
|
|
kwDotted = kwDefault+1;
|
|
kwDouble = kwDotted+1;
|
|
kwDouble = kwDotted+1;
|
|
- kwEResize = kwDouble+1; // e-resize
|
|
|
|
|
|
+ kwEnd = kwDouble+1;
|
|
|
|
+ kwEResize = kwEnd+1; // e-resize
|
|
kwEWResize = kwEResize+1; // ew-resize
|
|
kwEWResize = kwEResize+1; // ew-resize
|
|
kwExpanded = kwEWResize+1;
|
|
kwExpanded = kwEWResize+1;
|
|
kwExtraCondensed = kwExpanded+1; // extra-condensed
|
|
kwExtraCondensed = kwExpanded+1; // extra-condensed
|
|
kwExtraExpanded = kwExtraCondensed+1; // extra-expanded
|
|
kwExtraExpanded = kwExtraCondensed+1; // extra-expanded
|
|
- kwFitContent = kwExtraExpanded+1; // fit-content
|
|
|
|
|
|
+ kwFirst = kwExtraExpanded+1;
|
|
|
|
+ kwFitContent = kwFirst+1; // fit-content
|
|
kwFixed = kwFitContent+1;
|
|
kwFixed = kwFitContent+1;
|
|
kwFlex = kwFixed+1;
|
|
kwFlex = kwFixed+1;
|
|
- kwFlow = kwFlex+1;
|
|
|
|
|
|
+ kwFlexEnd = kwFlex+1;
|
|
|
|
+ kwFlexStart = kwFlexEnd+1;
|
|
|
|
+ kwFlow = kwFlexStart+1;
|
|
kwFlowRoot = kwFlow+1; // flow-root
|
|
kwFlowRoot = kwFlow+1; // flow-root
|
|
kwGrab = kwFlowRoot+1;
|
|
kwGrab = kwFlowRoot+1;
|
|
kwGrabbing = kwGrab+1;
|
|
kwGrabbing = kwGrab+1;
|
|
@@ -551,7 +564,8 @@ type
|
|
kwItalic = kwInset+1;
|
|
kwItalic = kwInset+1;
|
|
kwLarge = kwItalic+1;
|
|
kwLarge = kwItalic+1;
|
|
kwLarger = kwLarge+1;
|
|
kwLarger = kwLarge+1;
|
|
- kwLeft = kwLarger+1;
|
|
|
|
|
|
+ kwLast = kwLarger+1;
|
|
|
|
+ kwLeft = kwLast+1;
|
|
kwLighter = kwLeft+1;
|
|
kwLighter = kwLeft+1;
|
|
kwLocal = kwLighter+1;
|
|
kwLocal = kwLighter+1;
|
|
kwLTR = kwLocal+1;
|
|
kwLTR = kwLocal+1;
|
|
@@ -588,8 +602,11 @@ type
|
|
kwRowResize = kwRow+1; // row-resize
|
|
kwRowResize = kwRow+1; // row-resize
|
|
kwRowReverse = kwRowResize+1; // row-reversed
|
|
kwRowReverse = kwRowResize+1; // row-reversed
|
|
kwRTL = kwRowReverse+1;
|
|
kwRTL = kwRowReverse+1;
|
|
- kwScroll = kwRTL+1;
|
|
|
|
- kwSemiCondensed = kwScroll+1; // semi-condensed
|
|
|
|
|
|
+ kwSafe = kwRTL+1;
|
|
|
|
+ kwScroll = kwSafe+1;
|
|
|
|
+ kwSelfEnd = kwScroll+1; // self-end
|
|
|
|
+ kwSelfStart = kwSelfEnd+1; // self-start
|
|
|
|
+ kwSemiCondensed = kwSelfStart+1; // semi-condensed
|
|
kwSemiExpanded = kwSemiCondensed+1; // semi-expanded
|
|
kwSemiExpanded = kwSemiCondensed+1; // semi-expanded
|
|
kwSEResize = kwSemiExpanded+1; // se-resize
|
|
kwSEResize = kwSemiExpanded+1; // se-resize
|
|
kwSmall = kwSEResize+1;
|
|
kwSmall = kwSEResize+1;
|
|
@@ -598,11 +615,16 @@ type
|
|
kwSmaller = kwSmallCaption+1;
|
|
kwSmaller = kwSmallCaption+1;
|
|
kwSolid = kwSmaller+1;
|
|
kwSolid = kwSmaller+1;
|
|
kwSpace = kwSolid+1;
|
|
kwSpace = kwSolid+1;
|
|
- kwSResize = kwSpace+1; // s-resize
|
|
|
|
- kwStatic = kwSResize+1;
|
|
|
|
|
|
+ kwSpaceAround = kwSpace+1; // space-around
|
|
|
|
+ kwSpaceBetween = kwSpaceAround+1; // space-between
|
|
|
|
+ kwSpaceEvenly = kwSpaceBetween+1; // space-evenly
|
|
|
|
+ kwSResize = kwSpaceEvenly+1; // s-resize
|
|
|
|
+ kwStart = kwSResize+1;
|
|
|
|
+ kwStatic = kwStart+1;
|
|
kwStatusBar = kwStatic+1; // status-bar
|
|
kwStatusBar = kwStatic+1; // status-bar
|
|
kwSticky = kwStatusBar+1;
|
|
kwSticky = kwStatusBar+1;
|
|
- kwSWResize = kwSticky+1; // sw-resize
|
|
|
|
|
|
+ kwStretch = kwSticky+1;
|
|
|
|
+ kwSWResize = kwStretch+1; // sw-resize
|
|
kwText = kwSWResize+1;
|
|
kwText = kwSWResize+1;
|
|
kwThick = kwText+1;
|
|
kwThick = kwText+1;
|
|
kwThin = kwThick+1;
|
|
kwThin = kwThick+1;
|
|
@@ -610,7 +632,8 @@ type
|
|
kwTop = kwTo+1;
|
|
kwTop = kwTo+1;
|
|
kwUltraCondensed = kwTop+1; // ultra-condensed
|
|
kwUltraCondensed = kwTop+1; // ultra-condensed
|
|
kwUltraExpanded = kwUltraCondensed+1; // ultra-expanded
|
|
kwUltraExpanded = kwUltraCondensed+1; // ultra-expanded
|
|
- kwVerticalText = kwUltraExpanded+1; // vertical-text
|
|
|
|
|
|
+ kwUnsafe = kwUltraExpanded+1;
|
|
|
|
+ kwVerticalText = kwUnsafe+1; // vertical-text
|
|
kwVisible = kwVerticalText+1;
|
|
kwVisible = kwVerticalText+1;
|
|
kwWait = kwVisible+1;
|
|
kwWait = kwVisible+1;
|
|
kwWrap = kwWait+1; // w-resize
|
|
kwWrap = kwWait+1; // w-resize
|
|
@@ -729,6 +752,8 @@ type
|
|
Chk_FlexGrow_Dim: TCSSCheckAttrParams_Dimension;
|
|
Chk_FlexGrow_Dim: TCSSCheckAttrParams_Dimension;
|
|
Chk_FlexShrink_Dim: TCSSCheckAttrParams_Dimension;
|
|
Chk_FlexShrink_Dim: TCSSCheckAttrParams_Dimension;
|
|
Chk_FlexWrap_KeywordIDs: TCSSNumericalIDArray;
|
|
Chk_FlexWrap_KeywordIDs: TCSSNumericalIDArray;
|
|
|
|
+ Chk_JustifyContent_KeywordIDs: TCSSNumericalIDArray;
|
|
|
|
+ Chk_JustifySelf_KeywordIDs: TCSSNumericalIDArray;
|
|
|
|
|
|
constructor Create;
|
|
constructor Create;
|
|
procedure Init; override;
|
|
procedure Init; override;
|
|
@@ -1983,6 +2008,18 @@ begin
|
|
Result:=ReadFlex(Resolver,true,Grow,Shrink,Basis);
|
|
Result:=ReadFlex(Resolver,true,Grow,Shrink,Basis);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TFresnelCSSRegistry.CheckJustifyContent(Resolver: TCSSBaseResolver): boolean;
|
|
|
|
+begin
|
|
|
|
+ Result:=Resolver.CheckAttribute_Keyword(Chk_JustifyContent_KeywordIDs);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function TFresnelCSSRegistry.CheckJustifySelf(Resolver: TCSSBaseResolver): boolean;
|
|
|
|
+var
|
|
|
|
+ MainKW, SubKW: TCSSNumericalID;
|
|
|
|
+begin
|
|
|
|
+ Result:=ReadJustifySelf(Resolver,true,MainKW,SubKW);
|
|
|
|
+end;
|
|
|
|
+
|
|
function TFresnelCSSRegistry.ReadBackgroundRepeat(Resolver: TCSSBaseResolver; Check: boolean; out
|
|
function TFresnelCSSRegistry.ReadBackgroundRepeat(Resolver: TCSSBaseResolver; Check: boolean; out
|
|
X, Y: TCSSNumericalID): boolean;
|
|
X, Y: TCSSNumericalID): boolean;
|
|
// For example:
|
|
// For example:
|
|
@@ -2411,6 +2448,59 @@ begin
|
|
Result:=true;
|
|
Result:=true;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+function TFresnelCSSRegistry.ReadJustifySelf(Resolver: TCSSBaseResolver; Check: boolean; out
|
|
|
|
+ MainKW, SubKW: TCSSNumericalID): boolean;
|
|
|
|
+var
|
|
|
|
+ KW: TCSSNumericalID;
|
|
|
|
+begin
|
|
|
|
+ Result:=false;
|
|
|
|
+ MainKW:=0;
|
|
|
|
+ SubKW:=0;
|
|
|
|
+ repeat
|
|
|
|
+ case Resolver.CurComp.Kind of
|
|
|
|
+ rvkKeyword:
|
|
|
|
+ begin
|
|
|
|
+ KW:=Resolver.CurComp.KeywordID;
|
|
|
|
+ case KW of
|
|
|
|
+ kwAuto, kwNormal,kwStart,kwEnd,kwFlexStart,kwFlexEnd,kwSelfStart,kwSelfEnd,kwCenter,kwLeft,kwRight,
|
|
|
|
+ kwAnchorCenter,kwSafe,kwUnsafe:
|
|
|
|
+ begin
|
|
|
|
+ if MainKW>0 then
|
|
|
|
+ exit;
|
|
|
|
+ if SubKW>0 then
|
|
|
|
+ exit;
|
|
|
|
+ MainKW:=KW;
|
|
|
|
+ end;
|
|
|
|
+ kwFirst,kwLast:
|
|
|
|
+ begin
|
|
|
|
+ if (MainKW>0) and (MainKW<>kwBaseline) then
|
|
|
|
+ exit;
|
|
|
|
+ if SubKW>0 then
|
|
|
|
+ exit;
|
|
|
|
+ SubKW:=KW;
|
|
|
|
+ end;
|
|
|
|
+ kwBaseline:
|
|
|
|
+ begin
|
|
|
|
+ if MainKW>0 then
|
|
|
|
+ exit;
|
|
|
|
+ if (SubKW>0) and (not (SubKW in [kwFirst,kwLast])) then
|
|
|
|
+ exit;
|
|
|
|
+ MainKW:=KW;
|
|
|
|
+ end;
|
|
|
|
+ else
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+ rvkFunction:
|
|
|
|
+ if Resolver.CurComp.FunctionID=afVar then
|
|
|
|
+ exit(Check)
|
|
|
|
+ else
|
|
|
|
+ exit;
|
|
|
|
+ end;
|
|
|
|
+ until not Resolver.ReadNext;
|
|
|
|
+ Result:=true;
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TFresnelCSSRegistry.SplitOverflow(Resolver: TCSSBaseResolver;
|
|
procedure TFresnelCSSRegistry.SplitOverflow(Resolver: TCSSBaseResolver;
|
|
var AttrIDs: TCSSNumericalIDArray; var Values: TCSSStringArray);
|
|
var AttrIDs: TCSSNumericalIDArray; var Values: TCSSStringArray);
|
|
var
|
|
var
|
|
@@ -3232,6 +3322,8 @@ begin
|
|
AddKW(kwAbsolute,'absolute'); // e.g. position
|
|
AddKW(kwAbsolute,'absolute'); // e.g. position
|
|
AddKW(kwAlias,'alias'); // e.g. cursor
|
|
AddKW(kwAlias,'alias'); // e.g. cursor
|
|
AddKW(kwAllScroll,'all-scroll'); // e.g. cursor
|
|
AddKW(kwAllScroll,'all-scroll'); // e.g. cursor
|
|
|
|
+ AddKW(kwAnchorCenter,'anchor-center'); // e.g. justify-self
|
|
|
|
+ AddKW(kwBaseline,'baseline'); // e.g. justify-self
|
|
AddKW(kwBlock,'block'); // e.g. display
|
|
AddKW(kwBlock,'block'); // e.g. display
|
|
AddKW(kwBlockEnd,'block-end'); // e.g. clear
|
|
AddKW(kwBlockEnd,'block-end'); // e.g. clear
|
|
AddKW(kwBlockStart,'block-start'); // e.g. clear
|
|
AddKW(kwBlockStart,'block-start'); // e.g. clear
|
|
@@ -3265,14 +3357,18 @@ begin
|
|
AddKW(kwDefault,'default'); // e.g. cursor
|
|
AddKW(kwDefault,'default'); // e.g. cursor
|
|
AddKW(kwDotted,'dotted'); // e.g. border-style
|
|
AddKW(kwDotted,'dotted'); // e.g. border-style
|
|
AddKW(kwDouble,'double'); // e.g. border-style
|
|
AddKW(kwDouble,'double'); // e.g. border-style
|
|
|
|
+ AddKW(kwEnd,'end'); // e.g. justify-content
|
|
AddKW(kwEResize,'e-resize'); // e.g. cursor
|
|
AddKW(kwEResize,'e-resize'); // e.g. cursor
|
|
AddKW(kwEWResize,'ew-resize'); // e.g. cursor
|
|
AddKW(kwEWResize,'ew-resize'); // e.g. cursor
|
|
AddKW(kwExpanded,'expanded'); // e.g. font-width
|
|
AddKW(kwExpanded,'expanded'); // e.g. font-width
|
|
AddKW(kwExtraCondensed,'extra-condensed'); // e.g. font-width
|
|
AddKW(kwExtraCondensed,'extra-condensed'); // e.g. font-width
|
|
AddKW(kwExtraExpanded,'extra-expanded'); // e.g. font-width
|
|
AddKW(kwExtraExpanded,'extra-expanded'); // e.g. font-width
|
|
|
|
+ AddKW(kwFirst,'first'); // e.g. justify-self
|
|
AddKW(kwFitContent,'fit-content'); // e.g. width, min-width
|
|
AddKW(kwFitContent,'fit-content'); // e.g. width, min-width
|
|
AddKW(kwFixed,'fixed'); // e.g. position, background-attachment
|
|
AddKW(kwFixed,'fixed'); // e.g. position, background-attachment
|
|
AddKW(kwFlex,'flex'); // e.g. display
|
|
AddKW(kwFlex,'flex'); // e.g. display
|
|
|
|
+ AddKW(kwFlexEnd,'flex-end'); // e.g. justify-content
|
|
|
|
+ AddKW(kwFlexStart,'flex-start'); // e.g. justify-self
|
|
AddKW(kwFlow,'flow'); // e.g. display
|
|
AddKW(kwFlow,'flow'); // e.g. display
|
|
AddKW(kwFlowRoot,'flow-root'); // e.g. display
|
|
AddKW(kwFlowRoot,'flow-root'); // e.g. display
|
|
AddKW(kwGrab,'grab'); // e.g. cursor
|
|
AddKW(kwGrab,'grab'); // e.g. cursor
|
|
@@ -3292,6 +3388,7 @@ begin
|
|
AddKW(kwItalic,'italic'); // e.g. font-style
|
|
AddKW(kwItalic,'italic'); // e.g. font-style
|
|
AddKW(kwLarge,'large'); // e.g. font-size
|
|
AddKW(kwLarge,'large'); // e.g. font-size
|
|
AddKW(kwLarger,'larger'); // e.g. font-size
|
|
AddKW(kwLarger,'larger'); // e.g. font-size
|
|
|
|
+ AddKW(kwLast,'last'); // e.g. justify-self
|
|
AddKW(kwLeft,'left'); // e.g. clear, float
|
|
AddKW(kwLeft,'left'); // e.g. clear, float
|
|
AddKW(kwLighter,'lighter'); // e.g. font-weight
|
|
AddKW(kwLighter,'lighter'); // e.g. font-weight
|
|
AddKW(kwLocal,'local'); // e.g. background-attachment
|
|
AddKW(kwLocal,'local'); // e.g. background-attachment
|
|
@@ -3329,7 +3426,10 @@ begin
|
|
AddKW(kwRowResize,'row-resize'); // e.g. cursor
|
|
AddKW(kwRowResize,'row-resize'); // e.g. cursor
|
|
AddKW(kwRowReverse,'row-reverse'); // e.g. flex-direction
|
|
AddKW(kwRowReverse,'row-reverse'); // e.g. flex-direction
|
|
AddKW(kwRTL,'rtl'); // e.g. direction
|
|
AddKW(kwRTL,'rtl'); // e.g. direction
|
|
|
|
+ AddKW(kwSafe,'safe'); // e.g. justify-content
|
|
AddKW(kwScroll,'scroll'); // e.g. overflow-x, background-attachment
|
|
AddKW(kwScroll,'scroll'); // e.g. overflow-x, background-attachment
|
|
|
|
+ AddKW(kwSelfEnd,'self-end'); // e.g. justify-self
|
|
|
|
+ AddKW(kwSelfStart,'self-start'); // e.g. justify-self
|
|
AddKW(kwSemiCondensed,'semi-condensed'); // e.g. font-width
|
|
AddKW(kwSemiCondensed,'semi-condensed'); // e.g. font-width
|
|
AddKW(kwSemiExpanded,'semi-expanded'); // e.g. font-width
|
|
AddKW(kwSemiExpanded,'semi-expanded'); // e.g. font-width
|
|
AddKW(kwSEResize,'se-resize'); // e.g. cursor
|
|
AddKW(kwSEResize,'se-resize'); // e.g. cursor
|
|
@@ -3339,10 +3439,15 @@ begin
|
|
AddKW(kwSmaller,'smaller'); // e.g. font-size
|
|
AddKW(kwSmaller,'smaller'); // e.g. font-size
|
|
AddKW(kwSolid,'solid'); // e.g. border-style
|
|
AddKW(kwSolid,'solid'); // e.g. border-style
|
|
AddKW(kwSpace,'space'); // e.g. background-repeat
|
|
AddKW(kwSpace,'space'); // e.g. background-repeat
|
|
|
|
+ AddKW(kwSpaceAround,'space-around'); // e.g. justify-content
|
|
|
|
+ AddKW(kwSpaceBetween,'space-between'); // e.g. justify-content
|
|
|
|
+ AddKW(kwSpaceEvenly,'space-evenly'); // e.g. justify-content
|
|
AddKW(kwSResize,'s-resize'); // e.g. cursor
|
|
AddKW(kwSResize,'s-resize'); // e.g. cursor
|
|
|
|
+ AddKW(kwStart,'start'); // e.g. justify-content
|
|
AddKW(kwStatic,'static'); // e.g. position
|
|
AddKW(kwStatic,'static'); // e.g. position
|
|
AddKW(kwStatusBar,'status-bar'); // e.g. font
|
|
AddKW(kwStatusBar,'status-bar'); // e.g. font
|
|
AddKW(kwSticky,'sticky'); // e.g. position
|
|
AddKW(kwSticky,'sticky'); // e.g. position
|
|
|
|
+ AddKW(kwStretch,'stretch'); // e.g. justify-content
|
|
AddKW(kwSWResize,'sw-resize'); // e.g. cursor
|
|
AddKW(kwSWResize,'sw-resize'); // e.g. cursor
|
|
AddKW(kwText,'text'); // e.g. cursor
|
|
AddKW(kwText,'text'); // e.g. cursor
|
|
AddKW(kwThick,'thick'); // e.g. border-left-width
|
|
AddKW(kwThick,'thick'); // e.g. border-left-width
|
|
@@ -3351,6 +3456,7 @@ begin
|
|
AddKW(kwTop,'top'); // e.g. clear
|
|
AddKW(kwTop,'top'); // e.g. clear
|
|
AddKW(kwUltraCondensed,'ultra-condensed'); // e.g. font-width
|
|
AddKW(kwUltraCondensed,'ultra-condensed'); // e.g. font-width
|
|
AddKW(kwUltraExpanded,'ultra-expanded'); // e.g. font-width
|
|
AddKW(kwUltraExpanded,'ultra-expanded'); // e.g. font-width
|
|
|
|
+ AddKW(kwUnsafe,'unsafe'); // e.g. justify-content
|
|
AddKW(kwVerticalText,'vertical-text'); // e.g. cursor
|
|
AddKW(kwVerticalText,'vertical-text'); // e.g. cursor
|
|
AddKW(kwVisible,'visible'); // e.g. overflow-x, visible
|
|
AddKW(kwVisible,'visible'); // e.g. overflow-x, visible
|
|
AddKW(kwWait,'wait'); // e.g. cursor
|
|
AddKW(kwWait,'wait'); // e.g. cursor
|
|
@@ -3666,6 +3772,7 @@ begin
|
|
kwSEResize,kwSWResize,kwWResize,kwEWResize,kwNSResize,kwNESWResize,kwNWSEResize,
|
|
kwSEResize,kwSWResize,kwWResize,kwEWResize,kwNSResize,kwNESWResize,kwNWSEResize,
|
|
kwColResize,kwRowResize,kwAllScroll,kwZoomIn,kwZoomOut];
|
|
kwColResize,kwRowResize,kwAllScroll,kwZoomIn,kwZoomOut];
|
|
|
|
|
|
|
|
+ // flex
|
|
AddFresnelLonghand(fcaFlexBasis,false,@CheckFlexBasis,'auto');
|
|
AddFresnelLonghand(fcaFlexBasis,false,@CheckFlexBasis,'auto');
|
|
Chk_FlexBasis_Dim.AllowedKeywordIDs:=[kwAuto,kwMaxContent,kwMinContent,kwFitContent,kwContent];
|
|
Chk_FlexBasis_Dim.AllowedKeywordIDs:=[kwAuto,kwMaxContent,kwMinContent,kwFitContent,kwContent];
|
|
Chk_FlexBasis_Dim.AllowedUnits:=cuAllLengthsAndPercent;
|
|
Chk_FlexBasis_Dim.AllowedUnits:=cuAllLengthsAndPercent;
|
|
@@ -3685,6 +3792,15 @@ begin
|
|
AddFresnelShorthand(fcaFlex,@CheckFlex,@SplitFlex,@GetFlex,
|
|
AddFresnelShorthand(fcaFlex,@CheckFlex,@SplitFlex,@GetFlex,
|
|
[fcaFlexGrow,fcaFlexShrink,fcaFlexBasis]);
|
|
[fcaFlexGrow,fcaFlexShrink,fcaFlexBasis]);
|
|
|
|
|
|
|
|
+ // shared attributes of flex+grid
|
|
|
|
+ AddFresnelLonghand(fcaJustifyContent,false,@CheckJustifyContent,'normal');
|
|
|
|
+ Chk_JustifyContent_KeywordIDs:=[kwStart,kwEnd,kwFlexEnd,kwCenter,kwLeft,kwRight,kwNormal,
|
|
|
|
+ kwSpaceBetween,kwSpaceAround,kwSpaceEvenly,kwStretch,kwSafe,kwUnsafe];
|
|
|
|
+ AddFresnelLonghand(fcaJustifySelf,false,@CheckJustifySelf,'auto');
|
|
|
|
+ Chk_JustifySelf_KeywordIDs:=[kwAuto,kwNormal,kwStart,kwEnd,kwFlexStart,kwFlexEnd,
|
|
|
|
+ kwSelfStart,kwSelfEnd,kwCenter,kwLeft,kwRight,kwBaseline,kwFirst,kwLast,kwStretch,
|
|
|
|
+ kwAnchorCenter,kwSafe,kwUnsafe];
|
|
|
|
+
|
|
// pseudo classes - - - - - - - - - - - - - - - - - - - - - -
|
|
// pseudo classes - - - - - - - - - - - - - - - - - - - - - -
|
|
for PseudoCl in TFresnelCSSPseudoClass do
|
|
for PseudoCl in TFresnelCSSPseudoClass do
|
|
AddFresnelPseudoClass(PseudoCl);
|
|
AddFresnelPseudoClass(PseudoCl);
|