Abstract interface for a canvas represented by a rectangular array of tiles. More...
#include <icanvas.h>
Public Member Functions | |
virtual const ITile * | get_tile (Uint32 layer=0) const =0 |
Returns the tile for the given layer. More... | |
virtual ITile * | get_tile (Uint32 layer=0)=0 |
Returns the tile for the given layer. More... | |
![]() | |
virtual Uint32 | get_resolution_x () const =0 |
Returns the resolution of the canvas in x direction. More... | |
virtual Uint32 | get_resolution_y () const =0 |
Returns the resolution of the canvas in y direction. More... | |
virtual const char * | get_type () const =0 |
Returns the pixel type used by the canvas. More... | |
virtual Uint32 | get_layers_size () const =0 |
Returns the number of layers this canvas has. More... | |
virtual Float32 | get_gamma () const =0 |
Returns the gamma value. More... | |
virtual void | set_gamma (Float32 gamma)=0 |
Sets the gamma value. More... | |
![]() | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
![]() | |
using | Self = Interface_declare< id1, ... > |
Own type. More... | |
using | IID = Uuid_t< id1, ... > |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
using | Self = Interface_declare< id1, ... > |
Own type. More... | |
using | IID = Uuid_t< id1, ... > |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
![]() | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
![]() | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Abstract interface for a canvas represented by a rectangular array of tiles.
A canvas represents a two- or three-dimensional array of pixels. The size of this array is given by mi::neuraylib::ICanvas_base::get_resolution_x() and mi::neuraylib::ICanvas_base::get_resolution_y().
Optionally, there can be multiple layers. The number of these layers is given by mi::neuraylib::ICanvas_base::get_layers_size(). The format a layer, i.e., the type of each pixel in that layer, is described by mi::neuraylib::ICanvas_base::get_type().
The mi::neuraylib::IRender_target, mi::neuraylib::ICanvas, and mi::neuraylib::ITile classes are abstract interfaces which can to be implemented by the application. For example, this gives the application the ability to tailor the rendering process very specific to its needs. The render target has to be implemented by the application whereas default implementations for canvases and tiles are available from mi::neuraylib::IImage_api.
Returns the tile for the given layer.
layer | The layer of the pixel in the canvas. |
nullptr
in case of invalid parameters.