|
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.TextCore;
|
|
|
|
|
|
|
|
|
|
namespace TMPro
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The visual representation of the sprite character using this glyph.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class TMP_SpriteGlyph : Glyph
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// An optional reference to the underlying sprite used to create this glyph.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Sprite sprite;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ********************
|
|
|
|
|
// CONSTRUCTORS
|
|
|
|
|
// ********************
|
|
|
|
|
|
|
|
|
|
public TMP_SpriteGlyph() { }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructor for new sprite glyph.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="index">Index of the sprite glyph.</param>
|
|
|
|
|
/// <param name="metrics">Metrics which define the position of the glyph in the context of text layout.</param>
|
|
|
|
|
/// <param name="glyphRect">GlyphRect which defines the coordinates of the glyph in the atlas texture.</param>
|
|
|
|
|
/// <param name="scale">Scale of the glyph.</param>
|
|
|
|
|
/// <param name="atlasIndex">Index of the atlas texture that contains the glyph.</param>
|
|
|
|
|
public TMP_SpriteGlyph(uint index, GlyphMetrics metrics, GlyphRect glyphRect, float scale, int atlasIndex)
|
|
|
|
|
{
|
|
|
|
|
this.index = index;
|
|
|
|
|
this.metrics = metrics;
|
|
|
|
|
this.glyphRect = glyphRect;
|
|
|
|
|
this.scale = scale;
|
|
|
|
|
this.atlasIndex = atlasIndex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructor for new sprite glyph.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="index">>Index of the sprite glyph.</param>
|
|
|
|
|
/// <param name="metrics">Metrics which define the position of the glyph in the context of text layout.</param>
|
|
|
|
|
/// <param name="glyphRect">GlyphRect which defines the coordinates of the glyph in the atlas texture.</param>
|
|
|
|
|
/// <param name="scale">Scale of the glyph.</param>
|
|
|
|
|
/// <param name="atlasIndex">Index of the atlas texture that contains the glyph.</param>
|
|
|
|
|
/// <param name="sprite">A reference to the Unity Sprite representing this sprite glyph.</param>
|
|
|
|
|
public TMP_SpriteGlyph(uint index, GlyphMetrics metrics, GlyphRect glyphRect, float scale, int atlasIndex, Sprite sprite)
|
|
|
|
|
{
|
|
|
|
|
this.index = index;
|
|
|
|
|
this.metrics = metrics;
|
|
|
|
|
this.glyphRect = glyphRect;
|
|
|
|
|
this.scale = scale;
|
|
|
|
|
this.atlasIndex = atlasIndex;
|
|
|
|
|
this.sprite = sprite;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|