le2d v0.4.6
2D game engine framework
 
Loading...
Searching...
No Matches
le::drawable::SpriteBase Class Reference

Base class for Sprite types. More...

#include <le2d/drawable/sprite.hpp>

Inheritance diagram for le::drawable::SpriteBase:
le::IDrawPrimitive le::IDrawable

Public Member Functions

auto to_primitive () const -> Primitive final
 
auto get_base_size () const -> glm::vec2
 
void set_base_size (glm::vec2 size)
 
auto get_size () const -> glm::vec2
 
auto get_origin () const -> glm::vec2
 
void set_origin (glm::vec2 origin)
 
auto get_uv () const -> kvf::UvRect
 
void set_uv (kvf::UvRect const &uv)
 
auto get_texture () const -> ITextureBase const *
 
void set_texture (ITextureBase const *texture, kvf::UvRect const &uv=kvf::uv_rect_v)
 
void set_tile (ITileSheet const *sheet, TileId tile_id)
 
auto get_resize_aspect () const -> kvf::ResizeAspect
 
void set_resize_aspect (kvf::ResizeAspect aspect)
 
- Public Member Functions inherited from le::IDrawPrimitive
virtual auto get_instances () const -> std::span< RenderInstance const >=0
 
void draw (IRenderer &renderer) const final
 

Static Public Attributes

static constexpr auto size_v {shape::Quad::size_v}
 

Protected Member Functions

void update (glm::vec2 base_size, glm::vec2 origin, kvf::UvRect const &uv)
 

Protected Attributes

shape::Quad m_quad {}
 
ITextureBase const * m_texture {}
 
glm::vec2 m_size {}
 
kvf::ResizeAspect m_aspect {kvf::ResizeAspect::None}
 

Detailed Description

Base class for Sprite types.

Sprites have a "base size" property via which the actual size is determined, based on the set ResizeAspect logic and aspect ratio of UV coordinates.

Member Function Documentation

◆ get_base_size()

auto le::drawable::SpriteBase::get_base_size ( ) const -> glm::vec2
inline

◆ get_origin()

auto le::drawable::SpriteBase::get_origin ( ) const -> glm::vec2
inline

◆ get_resize_aspect()

auto le::drawable::SpriteBase::get_resize_aspect ( ) const -> kvf::ResizeAspect
inline

◆ get_size()

auto le::drawable::SpriteBase::get_size ( ) const -> glm::vec2
inline

◆ get_texture()

auto le::drawable::SpriteBase::get_texture ( ) const -> ITextureBase const*
inline

◆ get_uv()

auto le::drawable::SpriteBase::get_uv ( ) const -> kvf::UvRect
inline

◆ set_base_size()

void le::drawable::SpriteBase::set_base_size ( glm::vec2  size)

◆ set_origin()

void le::drawable::SpriteBase::set_origin ( glm::vec2  origin)

◆ set_resize_aspect()

void le::drawable::SpriteBase::set_resize_aspect ( kvf::ResizeAspect  aspect)

◆ set_texture()

void le::drawable::SpriteBase::set_texture ( ITextureBase const *  texture,
kvf::UvRect const &  uv = kvf::uv_rect_v 
)

◆ set_tile()

void le::drawable::SpriteBase::set_tile ( ITileSheet const *  sheet,
TileId  tile_id 
)

◆ set_uv()

void le::drawable::SpriteBase::set_uv ( kvf::UvRect const &  uv)

◆ to_primitive()

auto le::drawable::SpriteBase::to_primitive ( ) const -> Primitive
finalvirtual

Implements le::IDrawPrimitive.

◆ update()

void le::drawable::SpriteBase::update ( glm::vec2  base_size,
glm::vec2  origin,
kvf::UvRect const &  uv 
)
protected

Member Data Documentation

◆ m_aspect

kvf::ResizeAspect le::drawable::SpriteBase::m_aspect {kvf::ResizeAspect::None}
protected

◆ m_quad

shape::Quad le::drawable::SpriteBase::m_quad {}
protected

◆ m_size

glm::vec2 le::drawable::SpriteBase::m_size {}
protected

◆ m_texture

ITextureBase const* le::drawable::SpriteBase::m_texture {}
protected

◆ size_v

constexpr auto le::drawable::SpriteBase::size_v {shape::Quad::size_v}
staticconstexpr

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