virtual neogfx::color_space color_space() const =0
virtual void set_pixels(const rect &aRect, const void *aPixelData, uint32_t aPackAlignment=4u)=0
virtual void set_pixel(const point &aPosition, const color &aColor)=0
virtual void set_pixels(const i_image &aImage)=0
virtual const i_sub_texture & as_sub_texture() const =0
virtual void unbind() const =0
virtual uint32_t samples() const =0
virtual color get_pixel(const point &aPosition) const =0
virtual texture_data_format data_format() const =0
virtual intptr_t native_handle() const =0
virtual texture_id id() const =0
virtual void bind(std::uint32_t aTextureUnit) const =0
virtual bool is_render_target() const =0
virtual ~i_texture()=default
virtual const i_render_target & as_render_target() const =0
virtual bool is_empty() const =0
virtual i_string const & uri() const =0
virtual size storage_extents() const =0
virtual rect const & part() const =0
virtual dimension dpi_scale_factor() const =0
virtual texture_data_type data_type() const =0
virtual texture_type type() const =0
virtual texture_sampling sampling() const =0
virtual size extents() const =0
virtual i_render_target & as_render_target()=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 i_texture & native_texture() const =0
virtual void set_pixels(const i_image &aImage, const rect &aImagePart)=0
auto operator<=>(texture_line_segment const &) const =default