Inheritance diagram for InfiniText.CompositeGlyph:
InfiniText.Glyph Blaze.VectorPath Blaze.AtlasEntity

Public Member Functions

 CompositeGlyph (FontFace parent)
 
override void LoadNow ()
 Completes the load of this glyph. You must have checked RequiresLoad first. More...
 
void AddComponent (VectorTransform component)
 
override void LoadFully (Glyph[] glyphs)
 
- Public Member Functions inherited from InfiniText.Glyph
void OnScreen ()
 Called when this character goes on screen. More...
 
void OffScreen ()
 Called when this character goes on screen. More...
 
void SetupImage (ImagePackage package)
 Called when an image is found for this character. Used by e.g. Emoji. More...
 
bool AddToFont (string name, int charcode)
 Add this glyph to the named font. Can override existing characters. More...
 
bool AddToFont (string name, string charcode)
 Add this glyph to the named font. Can override existing characters. More...
 
bool MultiThreadDraw ()
 True if DrawToAtlas can be multithreaded for this object. More...
 
void GetDimensionsOnAtlas (out int width, out int height)
 Gets the dimensions of this entity on an atlas. More...
 
bool DrawToAtlas (TextureAtlas atlas, AtlasLocation location)
 Draws this entity to the given atlas now. More...
 
int GetAtlasID ()
 A globally unique ID that can be used to identify the image being held. More...
 
bool Rasterise (Color32[] atlasPixels, int atlasWidth, int baseIndex, bool clear)
 
bool Rasterise (Color32[] atlasPixels, int atlasWidth, int baseIndex, bool clear, Color32 colour)
 
 Glyph ()
 
 Glyph (FontFace parent)
 
Glyph Copy ()
 
void Copy (Glyph into)
 Copies this glyphs info into the given one. Does not copy Unique ID or RawCharcode. More...
 
void AddKerningPair (Glyph beforeThis, float value)
 
void AddCharcode (int charCode)
 
- Public Member Functions inherited from Blaze.VectorPath
void ToStraightLines ()
 Converts this path to straight lines only. Assumes values range from 0-1 and uses an accuracy of 0.05 (roughly 20 segments). More...
 
void ToStraightLines (float accuracy)
 Converts this path to straight lines only. Accuracy is the approx average length of each line segment. More...
 
void Transform (Matrix4x4 mat)
 
List< PathSegmentGetContours ()
 Finds all the separate contours in this path. More...
 
void HoleSort ()
 Sorts this path such that any holes it contains begin closest to it's containing contour. This essentially allows paths with holes (think hole in o!) to be correctly triangulated. More...
 
VectorPoint Nearest (float x, float y)
 Gets the nearest node in this shape to the given point. More...
 
VectorPoint Nearest (float x, float y, VectorPoint from, VectorPoint to)
 Gets the nearest node in the given section of this shape to the given point. More...
 
bool Contains (float x, float y)
 Does this path contain the given point? More...
 
bool Contains (float x, float y, VectorPoint from, VectorPoint to)
 Does the given section of this path contain the given point? More...
 
void GetVertices (Vector3[] vertices, Vector3[] normals, float accuracy, float offsetX, float offsetY, float scale, ref int index, List< int > contourStarts)
 
int GetVertexCount (float accuracy)
 
void MoveTo (float x, float y)
 Moves the current pen location to the given point. Used when drawing paths. More...
 
void SimplifyCurve ()
 "Simplifies" the curve values ensuring that it's possible to offset the parts of the path. Used by the path stroke system. More...
 
VectorPoint SelectPoint (int index)
 Selects the point at the given index of this path. More...
 
float Length ()
 The length of this path. More...
 
VectorPath CopySection (VectorPoint p1, float c1, VectorPoint p2, float c2)
 Copies a section of this path. Note that if p2 is before p1, it will safely loop over a closed node. More...
 
void Append (VectorPath path)
 Adds the given path onto the end of this one. More...
 
VectorPath CopyPath ()
 Copies this path. More...
 
void CopyInto (VectorPath path)
 Copies this vector path into the given one. More...
 
void Clear ()
 Clears this path. More...
 
void AddPathNode (VectorPoint point)
 Adds the given node to the end of path. See AddPathNodeStart to add to the start. More...
 
void AddPathNodeStart (VectorPoint point)
 Adds the given node to the start of the path. Must be a moveTo unless it's a temp thing. See AddPathNode to add to the end. More...
 
void ClosePathFast ()
 Closes the path quickly and safely. More...
 
void CheckClosed ()
 Closes the shape if the last point is the same as the close node. More...
 
void ClosePath ()
 A full path close. More...
 
void CloseLast ()
 Marks the last node as a close. More...
 
StraightLinePoint LineTo (float x, float y)
 
QuadLinePoint QuadraticCurveTo (float cx, float cy, float x, float y)
 
void CurveTo (float c1x, float c1y, float c2x, float c2y, float x, float y)
 
void CountNodes ()
 Recomputes path node count. More...
 
void Arc (float centerX, float centerY, float radius, float sAngle, float eAngle, bool counterClockwise)
 Creates an arc around the given circle center. Note that nothing will be seen until you call a fill or stroke method. More...
 
void EllipseArc (float rx, float ry, float xAxisRotation, float p1x, float p1y, bool largeArcFlag, bool sweepFlag)
 Handles SVG arcs. More...
 
void RecalculateMeta ()
 Recalculates bounds and normals. More...
 
void RecalculateBounds ()
 Recalculates the minimum values and width/height of this path, taking curves into account. More...
 
void Replace (VectorPoint point, VectorPoint with)
 Replaces one node with another. More...
 
void Remove (VectorPoint point)
 Remove a point. More...
 
void Sheer (float by)
 Sheers this path. Note that it's assumed to be at most 1 unit tall. More...
 
void Scale (float by)
 Scales this path by the given value. More...
 
void Scale (float x, float y)
 Scales this path by the given value. More...
 
void Flip ()
 Axis flip. More...
 
void Move (float byX, float byY)
 Scales this path by the given value. More...
 
float GetSignedArea ()
 Gets the signed area of the "major" contour (the first one). It's signed as this can identify the winding order. More...
 
override string ToString ()
 

Public Attributes

VectorTransform LastComponent
 
VectorTransform FirstComponent
 
- Public Attributes inherited from InfiniText.Glyph
ImagePackage Image
 A graphical image representation of this character for e.g. Emoji. More...
 
AtlasLocation Location
 The rendered location of this SDF character. Also tracks on-screen counts internally. More...
 
int UniqueID
 A globally unique ID for this glyph. Used with font atlases. More...
 
FontFace Font
 The font face this is a glyph from. More...
 
int RawCharcode
 The first charcode to assign itself to this glyph. More...
 
float AdvanceWidth
 The amount to advance by when this glyph is displayed. More...
 
float LeftSideBearing
 The left side bearing. An offset of this glyph. More...
 
Dictionary< Glyph, float > Kerning
 A group of kerning pairs and their offsets. More...
 
- Public Attributes inherited from Blaze.VectorPath
float MinX
 The minimum X value. More...
 
float MinY
 The minimum Y value. More...
 
float Width
 The width of this path. More...
 
float Height =1f
 The height of this path. More...
 
int PathNodeCount
 The number of points in this vector path. More...
 
MoveToPoint CloseNode
 The current node which will be used when the path is closed. More...
 
VectorPoint FirstPathNode
 When creating a path its nodes are stored as a linked list. The first node created. More...
 
VectorPoint LatestPathNode
 When creating a path its nodes are stored as a linked list. The latest node created. More...
 

Properties

override bool RequiresLoad [get]
 
override bool IsComposite [get]
 
- Properties inherited from InfiniText.Glyph
int Directionality [get]
 The unicode bidirectional category (e.g. Important for Arabic). More...
 
bool Space [get]
 True if this character is a whitespace of any kind. More...
 
virtual bool RequiresLoad [get]
 Does this glyph require loading? If this is true, call LoadNow to get the glyph outline loaded. More...
 
int RasterHeight [get]
 The height of this glyphs SDF raster. More...
 
int RasterWidth [get]
 The width of this glyphs SDF raster. More...
 
float DescendorOffset [get]
 How much this glyph extends below the baseline. More...
 
string TextString [get]
 Gets this glyphs charcode as a string. Note that this is a string and not a char because of things called surrogate pairs. More...
 
int Charcode [get]
 The first charcode assigned to this glyph. More...
 
virtual bool IsComposite [get]
 
- Properties inherited from Blaze.VectorPath
bool WasHoleSorted [get]
 True if any holes in this path have been sorted. Read only. More...
 
bool Closed [get]
 Is this path closed? More...
 
bool Unclosed [get]
 True if this path is currently unclosed. More...
 

Private Member Functions

void TransformPoints (Glyph fromGlyph, VectorTransform transform)
 

Additional Inherited Members

- Protected Attributes inherited from Blaze.VectorPath
bool HoleSorted =false
 True if any holes in this path have been sorted. More...
 

Constructor & Destructor Documentation

InfiniText.CompositeGlyph.CompositeGlyph ( FontFace  parent)
inline

Member Function Documentation

void InfiniText.CompositeGlyph.AddComponent ( VectorTransform  component)
inline
override void InfiniText.CompositeGlyph.LoadFully ( Glyph[]  glyphs)
inlinevirtual

Reimplemented from InfiniText.Glyph.

override void InfiniText.CompositeGlyph.LoadNow ( )
inlinevirtual

Completes the load of this glyph. You must have checked RequiresLoad first.

Reimplemented from InfiniText.Glyph.

void InfiniText.CompositeGlyph.TransformPoints ( Glyph  fromGlyph,
VectorTransform  transform 
)
inlineprivate

Member Data Documentation

VectorTransform InfiniText.CompositeGlyph.FirstComponent
VectorTransform InfiniText.CompositeGlyph.LastComponent

Property Documentation

override bool InfiniText.CompositeGlyph.IsComposite
get
override bool InfiniText.CompositeGlyph.RequiresLoad
get