Open 3D Engine LyShine Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
CSprite Class Reference

Inherits ISprite, and TextureAtlasNamespace::TextureAtlasNotificationBus::Handler.

Public Member Functions

 CSprite ()
 Construct an empty sprite.
 
const AZStd::string & GetPathname () const override
 Get the pathname of this sprite.
 
const AZStd::string & GetTexturePathname () const override
 Get the pathname of the texture of this sprite.
 
Borders GetBorders () const override
 Get the borders of this sprite.
 
void SetBorders (Borders borders) override
 Set the borders of this sprite.
 
void SetCellBorders (int cellIndex, Borders borders) override
 Set the borders of a given cell within the sprite-sheet.
 
void Serialize (TSerialize ser) override
 Serialize this object for save/load.
 
bool SaveToXml (const AZStd::string &pathname) override
 Save this sprite data to disk.
 
bool AreBordersZeroWidth () const override
 Test if this sprite has any borders.
 
bool AreCellBordersZeroWidth (int index) const override
 Tests if the sprite-sheet cell has borders.
 
AZ::Vector2 GetSize () override
 Get the dimensions of the sprite.
 
AZ::Vector2 GetCellSize (int cellIndex) override
 Gets the dimensions of a specific cell texture within a sprite-sheet.
 
const SpriteSheetCellContainer & GetSpriteSheetCells () const override
 Gets cell info for each of the cells within the sprite-sheet.
 
void SetSpriteSheetCells (const SpriteSheetCellContainer &cells) override
 Sets the sprite's sprite-sheet cells.
 
void ClearSpriteSheetCells () override
 Removes all sprite-sheet cell info for this sprite.
 
void AddSpriteSheetCell (const SpriteSheetCell &spriteSheetCell) override
 Defines a new SpriteSheetCell for this sprite.
 
AZ::Vector2 GetCellUvSize (int cellIndex) const override
 Gets the dimensions of a specific cell (in a sprite-sheet) in UV coords (UV range).
 
UiTransformInterface::RectPoints GetCellUvCoords (int cellIndex) const override
 Gets the UV coords associated for a given cell in a sprite-sheet.
 
UiTransformInterface::RectPoints GetSourceCellUvCoords (int cellIndex) const override
 Gets the UV coords associated for a given cell in a sprite-sheet in a way that ignores texture atlases.
 
Borders GetCellUvBorders (int cellIndex) const override
 
Borders GetTextureSpaceCellUvBorders (int cellIndex) const override
 
const AZStd::string & GetCellAlias (int cellIndex) const override
 Gets the string alias associated with the given cell in a sprite-sheet.
 
void SetCellAlias (int cellIndex, const AZStd::string &cellAlias) override
 Sets the string alias associated with the given cell in a sprite-sheet.
 
int GetCellIndexFromAlias (const AZStd::string &cellAlias) const override
 Returns the sprite-sheet cell index that corresponds to the given string alias.
 
bool IsSpriteSheet () const override
 Returns true if this sprite is configured as a sprite-sheet, false otherwise.
 
AZ::Data::Instance< AZ::RPI::Image > GetImage () override
 
void OnAtlasLoaded (const TextureAtlasNamespace::TextureAtlas *atlas) override
 
void OnAtlasUnloaded (const TextureAtlasNamespace::TextureAtlas *atlas) override
 
- Public Member Functions inherited from ISprite
virtual ~ISprite ()
 Deleting a sprite will release its texture.
 

Static Public Member Functions

static void Initialize ()
 
static void Shutdown ()
 
static CSpriteLoadSprite (const AZStd::string &pathname)
 
static CSpriteCreateSprite (const AZ::Data::Asset< AZ::RPI::AttachmentImageAsset > &attachmentImageAsset)
 
static bool DoesSpriteTextureAssetExist (const AZStd::string &pathname)
 
static void ReplaceSprite (ISprite **baseSprite, ISprite *newSprite)
 Replaces baseSprite with newSprite with proper ref-count handling and null-checks.
 
static bool FixUpSourceImagePathFromUserDefinedPath (const AZStd::string &userDefinedPath, AZStd::string &sourceImagePath)
 
static AZStd::string GetImageSourcePathFromProductPath (const AZStd::string &productPathname)
 

Protected Member Functions

bool CellIndexWithinRange (int cellIndex) const
 

Additional Inherited Members

- Public Types inherited from ISprite
using SpriteSheetCellContainer = AZStd::vector< SpriteSheetCell >
 

Member Function Documentation

◆ FixUpSourceImagePathFromUserDefinedPath()

static bool CSprite::FixUpSourceImagePathFromUserDefinedPath ( const AZStd::string &  userDefinedPath,
AZStd::string &  sourceImagePath 
)
static

Pathname allows any of the following:

  1. image source/product path (will use pathname to look for an existing .sprite sidecar file)
  2. .sprite source/product path (will use pathname to look for an existing image file with a supported extension)
  3. legacy .dds product path (will use pathname to look for an existing texture file with a supported extension)

◆ GetCellUvBorders()

Borders CSprite::GetCellUvBorders ( int  cellIndex) const
overridevirtual

Gets the sliced border info for a given cell within a sprite-sheet.

The returned UV borders are in "cell space" relative to the given indexed spell. For example, a top-left border of (0.5, 0.5) would be the center of the given cell.

Implements ISprite.

◆ GetTextureSpaceCellUvBorders()

Borders CSprite::GetTextureSpaceCellUvBorders ( int  cellIndex) const
overridevirtual

Gets the sliced border UV coordinates in texture space for a given cell within a sprite-sheet.

The returned UV border coordinates are in texture space. For example, a top-left border of (0.5, 0.5) would be the center of the sprite-sheet.

Implements ISprite.


The documentation for this class was generated from the following file: