neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::i_texture Class Referenceabstract

#include <i_texture.hpp>

Inheritance diagram for neogfx::i_texture:
neolib::i_reference_counted neogfx::i_sub_texture

Classes

struct  not_sub_texture
 
struct  texture_empty
 

Public Types

typedef i_texture abstract_type
 

Public Member Functions

virtual ~i_texture ()=default
 
virtual texture_id id () const =0
 
virtual i_string const & uri () const =0
 
virtual rect const & part () const =0
 
virtual texture_type type () const =0
 
virtual bool is_render_target () const =0
 
virtual const i_render_targetas_render_target () const =0
 
virtual i_render_targetas_render_target ()=0
 
virtual const i_sub_textureas_sub_texture () const =0
 
virtual dimension dpi_scale_factor () const =0
 
virtual neogfx::color_space color_space () const =0
 
virtual texture_sampling sampling () const =0
 
virtual uint32_t samples () const =0
 
virtual texture_data_format data_format () const =0
 
virtual texture_data_type data_type () const =0
 
virtual bool is_empty () const =0
 
virtual size extents () const =0
 
virtual size storage_extents () const =0
 
virtual void set_pixels (const rect &aRect, const void *aPixelData, uint32_t aPackAlignment=4u)=0
 
virtual void set_pixels (const i_image &aImage)=0
 
virtual void set_pixels (const i_image &aImage, const rect &aImagePart)=0
 
virtual void set_pixel (const point &aPosition, const color &aColor)=0
 
virtual color get_pixel (const point &aPosition) const =0
 
virtual i_vector< texture_line_segment > const & intersection (texture_line_segment const &aLine, rect const &aBoundingBox, vec2 const &aSampleSize={ 1.0, 1.0 }, scalar aTolerance=0.0) const =0
 
virtual void bind (std::uint32_t aTextureUnit) const =0
 
virtual void unbind () const =0
 
virtual intptr_t native_handle () const =0
 
virtual i_texturenative_texture () const =0
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Detailed Description

Definition at line 83 of file i_texture.hpp.

Member Typedef Documentation

◆ abstract_type

Definition at line 89 of file i_texture.hpp.

Constructor & Destructor Documentation

◆ ~i_texture()

virtual neogfx::i_texture::~i_texture ( )
virtualdefault

Member Function Documentation

◆ as_render_target() [1/2]

virtual const i_render_target & neogfx::i_texture::as_render_target ( ) const
pure virtual

◆ as_render_target() [2/2]

virtual i_render_target & neogfx::i_texture::as_render_target ( )
pure virtual

◆ as_sub_texture()

virtual const i_sub_texture & neogfx::i_texture::as_sub_texture ( ) const
pure virtual

◆ bind()

virtual void neogfx::i_texture::bind ( std::uint32_t  aTextureUnit) const
pure virtual

◆ color_space()

virtual neogfx::color_space neogfx::i_texture::color_space ( ) const
pure virtual

◆ data_format()

virtual texture_data_format neogfx::i_texture::data_format ( ) const
pure virtual

◆ data_type()

virtual texture_data_type neogfx::i_texture::data_type ( ) const
pure virtual

◆ dpi_scale_factor()

virtual dimension neogfx::i_texture::dpi_scale_factor ( ) const
pure virtual

◆ extents()

virtual size neogfx::i_texture::extents ( ) const
pure virtual

◆ get_pixel()

virtual color neogfx::i_texture::get_pixel ( const point aPosition) const
pure virtual

◆ id()

virtual texture_id neogfx::i_texture::id ( ) const
pure virtual

◆ intersection()

virtual i_vector< texture_line_segment > const & neogfx::i_texture::intersection ( texture_line_segment const &  aLine,
rect const &  aBoundingBox,
vec2 const &  aSampleSize = { 1.0, 1.0 },
scalar  aTolerance = 0.0 
) const
pure virtual

◆ is_empty()

virtual bool neogfx::i_texture::is_empty ( ) const
pure virtual

◆ is_render_target()

virtual bool neogfx::i_texture::is_render_target ( ) const
pure virtual

◆ native_handle()

virtual intptr_t neogfx::i_texture::native_handle ( ) const
pure virtual

◆ native_texture()

virtual i_texture & neogfx::i_texture::native_texture ( ) const
pure virtual

◆ part()

virtual rect const & neogfx::i_texture::part ( ) const
pure virtual

◆ samples()

virtual uint32_t neogfx::i_texture::samples ( ) const
pure virtual

◆ sampling()

virtual texture_sampling neogfx::i_texture::sampling ( ) const
pure virtual

◆ set_pixel()

virtual void neogfx::i_texture::set_pixel ( const point aPosition,
const color aColor 
)
pure virtual

◆ set_pixels() [1/3]

virtual void neogfx::i_texture::set_pixels ( const i_image aImage)
pure virtual

◆ set_pixels() [2/3]

virtual void neogfx::i_texture::set_pixels ( const i_image aImage,
const rect aImagePart 
)
pure virtual

◆ set_pixels() [3/3]

virtual void neogfx::i_texture::set_pixels ( const rect aRect,
const void *  aPixelData,
uint32_t  aPackAlignment = 4u 
)
pure virtual

◆ storage_extents()

virtual size neogfx::i_texture::storage_extents ( ) const
pure virtual

◆ type()

virtual texture_type neogfx::i_texture::type ( ) const
pure virtual

◆ unbind()

virtual void neogfx::i_texture::unbind ( ) const
pure virtual

◆ uri()

virtual i_string const & neogfx::i_texture::uri ( ) const
pure virtual

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