24 #include <boost/optional.hpp> 32 class i_native_texture;
53 void set_pixels(
const rect& aRect,
const void* aPixelData)
override;
56 virtual std::shared_ptr<i_native_texture>
native_texture()
const override;
59 std::shared_ptr<i_native_texture> iNativeTexture;
73 return (aTexture.
type() ==
i_texture::Texture ?
static_cast<texture_pointer
>(std::make_shared<texture>(aTexture)) :
static_cast<texture_pointer
>(std::make_shared<sub_texture>(aTexture.
as_sub_texture())));
78 return std::make_shared<texture_list>(1, texture_source{
to_texture_pointer(aTexture), aTextureRect });
83 return std::make_shared<texture_list>(1, texture_source{ aTexture, aTextureRect });
89 return texture_list_pointer{ texture_list_pointer{}, &aTextureList };
94 aTextureList.assign(1, texture_source{ aTexture, aTextureRect });
95 return texture_list_pointer{ texture_list_pointer{}, &aTextureList };
size extents() const override
const i_sub_texture & as_sub_texture() const override
size storage_extents() const override
boost::optional< texture_list > optional_texture_list
boost::optional< sub_texture > optional_sub_texture
coordinate_value_type dimension
texture_list_pointer to_texture_list_pointer(const i_texture &aTexture, const optional_rect &aTextureRect=optional_rect{})
boost::optional< rect > optional_rect
virtual const i_sub_texture & as_sub_texture() const =0
virtual type_e type() const =0
texture_list::size_type texture_index
std::shared_ptr< const i_texture > texture_pointer
type_e type() const override
std::vector< texture_source > texture_list
std::shared_ptr< texture_list > texture_list_pointer
virtual std::shared_ptr< i_native_texture > native_texture() const override
bool is_empty() const override
boost::optional< texture > optional_texture
texture_sampling sampling() const override
boost::optional< colour > optional_colour
dimension dpi_scale_factor() const override
std::pair< texture_pointer, optional_rect > texture_source
void set_pixels(const rect &aRect, const void *aPixelData) override
texture_pointer to_texture_pointer(const i_texture &aTexture)