SDOM - Simple SDL Document Object Model
A lightweight, extensible Document Object Model for SDL-based applications.
Loading...
Searching...
No Matches
SDOM::Texture Class Reference

#include <SDOM_Texture.hpp>

Inheritance diagram for SDOM::Texture:
SDOM::IAssetObject SDOM::IDataObject SDOM::IUnitTest

Classes

struct  InitStruct
 

Public Member Functions

 Texture ()=default
 
virtual ~Texture ()=default
 
virtual bool onInit () override
 
virtual void onQuit () override
 
virtual void onLoad () override
 
virtual void onUnload () override
 
virtual bool onUnitTest () override
 Runs unit tests for this object.
 
SDL_Texture * getTexture () const
 
float getTextureWidth () const
 
float getTextureHeight () const
 
const std::string & getType () const
 
const std::string & getName () const
 
const std::string & getFilename () const
 
bool isInternal () const
 
bool isLoaded () const
 
void setType (const std::string &type)
 
void setName (const std::string &name)
 
void setFilename (const std::string &filename)
 
template<typename T >
T * as ()
 
void registerLuaBindings (const std::string &typeName, sol::state_view lua)
 

Static Public Member Functions

static std::unique_ptr< IAssetObjectCreateFromLua (const sol::table &config)
 
static std::unique_ptr< IAssetObjectCreateFromInitStruct (const IAssetObject::InitStruct &baseInit)
 
template<typename T >
static T lua_value_case_insensitive (const sol::table &tbl, const std::string &key, const T &default_value)
 

Static Public Attributes

static constexpr const char * TypeName = "Texture"
 

Protected Member Functions

 Texture (const InitStruct &init)
 
 Texture (const sol::table &config)
 
virtual void _registerLuaBindings (const std::string &typeName, sol::state_view lua)
 

Protected Attributes

friend Factory
 
friend Core
 
SDL_Texture * texture_ = nullptr
 
float textureWidth_ = 0
 
float textureHeight_ = 0
 
std::string name_
 
std::string type_
 
std::string filename_
 
bool isInternal_
 
bool isLoaded_ = false
 
sol::usertype< IAssetObjectobjHandleType_
 

Constructor & Destructor Documentation

◆ Texture() [1/3]

SDOM::Texture::Texture ( const InitStruct init)
protected

◆ Texture() [2/3]

SDOM::Texture::Texture ( const sol::table &  config)
protected

◆ Texture() [3/3]

SDOM::Texture::Texture ( )
default

◆ ~Texture()

virtual SDOM::Texture::~Texture ( )
virtualdefault

Member Function Documentation

◆ _registerLuaBindings()

void SDOM::Texture::_registerLuaBindings ( const std::string &  typeName,
sol::state_view  lua 
)
protectedvirtual

Reimplemented from SDOM::IAssetObject.

◆ as()

template<typename T >
T * SDOM::IAssetObject::as ( )
inlineinherited

◆ CreateFromInitStruct()

static std::unique_ptr< IAssetObject > SDOM::Texture::CreateFromInitStruct ( const IAssetObject::InitStruct baseInit)
inlinestatic

◆ CreateFromLua()

static std::unique_ptr< IAssetObject > SDOM::Texture::CreateFromLua ( const sol::table &  config)
inlinestatic

◆ getFilename()

const std::string & SDOM::IAssetObject::getFilename ( ) const
inlineinherited

◆ getName()

const std::string & SDOM::IAssetObject::getName ( ) const
inlineinherited

◆ getTexture()

SDL_Texture * SDOM::Texture::getTexture ( ) const
inline

◆ getTextureHeight()

float SDOM::Texture::getTextureHeight ( ) const
inline

◆ getTextureWidth()

float SDOM::Texture::getTextureWidth ( ) const
inline

◆ getType()

const std::string & SDOM::IAssetObject::getType ( ) const
inlineinherited

◆ isInternal()

bool SDOM::IAssetObject::isInternal ( ) const
inlineinherited

◆ isLoaded()

bool SDOM::IAssetObject::isLoaded ( ) const
inlineinherited

◆ lua_value_case_insensitive()

template<typename T >
static T SDOM::IDataObject::lua_value_case_insensitive ( const sol::table &  tbl,
const std::string &  key,
const T &  default_value 
)
inlinestaticinherited

◆ onInit()

bool SDOM::Texture::onInit ( )
overridevirtual

Implements SDOM::IAssetObject.

◆ onLoad()

void SDOM::Texture::onLoad ( )
overridevirtual

Implements SDOM::IAssetObject.

◆ onQuit()

void SDOM::Texture::onQuit ( )
overridevirtual

Implements SDOM::IAssetObject.

◆ onUnitTest()

bool SDOM::Texture::onUnitTest ( )
overridevirtual

Runs unit tests for this object.

Returns
true if all tests pass, false otherwise.

Reimplemented from SDOM::IAssetObject.

◆ onUnload()

void SDOM::Texture::onUnload ( )
overridevirtual

Implements SDOM::IAssetObject.

◆ registerLuaBindings()

void SDOM::IDataObject::registerLuaBindings ( const std::string &  typeName,
sol::state_view  lua 
)
inlineinherited

◆ setFilename()

void SDOM::IAssetObject::setFilename ( const std::string &  filename)
inlineinherited

◆ setName()

void SDOM::IAssetObject::setName ( const std::string &  name)
inlineinherited

◆ setType()

void SDOM::IAssetObject::setType ( const std::string &  type)
inlineinherited

Member Data Documentation

◆ Core

friend SDOM::Texture::Core
protected

◆ Factory

friend SDOM::Texture::Factory
protected

◆ filename_

std::string SDOM::IAssetObject::filename_
protectedinherited

◆ isInternal_

bool SDOM::IAssetObject::isInternal_
protectedinherited

◆ isLoaded_

bool SDOM::IAssetObject::isLoaded_ = false
protectedinherited

◆ name_

std::string SDOM::IAssetObject::name_
protectedinherited

◆ objHandleType_

sol::usertype<IAssetObject> SDOM::IAssetObject::objHandleType_
protectedinherited

◆ texture_

SDL_Texture* SDOM::Texture::texture_ = nullptr
protected

◆ textureHeight_

float SDOM::Texture::textureHeight_ = 0
protected

◆ textureWidth_

float SDOM::Texture::textureWidth_ = 0
protected

◆ type_

std::string SDOM::IAssetObject::type_
protectedinherited

◆ TypeName

constexpr const char* SDOM::Texture::TypeName = "Texture"
staticconstexpr

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