summaryrefslogtreecommitdiff
path: root/pages/develop/api/efl/gfx/buffer.txt
blob: 15b07953255e7e48e3d94551ed9d0689db61378e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
~~Title: Efl.Gfx.Buffer~~
====== Efl.Gfx.Buffer (interface) ======

===== Description =====

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

{{page>:develop:api-include:efl:gfx:buffer:description&nouser&nolink&nodate}}

===== Inheritance =====


++++ Inheritance graph |

<graphviz>
digraph hierarchy {
    bgcolor = "transparent"
    size = "6"
    rankdir = "TB"

    node [shape = "box"]
    edge [color = "gray35"]

    efl_gfx_buffer [fillcolor = "dodgerblue4", label = "Efl.Gfx.Buffer", color = "cornflowerblue", fontcolor = "white", style = "filled"]

}
</graphviz>

++++

++++ Full hierarchy |



++++
===== Members =====

**[[:develop:api:efl:gfx:buffer:method:buffer_copy_set|buffer_copy_set]]**\\
> %%Set the pixels for this buffer by copying them, or allocate a new memory region.%%
<code c>
Eina_Bool efl_gfx_buffer_copy_set(Eo *obj, const Eina_Slice *slice, Eina_Size2D size, int stride, Efl_Gfx_Colorspace cspace, int plane);
</code>
\\
**[[:develop:api:efl:gfx:buffer:method:buffer_managed_get|buffer_managed_get]]**\\
> %%Get a direct pointer to the internal pixel data, if available.%%
<code c>
Eina_Slice efl_gfx_buffer_managed_get(Eo *obj, int plane);
</code>
\\
**[[:develop:api:efl:gfx:buffer:method:buffer_managed_set|buffer_managed_set]]**\\
> %%Set the pixels for this buffer, managed externally by the client.%%
<code c>
Eina_Bool efl_gfx_buffer_managed_set(Eo *obj, const Eina_Slice *slice, Eina_Size2D size, int stride, Efl_Gfx_Colorspace cspace, int plane);
</code>
\\
**[[:develop:api:efl:gfx:buffer:method:buffer_map|buffer_map]]**\\
> %%Map a region of this buffer for read or write access by the CPU.%%
<code c>
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);
</code>
\\
**[[:develop:api:efl:gfx:buffer:method:buffer_unmap|buffer_unmap]]**\\
> %%Unmap a region of this buffer, and update the internal data if needed.%%
<code c>
Eina_Bool efl_gfx_buffer_unmap(Eo *obj, Eina_Rw_Slice slice);
</code>
\\
**[[:develop:api:efl:gfx:buffer:method:buffer_update_add|buffer_update_add]]**\\
> %%Mark a sub-region of the given image object to be redrawn.%%
<code c>
void efl_gfx_buffer_update_add(Eo *obj, const Eina_Rect *region);
</code>
\\
**[[:develop:api:efl:gfx:buffer:property:alpha|alpha]]** //**(get, set)**//\\
> %%Indicates whether the alpha channel should be used.%%
<code c>
Eina_Bool efl_gfx_buffer_alpha_get(const Eo *obj);
void efl_gfx_buffer_alpha_set(Eo *obj, Eina_Bool alpha);
</code>
\\
**[[:develop:api:efl:gfx:buffer:property:buffer_borders|buffer_borders]]** //**(get)**//\\
> %%Duplicated pixel borders inside this buffer.%%
<code c>
void efl_gfx_buffer_borders_get(const Eo *obj, unsigned int *l, unsigned int *r, unsigned int *t, unsigned int *b);
</code>
\\
**[[:develop:api:efl:gfx:buffer:property:buffer_size|buffer_size]]** //**(get, set)**//\\
> %%Rectangular size of the pixel buffer as allocated in memory.%%
<code c>
Eina_Size2D efl_gfx_buffer_size_get(const Eo *obj);
void efl_gfx_buffer_size_set(Eo *obj, Eina_Size2D sz);
</code>
\\
**[[:develop:api:efl:gfx:buffer:property:colorspace|colorspace]]** //**(get)**//\\
> %%The colorspace defines how pixels are encoded in the image in memory.%%
<code c>
Efl_Gfx_Colorspace efl_gfx_buffer_colorspace_get(const Eo *obj);
</code>
\\
**[[:develop:api:efl:gfx:buffer:property:stride|stride]]** //**(get)**//\\
> %%Length in bytes of one row of pixels in memory.%%
<code c>
int efl_gfx_buffer_stride_get(const Eo *obj);
</code>
\\

===== Events =====