Extends the CSS Value object with a function for obtaining OpenType features.
This represents a parsed value of a css property.
Public Member Functions | |
virtual Loonim.TextureNode | ToLoonimNode (RenderableData context) |
Converts this to a Loonim node. More... | |
virtual void | GetOpenTypeFeatures (TextRenderingProperty trp, List< OpenTypeFeature > features) |
Value () | |
Creates a new empty value. More... | |
Value | GetByType (ValueType type) |
Some CSS values are sets of entries. This attempts to select the first entry of the given type. More... | |
virtual Value | ReadStartValue (CssLexer lexer) |
When a unit declares that it has a start identifier, such as #, this reads the rest of it's value. More... | |
Value | GetByTypes (params ValueType[] types) |
Some CSS values are sets of entries. This attempts to select the first entry of the given type. More... | |
Value | GetEntryWithoutAttribute (string funcName) |
Some CSS values are sets of entries. This attempts to select the entry without the named attribute. More... | |
Value | GetEntryWithAttribute (string funcName, params string[] values) |
Some CSS values are sets of entries. This attempts to select the entry which has an attribute which matches one of the given values. More... | |
void | SetSpecifity (int val) |
Sets the specifity for this and all child values. More... | |
void | SetImportant (bool important) |
Sets this and all child values as being important. More... | |
virtual bool | IsType (Type type) |
Checks if this is a particular type. Note that this is always false for inherit/ initial (as they pass the type through them). More... | |
virtual void | OnValueReady (CssLexer lexer) |
Called after a value has been loaded from the stream. Functions etc get it too. This is used to, for example, map a value to a faster internal representation. More... | |
Value | Copy () |
Copies this value. More... | |
virtual float | GetRawDecimal () |
Obtains the underlying decimal value, if there is one. More... | |
virtual void | SetRawDecimal (float value) |
Sets a raw decimal value to this object. Used by the animation system. More... | |
virtual float | GetDecimal (RenderableData context, CssProperty property) |
If this is a decimal, the raw decimal value. This is generally the main output. More... | |
float | GetDecimal (RenderableData context, ValueAxis axis) |
If this is a decimal, the raw decimal value. This is generally the main output. This overload explicitly tells it to use the vertical axis or not (e.g. when resolving %). More... | |
float | GetDecimal (RenderableData context, bool verticalAxis) |
If this is a decimal, the raw decimal value. This is generally the main output. This overload explicitly tells it to use the vertical axis or not (e.g. when resolving %). More... | |
virtual string | GetText (RenderableData context, CssProperty property) |
If this is a text value, e.g. "auto", the raw text value. More... | |
virtual bool | GetBoolean (RenderableData context, CssProperty property) |
If this is a boolean, the raw bool value. More... | |
int | GetInteger (RenderableData context, CssProperty property) |
If this is a pixel integer, the raw pixel value. More... | |
virtual bool | Equals (Value value) |
Checks if two values are equal. More... | |
ValueSet | ToSet () |
Make this value a set. If it is already a set, the value is returned unchanged. Otherwise, a set of 1 is created. More... | |
Vector3 | GetVector (RenderableData context, CssProperty property) |
Converts this value to a Unity Vector3. More... | |
Quaternion | GetQuaternion (RenderableData context, CssProperty property) |
Converts this value to a Unity Quaternion. More... | |
virtual ImageFormat | GetImage (RenderableData context, CssProperty property) |
Gets the value as an image, if it is one. More... | |
virtual SelectorMatcher | GetSelectorMatcher () |
Converts this value into a suitable selector matcher. Typically either a local matcher or a structural one. More... | |
virtual Blaze.VectorPath | GetPath (RenderableData context, CssProperty property) |
Gets this value as a vector path (or null if it isn't one). More... | |
Color | GetColour () |
Converts this value to a context-free Unity colour. More... | |
Color | GetColour (RenderableData context, CssProperty property) |
Converts this value to a Unity colour. More... | |
bool | FunctionalEquals (Css.Value other) |
Checks if this is the same set of one or more functions as the other value. Note that this only checks if they are the same functions in the same order. It's not a complete equiv check (and its used by the animation system to interpolate CSS transform). More... | |
override string | ToString () |
Converts this value to a css useable string. More... | |
bool | AllSameValues () |
Are all entries in this rectangle the same? More... | |
virtual IEnumerator< Value > | GetEnumerator () |
virtual ShapeProvider | ToShape (SVGElement context, RenderContext renderer, out Css.Value value) |
Gets the shape that this CSS value represents. More... | |
Static Public Member Functions | |
static Css.Value | Load (string text) |
Public Attributes | |
bool | Important |
True if this value is important. More... | |
int | Specifity =1<<28 |
How specific this value is. A low specifity value should never overwrite a high specifity one. By default it's a very high specifity (but not so high that it overflows if it's "important"!) More... | |
Protected Member Functions | |
virtual Value | Clone () |
Duplicates this value. More... | |
Protected Attributes | |
ValueType | Type_ =ValueType.Null |
The type of value this is. More... | |
Static Package Attributes | |
static readonly Value | Empty =new Units.DecimalUnit(0) |
Represents an empty value. More... | |
Properties | |
ValueType | Type [get, set] |
bool | IsCommaArray [get] |
Checks if this value is a,comma,array. More... | |
virtual bool | IsFunction [get] |
Checks if this is a function. More... | |
virtual bool | IsAuto [get] |
Checks if this is the 'auto' keyword More... | |
virtual bool | IsColour [get] |
Checks if this is a suitable colour. More... | |
virtual bool | IsCached [get] |
True if this is a 'cached' value. See CachedIntegerUnit. More... | |
virtual Css.Value | CachedOrigin [get] |
The original value of a cached object. More... | |
virtual bool | IsAbsolute [get] |
Checks if this is an absolute value and is not a percentage/em/ rectangle containing percents. More... | |
virtual string | Identifier [get] |
Used for locating e.g. a function contained within a set. More... | |
string | Hash [get] |
Text is e.g. "afile.svg#something". This is either 'something' or null. More... | |
string | Text [get] |
Gets context-free text such as font family names. More... | |
virtual int | Count [get, set] |
The number of internal values. More... | |
virtual Value | this[int index] [get, set] |
virtual Value | this[string index] [get, set] |
virtual bool | IsInherit [get] |
Is this an inheriting value? More... | |
virtual Css.Value | Computed [get] |
Resolves through e.g. inherit and initial. More... | |
virtual string | HexString [get] |
Converts this value into a hex string that is 2 characters long. More... | |
Private Member Functions | |
IEnumerator IEnumerable. | GetEnumerator () |
Static Private Member Functions | |
static void | CreateAxisProperties () |
Creates vertical and horizontal CSS properties which are used when needing to specify which axis a % value is relative to. More... | |
Static Private Attributes | |
static CssProperty | VerticalProperty |
A vertical CSS property. Used when needing to specify that a % is on Y. More... | |
static CssProperty | HorizontalProperty |
A horizontal CSS property. Used when needing to specify that a % is on X. More... | |
static CssProperty | DepthProperty |
A depth CSS property. Used when needing to specify that a % is on Z. More... | |
|
inline |
Creates a new empty value.
|
inline |
Are all entries in this rectangle the same?
|
inlineprotectedvirtual |
Duplicates this value.
Reimplemented in Css.InterpolationMatrix3D, Css.Functions.LinearGradientFunction, Css.InterpolationMatrix, Css.ValueSet, Css.Keywords.Inherit, Css.Units.TextUnit, Css.Functions.SVGUrlFunction, Css.Units.SelectorBlockUnit, Css.Units.ColourUnit, Css.Functions.SVGRectFunction, Css.Functions.Rotate, Css.Functions.MatrixFunction, Css.Functions.Steps, Css.Functions.Hsla, Css.Units.DecimalUnit, Css.Units.SquareBracketUnit, Css.Functions.RgbaFunction, Css.Functions.Skew, Css.Units.AtRuleUnit, Css.Functions.NthChildFunction, Css.Functions.NthLastChildFunction, Css.Functions.NthLastOfTypeFunction, Css.Functions.NthOfTypeFunction, Css.Functions.CubicBezier, Css.Functions.Translate, Css.Units.CachedIntegerUnit, Css.Functions.Calc, Css.Functions.Scale, Css.Units.FontUnit, Css.Units.ViewPortMaxUnit, Css.Units.ViewPortMinUnit, Css.Functions.Perspective, Css.Functions.VarFunction, Css.Units.DegreesUnit, Css.Units.PercentUnit, Css.Functions.SkewZ, Css.Functions.UrlFunction, Css.Functions.SkewX, Css.Functions.SkewY, Css.ShaderSetFunction, Css.Functions.TranslateX, Css.Functions.TranslateY, Css.Functions.TranslateZ, Css.Units.ChUnit, Css.Units.ExUnit, Css.Functions.ScaleX, Css.Functions.ScaleY, Css.Functions.ScaleZ, Css.Keywords.Initial, Css.Units.ViewPortHeightUnit, Css.Units.ViewPortWidthUnit, Css.Units.IntegerUnit, Css.Functions.MatchesFunction, Css.Functions.NotFunction, Css.Functions.RotateX, Css.Functions.RotateY, Css.Functions.RotateZ, Css.Functions.EqFunction, Css.Functions.GtFunction, Css.Functions.LtFunction, Css.Units.GradiansUnit, Css.Units.TurnUnit, Css.Functions.DirFunction, Css.Functions.LangFunction, Css.Units.CmUnit, Css.Units.DpcmUnit, Css.Units.DppxUnit, Css.Units.InchUnit, Css.Units.KhzUnit, Css.Units.MmUnit, Css.Units.MsUnit, Css.Units.PcUnit, Css.Units.PointUnit, Css.Functions.RectFunction, Css.Units.PropertyMapUnit, Css.Functions.Attr, Css.Functions.Format, Css.Functions.SymbolsFunction, Css.Functions.Annotation, Css.Functions.CharacterVariant, Css.Functions.Ornaments, Css.Functions.StyleSet, Css.Functions.Stylistic, Css.Functions.Swash, Css.Units.EmUnit, Css.Units.PxUnit, Css.CssKeyword, Css.Functions.BlurFunction, Css.Functions.BrightnessFunction, Css.Functions.ContrastFunction, Css.Functions.DropShadowFunction, Css.Functions.GrayscaleFunction, Css.Functions.HueRotateFunction, Css.Functions.InvertFunction, Css.Functions.OpacityFunction, Css.Functions.SaturateFunction, Css.Functions.SepiaFunction, Css.Units.RadiansUnit, Css.Units.RemUnit, Css.Units.LengthUnit, Css.Units.NUnit, Css.Keywords.HistoricalForms, Css.Units.ViewPortUnit, Css.Units.DpiUnit, Css.Units.FpxUnit, Css.Units.HzUnit, Css.Units.SecondsUnit, Css.Keywords.CloseQuote, Css.Keywords.OpenQuote, Css.Units.AngleUnit, Css.Units.FrequencyUnit, Css.Units.ResolutionUnit, and Css.Units.TimeUnit.
|
inline |
Copies this value.
|
inlinestaticprivate |
Creates vertical and horizontal CSS properties which are used when needing to specify which axis a % value is relative to.
|
inlinevirtual |
Checks if two values are equal.
value | The value to check for equality with this. Always returns false if null. |
Reimplemented in Css.ValueSet, Css.Units.DecimalUnit, and Css.Units.TextUnit.
|
inline |
Checks if this is the same set of one or more functions as the other value. Note that this only checks if they are the same functions in the same order. It's not a complete equiv check (and its used by the animation system to interpolate CSS transform).
|
inlinevirtual |
If this is a boolean, the raw bool value.
Reimplemented in Css.Keywords.Inherit, Css.Units.TextUnit, Css.ValueSet, Css.Keywords.Initial, Css.Units.DecimalUnit, Css.Functions.Attr, Css.Functions.VarFunction, Css.Keywords.CoverKeyword, Css.Keywords.FalseKeyword, Css.Keywords.TrueKeyword, and Css.Keywords.None.
Some CSS values are sets of entries. This attempts to select the first entry of the given type.
Some CSS values are sets of entries. This attempts to select the first entry of the given type.
|
inline |
Converts this value to a context-free Unity colour.
|
inline |
Converts this value to a Unity colour.
|
inlinevirtual |
If this is a decimal, the raw decimal value. This is generally the main output.
Reimplemented in Css.Keywords.Flow, Css.Keywords.FlowRoot, Css.Keywords.RubyTextContainer, Css.Keywords.RubyBaseContainer, Css.Keywords.RubyText, Css.Keywords.RubyBase, Css.Keywords.Ruby, Css.Keywords.Contents, Css.Keywords.TextBottom, Css.Keywords.Grid, Css.Keywords.TextTop, Css.Keywords.TableCaption, Css.Keywords.Super, Css.Keywords.TableColumn, Css.Keywords.Inherit, Css.Keywords.Sub, Css.Keywords.TableColumnGroup, Css.Keywords.Baseline, Css.Keywords.TableCell, Css.Keywords.Middle, Css.Keywords.TableRow, Css.Keywords.TableMiddle, Css.Keywords.TableFooterGroup, Css.Functions.Calc, Css.Keywords.TableTop, Css.Keywords.TableHeaderGroup, Css.Keywords.TableBottom, Css.Keywords.TableRowGroup, Css.Units.TextUnit, Css.Keywords.Bottom, Css.Keywords.Table, Css.Keywords.Top, Css.Keywords.ListItem, Css.Keywords.InlineListItem, Css.Keywords.UltraExpanded, Css.Keywords.Larger, Css.ValueSet, Css.Keywords.End, Css.Keywords.InlineTable, Css.Keywords.ExtraExpanded, Css.Keywords.Smaller, Css.Keywords.Sticky, Css.Keywords.InlineFlex, Css.Keywords.Start, Css.Keywords.Expanded, Css.Keywords.XXLarge, Css.Keywords.Relative, Css.Keywords.Flex, Css.Keywords.Bevel, Css.Keywords.SparkCenter, Css.Keywords.SemiExpanded, Css.Keywords.XLarge, Css.Keywords.SparkAbsoluteFixed, Css.Keywords.Initial, Css.Keywords.InlineBlock, Css.Units.DecimalUnit, Css.Keywords.Miter, Css.Keywords.SemiCondensed, Css.Keywords.Lighter, Css.Functions.Attr, Css.Keywords.Center, Css.Keywords.Large, Css.Keywords.SparkAbsolute, Css.Keywords.Scroll, Css.Keywords.NoWrap, Css.Functions.VarFunction, Css.Keywords.SparkIDSpecifity, Css.Units.PercentUnit, Css.Keywords.RunIn, Css.Keywords.Both, Css.Keywords.Square, Css.Keywords.Condensed, Css.Keywords.Justify, Css.Keywords.Small, Css.Keywords.Absolute, Css.Keywords.LineThrough, Css.Keywords.Lowercase, Css.Keywords.Collapse, Css.Keywords.PreWrap, Css.Keywords.SparkClassSpecifity, Css.Keywords.Block, Css.Units.EmUnit, Css.Keywords.InlineEnd, Css.Keywords.Bolder, Css.Units.ViewPortMaxUnit, Css.Units.ViewPortMinUnit, Css.Keywords.Round, Css.Keywords.ExtraCondensed, Css.Keywords.Oblique, Css.Units.ViewPortHeightUnit, Css.Units.ViewPortWidthUnit, Css.Keywords.Left, Css.Keywords.CoverKeyword, Css.Keywords.Rtl, Css.Keywords.FalseKeyword, Css.Keywords.XSmall, Css.Keywords.Fixed, Css.Keywords.Overline, Css.Keywords.Uppercase, Css.Keywords.TrueKeyword, Css.Keywords.Hidden, Css.Keywords.PreLine, Css.Keywords.Solid, Css.Units.ChUnit, Css.Units.ExUnit, Css.Units.RemUnit, Css.Keywords.Inline, Css.Keywords.InlineStart, Css.Keywords.Butt, Css.Keywords.UltraCondensed, Css.Keywords.Italic, Css.Functions.CalcAdd, Css.Functions.CalcDivide, Css.Functions.CalcMultiply, Css.Functions.CalcSubtract, Css.Keywords.Right, Css.Keywords.Ltr, Css.Keywords.XXSmall, Css.Keywords.Bold, Css.Keywords.Medium, Css.Keywords.Normal, Css.Keywords.BreakWord, Css.Keywords.Static, Css.Keywords.SparkTagSpecifity, Css.Keywords.Underline, Css.Keywords.Capitalize, Css.Keywords.Thick, Css.Keywords.Thin, Css.Keywords.Visible, Css.Keywords.Pre, Css.Keywords.Disc, Css.Units.LengthUnit, and Css.Keywords.Dashed.
|
inline |
If this is a decimal, the raw decimal value. This is generally the main output. This overload explicitly tells it to use the vertical axis or not (e.g. when resolving %).
|
inline |
If this is a decimal, the raw decimal value. This is generally the main output. This overload explicitly tells it to use the vertical axis or not (e.g. when resolving %).
|
inline |
Some CSS values are sets of entries. This attempts to select the entry which has an attribute which matches one of the given values.
|
inline |
Some CSS values are sets of entries. This attempts to select the entry without the named attribute.
|
inlineprivate |
|
inlinevirtual |
Reimplemented in Css.Keywords.Inherit, Css.ValueSet, and Css.Keywords.Initial.
|
inlinevirtual |
Gets the value as an image, if it is one.
|
inline |
If this is a pixel integer, the raw pixel value.
|
inlinevirtual |
Reimplemented in Css.Functions.FontVariant, and Css.Keywords.HistoricalForms.
|
inlinevirtual |
Gets this value as a vector path (or null if it isn't one).
Reimplemented in Css.Keywords.StepEnd, Css.Keywords.StepStart, Css.Keywords.EaseInOut, Css.Keywords.EaseOut, Css.Keywords.EaseIn, Css.Keywords.Linear, Css.Keywords.Ease, Css.Functions.CubicBezier, and Css.Functions.Steps.
|
inline |
Converts this value to a Unity Quaternion.
|
inlinevirtual |
Obtains the underlying decimal value, if there is one.
Reimplemented in Css.ValueSet, and Css.Units.DecimalUnit.
|
inlinevirtual |
Converts this value into a suitable selector matcher. Typically either a local matcher or a structural one.
Reimplemented in Css.Functions.NthChildFunction, Css.Functions.NthLastChildFunction, Css.Functions.NthLastOfTypeFunction, Css.Functions.NthOfTypeFunction, Css.Functions.MatchesFunction, Css.Functions.NotFunction, Css.Functions.EqFunction, Css.Functions.GtFunction, Css.Functions.LangFunction, Css.Functions.LtFunction, Css.Functions.DirFunction, Css.FirstLetter, Css.IsMainUI, Css.IsWorldUI, Css.IsHover, Css.MathMLAnonymousBlock, Css.Keywords.IsActive, Css.IsScope, Css.OnlyOfType, Css.After, Css.Before, Css.Marker, Css.IsChecked, Css.IsDefault, Css.IsDisabled, Css.IsEmpty, Css.IsEnabled, Css.IsFirstChild, Css.IsFocused, Css.IsFullscreen, Css.IsIndeterminate, Css.IsInRange, Css.IsInvalid, Css.IsLastChild, Css.IsLeft, Css.IsLink, Css.IsOnlyChild, Css.IsOptional, Css.IsOutOfRange, Css.IsReadWrite, Css.IsRequired, Css.IsRight, Css.IsRoot, Css.IsTarget, Css.IsValid, and Css.IsVisited.
|
inlinevirtual |
If this is a text value, e.g. "auto", the raw text value.
Reimplemented in Css.Keywords.Inherit, Css.Units.TextUnit, Css.ValueSet, Css.Units.ColourUnit, Css.Functions.UrlFunction, Css.Keywords.Initial, Css.Units.AtRuleUnit, Css.Units.DecimalUnit, Css.Functions.VarFunction, Css.Functions.Attr, Css.Functions.Format, Css.CssKeyword, Css.Keywords.CloseQuote, Css.Keywords.OpenQuote, and Css.Keywords.Ellipsis.
|
inline |
Converts this value to a Unity Vector3.
|
inlinevirtual |
Checks if this is a particular type. Note that this is always false for inherit/ initial (as they pass the type through them).
Reimplemented in Css.Keywords.Inherit, and Css.Keywords.Initial.
|
inlinestatic |
|
inlinevirtual |
Called after a value has been loaded from the stream. Functions etc get it too. This is used to, for example, map a value to a faster internal representation.
Reimplemented in Css.Functions.MatrixFunction, Css.Functions.Calc, Css.ShaderSetFunction, Css.Functions.MatchesFunction, Css.Functions.NotFunction, Css.Functions.EqFunction, Css.Functions.GtFunction, Css.Functions.LtFunction, Css.Functions.DirFunction, Css.Functions.LangFunction, Css.Functions.SymbolsFunction, Css.Units.DegreesUnit, Css.Functions.NthChildFunction, Css.Functions.NthLastChildFunction, Css.Functions.NthLastOfTypeFunction, Css.Functions.NthOfTypeFunction, Css.Functions.BlurFunction, Css.Functions.BrightnessFunction, Css.Functions.ContrastFunction, Css.Functions.DropShadowFunction, Css.Functions.GrayscaleFunction, Css.Functions.HueRotateFunction, Css.Functions.InvertFunction, Css.Functions.OpacityFunction, Css.Functions.SaturateFunction, Css.Functions.SepiaFunction, Css.Functions.UrlFunction, Css.Functions.VarFunction, Css.Units.GradiansUnit, Css.Units.PercentUnit, Css.Units.TurnUnit, Css.Units.ViewPortMaxUnit, Css.Units.ViewPortMinUnit, Css.Functions.RgbaFunction, Css.Units.CmUnit, Css.Units.DpcmUnit, Css.Units.DppxUnit, Css.Units.InchUnit, Css.Units.KhzUnit, Css.Units.MmUnit, Css.Units.MsUnit, Css.Units.PcUnit, Css.Units.PointUnit, Css.Units.ViewPortHeightUnit, Css.Units.ViewPortWidthUnit, and Css.Functions.Hsla.
When a unit declares that it has a start identifier, such as #, this reads the rest of it's value.
Reimplemented in Css.Units.SelectorBlockUnit, Css.Units.ColourUnit, Css.Units.TextUnit, Css.Units.SquareBracketUnit, and Css.Units.AtRuleUnit.
|
inline |
Sets this and all child values as being important.
|
inlinevirtual |
Sets a raw decimal value to this object. Used by the animation system.
Reimplemented in Css.ValueSet, Css.Units.DecimalUnit, and Css.Units.IntegerUnit.
|
inline |
Sets the specifity for this and all child values.
|
inlinevirtual |
Converts this to a Loonim node.
Reimplemented in Css.Functions.SaturateFunction.
|
inline |
Make this value a set. If it is already a set, the value is returned unchanged. Otherwise, a set of 1 is created.
|
inlinevirtual |
Gets the shape that this CSS value represents.
Reimplemented in Css.Functions.SVGUrlFunction, Css.Functions.UrlFunction, Css.Functions.SVGRectFunction, and Css.Functions.RectFunction.
|
inline |
Converts this value to a css useable string.
|
staticprivate |
A depth CSS property. Used when needing to specify that a % is on Z.
|
staticpackage |
Represents an empty value.
|
staticprivate |
A horizontal CSS property. Used when needing to specify that a % is on X.
bool Css.Value.Important |
True if this value is important.
int Css.Value.Specifity =1<<28 |
How specific this value is. A low specifity value should never overwrite a high specifity one. By default it's a very high specifity (but not so high that it overflows if it's "important"!)
|
protected |
The type of value this is.
|
staticprivate |
A vertical CSS property. Used when needing to specify that a % is on Y.
|
get |
The original value of a cached object.
|
get |
Resolves through e.g. inherit and initial.
|
getset |
The number of internal values.
|
get |
Text is e.g. "afile.svg#something". This is either 'something' or null.
|
get |
Converts this value into a hex string that is 2 characters long.
|
get |
Used for locating e.g. a function contained within a set.
|
get |
Checks if this is an absolute value and is not a percentage/em/ rectangle containing percents.
|
get |
Checks if this is the 'auto' keyword
|
get |
True if this is a 'cached' value. See CachedIntegerUnit.
|
get |
Checks if this is a suitable colour.
|
get |
Checks if this value is a,comma,array.
|
get |
Checks if this is a function.
|
get |
Is this an inheriting value?
|
get |
Gets context-free text such as font family names.
|
getset |
|
getset |
|
getset |