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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
#ifndef _ELM_MAPBUF_EO_H_
#define _ELM_MAPBUF_EO_H_
#ifndef _ELM_MAPBUF_EO_CLASS_TYPE
#define _ELM_MAPBUF_EO_CLASS_TYPE
typedef Eo Elm_Mapbuf;
#endif
#ifndef _ELM_MAPBUF_EO_TYPES
#define _ELM_MAPBUF_EO_TYPES
#endif
/** Elementary mapbuf class
*
* @ingroup Elm_Mapbuf
*/
#define ELM_MAPBUF_CLASS elm_mapbuf_class_get()
EWAPI const Efl_Class *elm_mapbuf_class_get(void) EINA_CONST;
/**
* @brief Set or unset auto flag for map rendering.
*
* When a ampbuf object has "auto mode" enabled, then it will enable and
* disable map mode based on current visibility. Mapbuf will track if you show
* or hide it AND if the object is inside the canvas viewport or not when it is
* moved or resized. Note that if you turn automode off, then map mode will be
* in a disabled state at this point. When you turn it on for the first time,
* the current state will be evaluated base on current properties of the mapbuf
* object.
*
* Auto mode is disabled by default.
*
* @param[in] obj The object.
* @param[in] on The auto mode state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_auto_set(Eo *obj, Eina_Bool on);
/**
* @brief Get a value whether auto mode is enabled or not.
*
* @param[in] obj The object.
*
* @return The auto mode state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI Eina_Bool elm_private_mapbuf_auto_get(const Eo *obj);
/**
* @brief Enable or disable smooth map rendering.
*
* This sets smoothing for map rendering. If the object is a type that has its
* own smoothing settings, then both the smooth settings for this object and
* the map must be turned off.
*
* By default smooth maps are enabled.
*
* @param[in] obj The object.
* @param[in] smooth The smooth mode state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_smooth_set(Eo *obj, Eina_Bool smooth);
/**
* @brief Get a value whether smooth map rendering is enabled or not.
*
* @param[in] obj The object.
*
* @return The smooth mode state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI Eina_Bool elm_private_mapbuf_smooth_get(const Eo *obj);
/**
* @brief Set or unset alpha flag for map rendering.
*
* This sets alpha flag for map rendering. If the object is a type that has its
* own alpha settings, then this will take precedence. Only image objects have
* this currently. It stops alpha blending of the map area, and is useful if
* you know the object and/or all sub-objects is 100% solid.
*
* Alpha is enabled by default.
*
* @param[in] obj The object.
* @param[in] alpha The alpha state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_alpha_set(Eo *obj, Eina_Bool alpha);
/**
* @brief Get a value whether alpha blending is enabled or not.
*
* @param[in] obj The object.
*
* @return The alpha state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI Eina_Bool elm_private_mapbuf_alpha_get(const Eo *obj);
/**
* @brief Enable or disable the map.
*
* This enables the map that is set or disables it. On enable, the object
* geometry will be saved, and the new geometry will change (position and size)
* to reflect the map geometry set.
*
* Also, when enabled, alpha and smooth states will be used, so if the content
* isn't solid, alpha should be enabled, for example, otherwise a black
* rectangle will fill the content.
*
* When disabled, the stored map will be freed and geometry prior to enabling
* the map will be restored.
*
* It's disabled by default.
*
* @param[in] obj The object.
* @param[in] enabled The enabled state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_enabled_set(Eo *obj, Eina_Bool enabled);
/**
* @brief Get a value whether map is enabled or not.
*
* @param[in] obj The object.
*
* @return The enabled state.
*
* @ingroup Elm_Mapbuf
*/
EOAPI Eina_Bool elm_private_mapbuf_enabled_get(const Eo *obj);
/**
* @brief The color of a point (vertex) in the mapbuf.
*
* This represents the color of the vertex in the mapbuf. Colors will be
* linearly interpolated between vertex points through the mapbuf. Color will
* multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default
* color of a vertex in a mapbuf is white solid (255, 255, 255, 255) which
* means it will have no effect on modifying the texture pixels.
*
* @param[in] obj The object.
* @param[in] idx Index of point to change, from 0 to 3.
* @param[in] r Red (0 - 255)
* @param[in] g Green (0 - 255)
* @param[in] b Blue (0 - 255)
* @param[in] a Alpha (0 - 255)
*
* @since 1.9
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_point_color_set(Eo *obj, int idx, int r, int g, int b, int a);
/**
* @brief The color of a point (vertex) in the mapbuf.
*
* This represents the color of the vertex in the mapbuf. Colors will be
* linearly interpolated between vertex points through the mapbuf. Color will
* multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default
* color of a vertex in a mapbuf is white solid (255, 255, 255, 255) which
* means it will have no effect on modifying the texture pixels.
*
* @param[in] obj The object.
* @param[in] idx Index of point to change, from 0 to 3.
* @param[out] r Red (0 - 255)
* @param[out] g Green (0 - 255)
* @param[out] b Blue (0 - 255)
* @param[out] a Alpha (0 - 255)
*
* @since 1.9
*
* @ingroup Elm_Mapbuf
*/
EOAPI void elm_private_mapbuf_point_color_get(const Eo *obj, int idx, int *r, int *g, int *b, int *a);
#endif
|