Detailed Description

Represents an interpolatable matrix (https://www.w3.org/TR/css-transforms-1/#matrix-interpolation).

Inheritance diagram for Css.InterpolationMatrix:
Css.Functions.Transformation Css.CssFunction Css.ValueSet Css.CssUnit Css.Value

Public Member Functions

 InterpolationMatrix ()
 
 InterpolationMatrix (Matrix4x4 matrix)
 
override Matrix4x4 CalculateMatrix (RenderableData context)
 Builds the transformation matrix. More...
 
void PrepareForInterpolate (InterpolationMatrix b)
 Prepares this matrix for interpolation with the given one. More...
 
void Decompose ()
 Decompose the matrix now. More...
 
void Recompose ()
 Recompose the matrix now. More...
 
override string[] GetNames ()
 The set of all function names that this one will handle. Usually just one. Lowercase. e.g. "rgb", "rgba". More...
 
- Public Member Functions inherited from Css.Functions.Transformation
 Transformation ()
 
- Public Member Functions inherited from Css.CssFunction
override string ToString ()
 
- Public Member Functions inherited from Css.ValueSet
 ValueSet ()
 
void Add (Value val)
 Adds the given value to the set. More...
 
 ValueSet (int count)
 
 ValueSet (Value[] s)
 
override void SetRawDecimal (float value)
 Sets a raw decimal value to this object. Used by the animation system. More...
 
override float GetRawDecimal ()
 Obtains the underlying decimal value, if there is one. More...
 
override float GetDecimal (RenderableData context, CssProperty property)
 If this is a decimal, the raw decimal value. This is generally the main output. More...
 
override string GetText (RenderableData context, CssProperty property)
 If this is a text value, e.g. "auto", the raw text value. More...
 
override bool GetBoolean (RenderableData context, CssProperty property)
 If this is a boolean, the raw bool value. More...
 
override string ToString ()
 
override IEnumerator< ValueGetEnumerator ()
 
override bool Equals (Value value)
 Checks if two values are equal. More...
 
Value[] CopyInnerValues ()
 

Protected Member Functions

override Css.Value Clone ()
 Duplicates this value. More...
 

Package Attributes

bool Changed =false
 True if the params have changed and needs to be reconstructed. More...
 

Properties

float Angle [get, set]
 A rotation. More...
 
float M11 [get, set]
 1,1 coordinate of 2x2 matrix More...
 
float M12 [get, set]
 1,2 coordinate of 2x2 matrix More...
 
float M21 [get, set]
 2,1 coordinate of 2x2 matrix More...
 
float M22 [get, set]
 2,2 coordinate of 2x2 matrix More...
 
Vector2 Translation [get, set]
 A 2 component translation. More...
 
Vector2 Scale [get, set]
 A 2 component scale. More...
 
- Properties inherited from Css.Functions.Transformation
virtual bool Is3D [get]
 True if this is a 3D transform. More...
 
- Properties inherited from Css.CssFunction
override bool IsFunction [get]
 
override string Identifier [get]
 
- Properties inherited from Css.ValueSet
override bool IsAbsolute [get]
 
override string Identifier [get]
 
Value First [get]
 
override int Count [get, set]
 
override bool IsColour [get]
 
override Value this[int index] [get, set]
 
- Properties inherited from Css.CssUnit
virtual string[] PreText [get]
 The set of text strings that indicate this unit is about to appear in the CSS stream. #, " etc. More...
 
virtual string[] PostText [get]
 The set of text strings that indicate this unit has just appeared in the CSS stream. px,%,cm etc. More...
 
- Properties inherited from Css.Value
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

float Get (int index)
 Gets the float value from the given param index. More...
 
void Set (int index, float value)
 Sets the float value at the given param index. More...
 

Private Attributes

Matrix4x4 Matrix_ =Matrix4x4.identity
 The constructed raw matrix. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Css.Value
static Css.Value Load (string text)
 
- Public Attributes inherited from Css.CssFunction
bool LiteralValue
 True if this functions value should be read literally. More...
 
string Name
 The main name of this function. Originates from the first result returned by GetNames. More...
 
- Protected Attributes inherited from Css.Value
ValueType Type_ =ValueType.Null
 The type of value this is. More...
 
- Static Package Attributes inherited from Css.Value
static readonly Value Empty =new Units.DecimalUnit(0)
 Represents an empty value. More...
 

Constructor & Destructor Documentation

Css.InterpolationMatrix.InterpolationMatrix ( )
inline
Css.InterpolationMatrix.InterpolationMatrix ( Matrix4x4  matrix)
inline

Member Function Documentation

override Matrix4x4 Css.InterpolationMatrix.CalculateMatrix ( RenderableData  context)
inlinevirtual

Builds the transformation matrix.

Reimplemented from Css.Functions.Transformation.

override Css.Value Css.InterpolationMatrix.Clone ( )
inlineprotectedvirtual

Duplicates this value.

Returns
A duplicated copy of this value. Note that if this value has inner values, they are copied too.

Reimplemented from Css.Value.

void Css.InterpolationMatrix.Decompose ( )
inline

Decompose the matrix now.

float Css.InterpolationMatrix.Get ( int  index)
inlineprivate

Gets the float value from the given param index.

override string [] Css.InterpolationMatrix.GetNames ( )
inlinevirtual

The set of all function names that this one will handle. Usually just one. Lowercase. e.g. "rgb", "rgba".

Reimplemented from Css.CssFunction.

void Css.InterpolationMatrix.PrepareForInterpolate ( InterpolationMatrix  b)
inline

Prepares this matrix for interpolation with the given one.

void Css.InterpolationMatrix.Recompose ( )
inline

Recompose the matrix now.

void Css.InterpolationMatrix.Set ( int  index,
float  value 
)
inlineprivate

Sets the float value at the given param index.

Member Data Documentation

bool Css.InterpolationMatrix.Changed =false
package

True if the params have changed and needs to be reconstructed.

Matrix4x4 Css.InterpolationMatrix.Matrix_ =Matrix4x4.identity
private

The constructed raw matrix.

Property Documentation

float Css.InterpolationMatrix.Angle
getset

A rotation.

float Css.InterpolationMatrix.M11
getset

1,1 coordinate of 2x2 matrix

float Css.InterpolationMatrix.M12
getset

1,2 coordinate of 2x2 matrix

float Css.InterpolationMatrix.M21
getset

2,1 coordinate of 2x2 matrix

float Css.InterpolationMatrix.M22
getset

2,2 coordinate of 2x2 matrix

Vector2 Css.InterpolationMatrix.Scale
getset

A 2 component scale.

Vector2 Css.InterpolationMatrix.Translation
getset

A 2 component translation.