Efl.Gfx.Buffer (interface)


Common APIs for all objects representing images and 2D pixel buffers.


alpha (get, set)

Indicates whether the alpha channel should be used.
Eina_Bool efl_gfx_buffer_alpha_get(const Eo *obj);
void efl_gfx_buffer_alpha_set(Eo *obj, Eina_Bool alpha);

buffer_borders (get)

Duplicated pixel borders inside this buffer.
void efl_gfx_buffer_borders_get(const Eo *obj, unsigned int *l, unsigned int *r, unsigned int *t, unsigned int *b);


Set the pixels for this buffer by copying them, or allocate a new memory region.
Eina_Bool efl_gfx_buffer_copy_set(Eo *obj, const Eina_Slice *slice, Eina_Size2D size, int stride, Efl_Gfx_Colorspace cspace, int plane);


Get a direct pointer to the internal pixel data, if available.
Eina_Slice efl_gfx_buffer_managed_get(Eo *obj, int plane);


Set the pixels for this buffer, managed externally by the client.
Eina_Bool efl_gfx_buffer_managed_set(Eo *obj, const Eina_Slice *slice, Eina_Size2D size, int stride, Efl_Gfx_Colorspace cspace, int plane);


Map a region of this buffer for read or write access by the CPU.
Eina_Rw_Slice efl_gfx_buffer_map(Eo *obj, Efl_Gfx_Buffer_Access_Mode mode, const Eina_Rect *region, Efl_Gfx_Colorspace cspace, int plane, int *stride);

buffer_size (get, set)

Rectangular size of the pixel buffer as allocated in memory.
Eina_Size2D efl_gfx_buffer_size_get(const Eo *obj);
void efl_gfx_buffer_size_set(Eo *obj, Eina_Size2D sz);


Unmap a region of this buffer, and update the internal data if needed.
Eina_Bool efl_gfx_buffer_unmap(Eo *obj, Eina_Rw_Slice slice);


Mark a sub-region of the given image object to be redrawn.
void efl_gfx_buffer_update_add(Eo *obj, const Eina_Rect *region);

colorspace (get)

The colorspace defines how pixels are encoded in the image in memory.
Efl_Gfx_Colorspace efl_gfx_buffer_colorspace_get(const Eo *obj);

stride (get)

Length in bytes of one row of pixels in memory.
int efl_gfx_buffer_stride_get(const Eo *obj);