diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2015-02-12 22:25:06 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2015-02-12 22:30:10 +0900 |
commit | 5213599b5aa2cc0dc85739b9b3c7b8953380f72d (patch) | |
tree | b0358c0ee2b86fd81abbd4ec5f1ac545a397a6e1 /src | |
parent | d3527da0ab8cd9d9727c9aeca08df115be3632e2 (diff) |
evas 3d - undo async block code - 3d objects dont inherit from evas obj
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/evas/canvas/evas_3d_camera.c | 6 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_light.c | 14 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_material.c | 13 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_mesh.c | 29 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_node.c | 20 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_object.c | 5 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_scene.c | 17 | ||||
-rw-r--r-- | src/lib/evas/canvas/evas_3d_texture.c | 16 |
8 files changed, 11 insertions, 109 deletions
diff --git a/src/lib/evas/canvas/evas_3d_camera.c b/src/lib/evas/canvas/evas_3d_camera.c index b72c173e46..c6da2d3aa7 100644 --- a/src/lib/evas/canvas/evas_3d_camera.c +++ b/src/lib/evas/canvas/evas_3d_camera.c | |||
@@ -15,7 +15,6 @@ _camera_node_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key, | |||
15 | EOLIAN static void | 15 | EOLIAN static void |
16 | _evas_3d_camera_evas_3d_object_change_notify(Eo *obj,Evas_3D_Camera_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) | 16 | _evas_3d_camera_evas_3d_object_change_notify(Eo *obj,Evas_3D_Camera_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) |
17 | { | 17 | { |
18 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
19 | if (pd->nodes) eina_hash_foreach(pd->nodes, _camera_node_change_notify, obj); | 18 | if (pd->nodes) eina_hash_foreach(pd->nodes, _camera_node_change_notify, obj); |
20 | } | 19 | } |
21 | 20 | ||
@@ -75,7 +74,6 @@ EOLIAN static void | |||
75 | _evas_3d_camera_eo_base_destructor(Eo *obj, | 74 | _evas_3d_camera_eo_base_destructor(Eo *obj, |
76 | Evas_3D_Camera_Data *pd) | 75 | Evas_3D_Camera_Data *pd) |
77 | { | 76 | { |
78 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
79 | //evas_3d_object_unreference(&pd->base); | 77 | //evas_3d_object_unreference(&pd->base); |
80 | if (pd->nodes) eina_hash_free(pd->nodes); | 78 | if (pd->nodes) eina_hash_free(pd->nodes); |
81 | eo_do_super(obj, MY_CLASS, eo_destructor()); | 79 | eo_do_super(obj, MY_CLASS, eo_destructor()); |
@@ -95,7 +93,6 @@ EOLIAN static void | |||
95 | _evas_3d_camera_projection_matrix_set(Eo *obj, Evas_3D_Camera_Data *pd, | 93 | _evas_3d_camera_projection_matrix_set(Eo *obj, Evas_3D_Camera_Data *pd, |
96 | const Evas_Real *matrix) | 94 | const Evas_Real *matrix) |
97 | { | 95 | { |
98 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
99 | evas_mat4_array_set(&pd->projection, matrix); | 96 | evas_mat4_array_set(&pd->projection, matrix); |
100 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); | 97 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); |
101 | } | 98 | } |
@@ -119,7 +116,6 @@ _evas_3d_camera_projection_perspective_set(Eo *obj, Evas_3D_Camera_Data *pd, | |||
119 | ymax = dnear * (Evas_Real)tan((double)fovy * M_PI / 360.0); | 116 | ymax = dnear * (Evas_Real)tan((double)fovy * M_PI / 360.0); |
120 | xmax = ymax * aspect; | 117 | xmax = ymax * aspect; |
121 | 118 | ||
122 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
123 | evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); | 119 | evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); |
124 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); | 120 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); |
125 | } | 121 | } |
@@ -130,7 +126,6 @@ _evas_3d_camera_projection_frustum_set(Eo *obj, Evas_3D_Camera_Data *pd, | |||
130 | Evas_Real bottom, Evas_Real top, | 126 | Evas_Real bottom, Evas_Real top, |
131 | Evas_Real dnear, Evas_Real dfar) | 127 | Evas_Real dnear, Evas_Real dfar) |
132 | { | 128 | { |
133 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
134 | evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); | 129 | evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); |
135 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); | 130 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); |
136 | } | 131 | } |
@@ -141,7 +136,6 @@ _evas_3d_camera_projection_ortho_set(Eo *obj, Evas_3D_Camera_Data *pd, | |||
141 | Evas_Real bottom, Evas_Real top, | 136 | Evas_Real bottom, Evas_Real top, |
142 | Evas_Real dnear, Evas_Real dfar) | 137 | Evas_Real dnear, Evas_Real dfar) |
143 | { | 138 | { |
144 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
145 | evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); | 139 | evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); |
146 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); | 140 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_CAMERA_PROJECTION, NULL)); |
147 | } | 141 | } |
diff --git a/src/lib/evas/canvas/evas_3d_light.c b/src/lib/evas/canvas/evas_3d_light.c index 48abf0fd20..f9ca75b17b 100644 --- a/src/lib/evas/canvas/evas_3d_light.c +++ b/src/lib/evas/canvas/evas_3d_light.c | |||
@@ -15,7 +15,6 @@ _light_node_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key, | |||
15 | EOLIAN static void | 15 | EOLIAN static void |
16 | _evas_3d_light_evas_3d_object_change_notify(Eo *obj, Evas_3D_Light_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) | 16 | _evas_3d_light_evas_3d_object_change_notify(Eo *obj, Evas_3D_Light_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) |
17 | { | 17 | { |
18 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
19 | if (pd->nodes) | 18 | if (pd->nodes) |
20 | eina_hash_foreach(pd->nodes, _light_node_change_notify, obj); | 19 | eina_hash_foreach(pd->nodes, _light_node_change_notify, obj); |
21 | } | 20 | } |
@@ -98,7 +97,6 @@ _evas_3d_light_eo_base_constructor(Eo *obj, Evas_3D_Light_Data *pd) | |||
98 | EOLIAN static void | 97 | EOLIAN static void |
99 | _evas_3d_light_eo_base_destructor(Eo *obj, Evas_3D_Light_Data *pd) | 98 | _evas_3d_light_eo_base_destructor(Eo *obj, Evas_3D_Light_Data *pd) |
100 | { | 99 | { |
101 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
102 | if (pd->nodes) | 100 | if (pd->nodes) |
103 | eina_hash_free(pd->nodes); | 101 | eina_hash_free(pd->nodes); |
104 | eo_do_super(obj, MY_CLASS, eo_destructor()); | 102 | eo_do_super(obj, MY_CLASS, eo_destructor()); |
@@ -108,7 +106,6 @@ _evas_3d_light_eo_base_destructor(Eo *obj, Evas_3D_Light_Data *pd) | |||
108 | EOLIAN static void | 106 | EOLIAN static void |
109 | _evas_3d_light_directional_set(Eo *obj, Evas_3D_Light_Data *pd, Eina_Bool directional) | 107 | _evas_3d_light_directional_set(Eo *obj, Evas_3D_Light_Data *pd, Eina_Bool directional) |
110 | { | 108 | { |
111 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
112 | if (pd->directional != directional) | 109 | if (pd->directional != directional) |
113 | { | 110 | { |
114 | pd->directional = directional; | 111 | pd->directional = directional; |
@@ -125,7 +122,6 @@ _evas_3d_light_directional_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd) | |||
125 | EOLIAN static void | 122 | EOLIAN static void |
126 | _evas_3d_light_ambient_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 123 | _evas_3d_light_ambient_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
127 | { | 124 | { |
128 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
129 | pd->ambient.r = r; | 125 | pd->ambient.r = r; |
130 | pd->ambient.g = g; | 126 | pd->ambient.g = g; |
131 | pd->ambient.b = b; | 127 | pd->ambient.b = b; |
@@ -146,7 +142,6 @@ _evas_3d_light_ambient_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd, Evas_Rea | |||
146 | EOLIAN static void | 142 | EOLIAN static void |
147 | _evas_3d_light_diffuse_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 143 | _evas_3d_light_diffuse_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
148 | { | 144 | { |
149 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
150 | pd->diffuse.r = r; | 145 | pd->diffuse.r = r; |
151 | pd->diffuse.g = g; | 146 | pd->diffuse.g = g; |
152 | pd->diffuse.b = b; | 147 | pd->diffuse.b = b; |
@@ -167,7 +162,6 @@ _evas_3d_light_diffuse_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd, Evas_Rea | |||
167 | EOLIAN static void | 162 | EOLIAN static void |
168 | _evas_3d_light_specular_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 163 | _evas_3d_light_specular_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
169 | { | 164 | { |
170 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
171 | pd->specular.r = r; | 165 | pd->specular.r = r; |
172 | pd->specular.g = g; | 166 | pd->specular.g = g; |
173 | pd->specular.b = b; | 167 | pd->specular.b = b; |
@@ -188,7 +182,6 @@ _evas_3d_light_specular_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd, Evas_Re | |||
188 | EOLIAN static void | 182 | EOLIAN static void |
189 | _evas_3d_light_spot_exponent_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real exponent) | 183 | _evas_3d_light_spot_exponent_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real exponent) |
190 | { | 184 | { |
191 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
192 | pd->spot_exp = exponent; | 185 | pd->spot_exp = exponent; |
193 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_SPOT_EXP, NULL)); | 186 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_SPOT_EXP, NULL)); |
194 | } | 187 | } |
@@ -202,7 +195,6 @@ _evas_3d_light_spot_exponent_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd) | |||
202 | EOLIAN static void | 195 | EOLIAN static void |
203 | _evas_3d_light_spot_cutoff_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real cutoff) | 196 | _evas_3d_light_spot_cutoff_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real cutoff) |
204 | { | 197 | { |
205 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
206 | pd->spot_cutoff = cutoff; | 198 | pd->spot_cutoff = cutoff; |
207 | pd->spot_cutoff_cos = cos(cutoff * M_PI / 180.0); | 199 | pd->spot_cutoff_cos = cos(cutoff * M_PI / 180.0); |
208 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_SPOT_CUTOFF, NULL)); | 200 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_SPOT_CUTOFF, NULL)); |
@@ -217,7 +209,6 @@ _evas_3d_light_spot_cutoff_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd) | |||
217 | EOLIAN static void | 209 | EOLIAN static void |
218 | _evas_3d_light_attenuation_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real constant, Evas_Real linear, Evas_Real quadratic) | 210 | _evas_3d_light_attenuation_set(Eo *obj, Evas_3D_Light_Data *pd, Evas_Real constant, Evas_Real linear, Evas_Real quadratic) |
219 | { | 211 | { |
220 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
221 | pd->atten_const = constant; | 212 | pd->atten_const = constant; |
222 | pd->atten_linear = linear; | 213 | pd->atten_linear = linear; |
223 | pd->atten_quad = quadratic; | 214 | pd->atten_quad = quadratic; |
@@ -235,7 +226,6 @@ _evas_3d_light_attenuation_get(Eo *obj EINA_UNUSED, Evas_3D_Light_Data *pd, Evas | |||
235 | EOLIAN static void | 226 | EOLIAN static void |
236 | _evas_3d_light_attenuation_enable_set(Eo *obj, Evas_3D_Light_Data *pd, Eina_Bool enable) | 227 | _evas_3d_light_attenuation_enable_set(Eo *obj, Evas_3D_Light_Data *pd, Eina_Bool enable) |
237 | { | 228 | { |
238 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
239 | if (pd->enable_attenuation != enable) | 229 | if (pd->enable_attenuation != enable) |
240 | { | 230 | { |
241 | pd->enable_attenuation = enable; | 231 | pd->enable_attenuation = enable; |
@@ -253,7 +243,6 @@ EOLIAN static void | |||
253 | _evas_3d_light_projection_matrix_set(Eo *obj, Evas_3D_Light_Data *pd, | 243 | _evas_3d_light_projection_matrix_set(Eo *obj, Evas_3D_Light_Data *pd, |
254 | const Evas_Real *matrix) | 244 | const Evas_Real *matrix) |
255 | { | 245 | { |
256 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
257 | evas_mat4_array_set(&pd->projection, matrix); | 246 | evas_mat4_array_set(&pd->projection, matrix); |
258 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); | 247 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); |
259 | } | 248 | } |
@@ -277,7 +266,6 @@ _evas_3d_light_projection_perspective_set(Eo *obj, Evas_3D_Light_Data *pd, | |||
277 | ymax = dnear * (Evas_Real)tan((double)fovy * M_PI / 360.0); | 266 | ymax = dnear * (Evas_Real)tan((double)fovy * M_PI / 360.0); |
278 | xmax = ymax * aspect; | 267 | xmax = ymax * aspect; |
279 | 268 | ||
280 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
281 | evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); | 269 | evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); |
282 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); | 270 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); |
283 | } | 271 | } |
@@ -288,7 +276,6 @@ _evas_3d_light_projection_frustum_set(Eo *obj, Evas_3D_Light_Data *pd, | |||
288 | Evas_Real bottom, Evas_Real top, | 276 | Evas_Real bottom, Evas_Real top, |
289 | Evas_Real dnear, Evas_Real dfar) | 277 | Evas_Real dnear, Evas_Real dfar) |
290 | { | 278 | { |
291 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
292 | evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); | 279 | evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); |
293 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); | 280 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); |
294 | } | 281 | } |
@@ -299,7 +286,6 @@ _evas_3d_light_projection_ortho_set(Eo *obj, Evas_3D_Light_Data *pd, | |||
299 | Evas_Real bottom, Evas_Real top, | 286 | Evas_Real bottom, Evas_Real top, |
300 | Evas_Real dnear, Evas_Real dfar) | 287 | Evas_Real dnear, Evas_Real dfar) |
301 | { | 288 | { |
302 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
303 | evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); | 289 | evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); |
304 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); | 290 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_LIGHT_PROJECTION, NULL)); |
305 | } | 291 | } |
diff --git a/src/lib/evas/canvas/evas_3d_material.c b/src/lib/evas/canvas/evas_3d_material.c index ca0b4037cf..8cd325d6a1 100644 --- a/src/lib/evas/canvas/evas_3d_material.c +++ b/src/lib/evas/canvas/evas_3d_material.c | |||
@@ -15,16 +15,14 @@ _material_mesh_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key, | |||
15 | EOLIAN static void | 15 | EOLIAN static void |
16 | _evas_3d_material_evas_3d_object_change_notify(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) | 16 | _evas_3d_material_evas_3d_object_change_notify(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) |
17 | { | 17 | { |
18 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
19 | if (pd->meshes) | 18 | if (pd->meshes) |
20 | eina_hash_foreach(pd->meshes, _material_mesh_change_notify, obj); | 19 | eina_hash_foreach(pd->meshes, _material_mesh_change_notify, obj); |
21 | } | 20 | } |
22 | 21 | ||
23 | EOLIAN static void | 22 | EOLIAN static void |
24 | _evas_3d_material_evas_3d_object_update_notify(Eo *obj, Evas_3D_Material_Data *pd) | 23 | _evas_3d_material_evas_3d_object_update_notify(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd) |
25 | { | 24 | { |
26 | int i; | 25 | int i; |
27 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
28 | for (i = 0; i < EVAS_3D_MATERIAL_ATTRIB_COUNT; i++) | 26 | for (i = 0; i < EVAS_3D_MATERIAL_ATTRIB_COUNT; i++) |
29 | { | 27 | { |
30 | if (pd->attribs[i].enable) | 28 | if (pd->attribs[i].enable) |
@@ -108,7 +106,6 @@ _evas_3d_material_eo_base_destructor(Eo *obj, Evas_3D_Material_Data *pd) | |||
108 | { | 106 | { |
109 | int i; | 107 | int i; |
110 | 108 | ||
111 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
112 | if (pd->meshes) | 109 | if (pd->meshes) |
113 | eina_hash_free(pd->meshes); | 110 | eina_hash_free(pd->meshes); |
114 | 111 | ||
@@ -124,9 +121,8 @@ _evas_3d_material_eo_base_destructor(Eo *obj, Evas_3D_Material_Data *pd) | |||
124 | } | 121 | } |
125 | 122 | ||
126 | EOLIAN static void | 123 | EOLIAN static void |
127 | _evas_3d_material_enable_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Eina_Bool enable) | 124 | _evas_3d_material_enable_set(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Eina_Bool enable) |
128 | { | 125 | { |
129 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
130 | pd->attribs[attrib].enable = enable; | 126 | pd->attribs[attrib].enable = enable; |
131 | } | 127 | } |
132 | 128 | ||
@@ -139,7 +135,6 @@ _evas_3d_material_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd, Eva | |||
139 | EOLIAN static void | 135 | EOLIAN static void |
140 | _evas_3d_material_color_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 136 | _evas_3d_material_color_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
141 | { | 137 | { |
142 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
143 | evas_color_set(&pd->attribs[attrib].color, r, g, b, a); | 138 | evas_color_set(&pd->attribs[attrib].color, r, g, b, a); |
144 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MATERIAL_COLOR, NULL)); | 139 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MATERIAL_COLOR, NULL)); |
145 | } | 140 | } |
@@ -154,9 +149,8 @@ _evas_3d_material_color_get(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd, Evas | |||
154 | } | 149 | } |
155 | 150 | ||
156 | EOLIAN static void | 151 | EOLIAN static void |
157 | _evas_3d_material_shininess_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_Real shininess) | 152 | _evas_3d_material_shininess_set(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd, Evas_Real shininess) |
158 | { | 153 | { |
159 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
160 | pd->shininess = shininess; | 154 | pd->shininess = shininess; |
161 | } | 155 | } |
162 | 156 | ||
@@ -169,7 +163,6 @@ _evas_3d_material_shininess_get(Eo *obj EINA_UNUSED, Evas_3D_Material_Data *pd) | |||
169 | EOLIAN static void | 163 | EOLIAN static void |
170 | _evas_3d_material_texture_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Evas_3D_Texture *texture) | 164 | _evas_3d_material_texture_set(Eo *obj, Evas_3D_Material_Data *pd, Evas_3D_Material_Attrib attrib, Evas_3D_Texture *texture) |
171 | { | 165 | { |
172 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
173 | if (pd->attribs[attrib].texture != texture) | 166 | if (pd->attribs[attrib].texture != texture) |
174 | { | 167 | { |
175 | if (pd->attribs[attrib].texture) | 168 | if (pd->attribs[attrib].texture) |
diff --git a/src/lib/evas/canvas/evas_3d_mesh.c b/src/lib/evas/canvas/evas_3d_mesh.c index 55b1d4795f..4430438054 100644 --- a/src/lib/evas/canvas/evas_3d_mesh.c +++ b/src/lib/evas/canvas/evas_3d_mesh.c | |||
@@ -182,12 +182,11 @@ _evas_3d_mesh_evas_3d_object_change_notify(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_ | |||
182 | } | 182 | } |
183 | 183 | ||
184 | EOLIAN static void | 184 | EOLIAN static void |
185 | _evas_3d_mesh_evas_3d_object_update_notify(Eo *obj, Evas_3D_Mesh_Data *pd) | 185 | _evas_3d_mesh_evas_3d_object_update_notify(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) |
186 | { | 186 | { |
187 | Eina_List *l; | 187 | Eina_List *l; |
188 | Evas_3D_Mesh_Frame *f; | 188 | Evas_3D_Mesh_Frame *f; |
189 | 189 | ||
190 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
191 | EINA_LIST_FOREACH(pd->frames, l, f) | 190 | EINA_LIST_FOREACH(pd->frames, l, f) |
192 | { | 191 | { |
193 | if (f->material) | 192 | if (f->material) |
@@ -260,16 +259,14 @@ _evas_3d_mesh_eo_base_constructor(Eo *obj, Evas_3D_Mesh_Data *pd) | |||
260 | EOLIAN static void | 259 | EOLIAN static void |
261 | _evas_3d_mesh_eo_base_destructor(Eo *obj, Evas_3D_Mesh_Data *pd) | 260 | _evas_3d_mesh_eo_base_destructor(Eo *obj, Evas_3D_Mesh_Data *pd) |
262 | { | 261 | { |
263 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
264 | //evas_3d_object_unreference(&pd->base); | 262 | //evas_3d_object_unreference(&pd->base); |
265 | _mesh_fini(pd); | 263 | _mesh_fini(pd); |
266 | eo_do_super(obj, MY_CLASS, eo_destructor()); | 264 | eo_do_super(obj, MY_CLASS, eo_destructor()); |
267 | } | 265 | } |
268 | 266 | ||
269 | EOLIAN static void | 267 | EOLIAN static void |
270 | _evas_3d_mesh_shade_mode_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Shade_Mode mode) | 268 | _evas_3d_mesh_shade_mode_set(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd, Evas_3D_Shade_Mode mode) |
271 | { | 269 | { |
272 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
273 | if (pd->shade_mode != mode) | 270 | if (pd->shade_mode != mode) |
274 | { | 271 | { |
275 | pd->shade_mode = mode; | 272 | pd->shade_mode = mode; |
@@ -286,7 +283,6 @@ _evas_3d_mesh_shade_mode_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
286 | EOLIAN static void | 283 | EOLIAN static void |
287 | _evas_3d_mesh_vertex_count_set(Eo *obj, Evas_3D_Mesh_Data *pd, unsigned int count) | 284 | _evas_3d_mesh_vertex_count_set(Eo *obj, Evas_3D_Mesh_Data *pd, unsigned int count) |
288 | { | 285 | { |
289 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
290 | pd->vertex_count = count; | 286 | pd->vertex_count = count; |
291 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_VERTEX_COUNT, NULL)); | 287 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_VERTEX_COUNT, NULL)); |
292 | } | 288 | } |
@@ -308,7 +304,6 @@ _evas_3d_mesh_frame_add(Eo *obj, Evas_3D_Mesh_Data *pd, int frame) | |||
308 | return; | 304 | return; |
309 | } | 305 | } |
310 | 306 | ||
311 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
312 | f = evas_3d_mesh_frame_new(obj); | 307 | f = evas_3d_mesh_frame_new(obj); |
313 | 308 | ||
314 | if (f == NULL) | 309 | if (f == NULL) |
@@ -330,7 +325,6 @@ _evas_3d_mesh_frame_del(Eo *obj, Evas_3D_Mesh_Data *pd, int frame) | |||
330 | return; | 325 | return; |
331 | } | 326 | } |
332 | 327 | ||
333 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
334 | pd->frames = eina_list_remove(pd->frames, f); | 328 | pd->frames = eina_list_remove(pd->frames, f); |
335 | evas_3d_mesh_frame_free(f); | 329 | evas_3d_mesh_frame_free(f); |
336 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FRAME, NULL)); | 330 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FRAME, NULL)); |
@@ -350,7 +344,6 @@ _evas_3d_mesh_frame_material_set(Eo *obj, Evas_3D_Mesh_Data *pd, int frame, Evas | |||
350 | if (f->material == material) | 344 | if (f->material == material) |
351 | return; | 345 | return; |
352 | 346 | ||
353 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
354 | if (f->material) | 347 | if (f->material) |
355 | { | 348 | { |
356 | evas_3d_material_mesh_del(f->material, obj); | 349 | evas_3d_material_mesh_del(f->material, obj); |
@@ -395,7 +388,6 @@ _evas_3d_mesh_frame_vertex_data_set(Eo *obj, Evas_3D_Mesh_Data *pd, int frame, E | |||
395 | return; | 388 | return; |
396 | } | 389 | } |
397 | 390 | ||
398 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
399 | if (attrib == EVAS_3D_VERTEX_POSITION) | 391 | if (attrib == EVAS_3D_VERTEX_POSITION) |
400 | { | 392 | { |
401 | int i = 0, j = 0, size = stride/sizeof(float); | 393 | int i = 0, j = 0, size = stride/sizeof(float); |
@@ -479,7 +471,6 @@ _evas_3d_mesh_frame_vertex_data_copy_set(Eo *obj, Evas_3D_Mesh_Data *pd, int fra | |||
479 | return; | 471 | return; |
480 | } | 472 | } |
481 | 473 | ||
482 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
483 | if (attrib == EVAS_3D_VERTEX_POSITION) | 474 | if (attrib == EVAS_3D_VERTEX_POSITION) |
484 | { | 475 | { |
485 | element_count = 3; | 476 | element_count = 3; |
@@ -608,7 +599,6 @@ _evas_3d_mesh_frame_vertex_data_map(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd, | |||
608 | return NULL; | 599 | return NULL; |
609 | } | 600 | } |
610 | 601 | ||
611 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
612 | f->vertices[attrib].mapped = EINA_TRUE; | 602 | f->vertices[attrib].mapped = EINA_TRUE; |
613 | return f->vertices[attrib].data; | 603 | return f->vertices[attrib].data; |
614 | } | 604 | } |
@@ -630,7 +620,6 @@ _evas_3d_mesh_frame_vertex_data_unmap(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd | |||
630 | return; | 620 | return; |
631 | } | 621 | } |
632 | 622 | ||
633 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
634 | f->vertices[attrib].mapped = EINA_FALSE; | 623 | f->vertices[attrib].mapped = EINA_FALSE; |
635 | } | 624 | } |
636 | 625 | ||
@@ -651,7 +640,6 @@ _evas_3d_mesh_frame_vertex_stride_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd | |||
651 | EOLIAN static void | 640 | EOLIAN static void |
652 | _evas_3d_mesh_index_data_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Index_Format format, int count, const void *indices) | 641 | _evas_3d_mesh_index_data_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Index_Format format, int count, const void *indices) |
653 | { | 642 | { |
654 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
655 | if (pd->owns_indices && pd->indices) | 643 | if (pd->owns_indices && pd->indices) |
656 | free(pd->indices); | 644 | free(pd->indices); |
657 | 645 | ||
@@ -683,7 +671,6 @@ _evas_3d_mesh_index_data_copy_set(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd, Ev | |||
683 | return; | 671 | return; |
684 | } | 672 | } |
685 | 673 | ||
686 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
687 | if (!pd->owns_indices || pd->index_size < size) | 674 | if (!pd->owns_indices || pd->index_size < size) |
688 | { | 675 | { |
689 | if (pd->owns_indices && pd->indices) | 676 | if (pd->owns_indices && pd->indices) |
@@ -729,7 +716,6 @@ _evas_3d_mesh_index_data_map(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
729 | return NULL; | 716 | return NULL; |
730 | } | 717 | } |
731 | 718 | ||
732 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
733 | pd->index_mapped = EINA_TRUE; | 719 | pd->index_mapped = EINA_TRUE; |
734 | return pd->indices; | 720 | return pd->indices; |
735 | } | 721 | } |
@@ -743,14 +729,12 @@ _evas_3d_mesh_index_data_unmap(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
743 | return; | 729 | return; |
744 | } | 730 | } |
745 | 731 | ||
746 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
747 | pd->index_mapped = EINA_FALSE; | 732 | pd->index_mapped = EINA_FALSE; |
748 | } | 733 | } |
749 | 734 | ||
750 | EOLIAN static void | 735 | EOLIAN static void |
751 | _evas_3d_mesh_vertex_assembly_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Vertex_Assembly assembly) | 736 | _evas_3d_mesh_vertex_assembly_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Vertex_Assembly assembly) |
752 | { | 737 | { |
753 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
754 | pd->assembly = assembly; | 738 | pd->assembly = assembly; |
755 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_VERTEX_ASSEMBLY, NULL)); | 739 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_VERTEX_ASSEMBLY, NULL)); |
756 | } | 740 | } |
@@ -758,14 +742,12 @@ _evas_3d_mesh_vertex_assembly_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Vertex | |||
758 | EOLIAN static Evas_3D_Vertex_Assembly | 742 | EOLIAN static Evas_3D_Vertex_Assembly |
759 | _evas_3d_mesh_vertex_assembly_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | 743 | _evas_3d_mesh_vertex_assembly_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) |
760 | { | 744 | { |
761 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
762 | return pd->assembly; | 745 | return pd->assembly; |
763 | } | 746 | } |
764 | 747 | ||
765 | EOLIAN static void | 748 | EOLIAN static void |
766 | _evas_3d_mesh_fog_color_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 749 | _evas_3d_mesh_fog_color_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
767 | { | 750 | { |
768 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
769 | evas_color_set(&pd->fog_color, r, g, b, a); | 751 | evas_color_set(&pd->fog_color, r, g, b, a); |
770 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FOG, NULL)); | 752 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FOG, NULL)); |
771 | } | 753 | } |
@@ -783,7 +765,6 @@ _evas_3d_mesh_fog_color_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd, | |||
783 | EOLIAN static void | 765 | EOLIAN static void |
784 | _evas_3d_mesh_fog_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool enabled) | 766 | _evas_3d_mesh_fog_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool enabled) |
785 | { | 767 | { |
786 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
787 | pd->fog_enabled = enabled; | 768 | pd->fog_enabled = enabled; |
788 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FOG, NULL)); | 769 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_FOG, NULL)); |
789 | } | 770 | } |
@@ -797,7 +778,6 @@ _evas_3d_mesh_fog_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
797 | EOLIAN static void | 778 | EOLIAN static void |
798 | _evas_3d_mesh_blending_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool blending) | 779 | _evas_3d_mesh_blending_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool blending) |
799 | { | 780 | { |
800 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
801 | pd->blending = blending; | 781 | pd->blending = blending; |
802 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_BLENDING, NULL)); | 782 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_BLENDING, NULL)); |
803 | } | 783 | } |
@@ -811,7 +791,6 @@ _evas_3d_mesh_blending_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
811 | EOLIAN static void | 791 | EOLIAN static void |
812 | _evas_3d_mesh_blending_func_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Blend_Func sfactor, Evas_3D_Blend_Func dfactor) | 792 | _evas_3d_mesh_blending_func_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Blend_Func sfactor, Evas_3D_Blend_Func dfactor) |
813 | { | 793 | { |
814 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
815 | pd->blend_sfactor = sfactor; | 794 | pd->blend_sfactor = sfactor; |
816 | pd->blend_dfactor = dfactor; | 795 | pd->blend_dfactor = dfactor; |
817 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_BLENDING, NULL)); | 796 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_BLENDING, NULL)); |
@@ -829,7 +808,6 @@ EOLIAN static void | |||
829 | _evas_3d_mesh_mmap_set(Eo *obj, Evas_3D_Mesh_Data *pd, | 808 | _evas_3d_mesh_mmap_set(Eo *obj, Evas_3D_Mesh_Data *pd, |
830 | Eina_File *file, const char *key EINA_UNUSED) | 809 | Eina_File *file, const char *key EINA_UNUSED) |
831 | { | 810 | { |
832 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
833 | _mesh_fini(pd); | 811 | _mesh_fini(pd); |
834 | _mesh_init(pd); | 812 | _mesh_init(pd); |
835 | 813 | ||
@@ -843,7 +821,6 @@ _evas_3d_mesh_efl_file_file_set(Eo *obj, Evas_3D_Mesh_Data *pd, | |||
843 | const char *file, | 821 | const char *file, |
844 | const char *key EINA_UNUSED) | 822 | const char *key EINA_UNUSED) |
845 | { | 823 | { |
846 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
847 | _mesh_fini(pd); | 824 | _mesh_fini(pd); |
848 | _mesh_init(pd); | 825 | _mesh_init(pd); |
849 | 826 | ||
@@ -861,7 +838,6 @@ _evas_3d_mesh_efl_file_save(Eo *obj, Evas_3D_Mesh_Data *pd, | |||
861 | { | 838 | { |
862 | if ((file == NULL) || (obj == NULL) || (pd == NULL)) return EINA_FALSE; | 839 | if ((file == NULL) || (obj == NULL) || (pd == NULL)) return EINA_FALSE; |
863 | 840 | ||
864 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
865 | Evas_3D_Mesh_Frame *f = evas_3d_mesh_frame_find(pd, 0); | 841 | Evas_3D_Mesh_Frame *f = evas_3d_mesh_frame_find(pd, 0); |
866 | 842 | ||
867 | if (f == NULL) | 843 | if (f == NULL) |
@@ -998,7 +974,6 @@ _evas_3d_mesh_color_pick_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Mesh_Data *pd) | |||
998 | EOLIAN static Eina_Bool | 974 | EOLIAN static Eina_Bool |
999 | _evas_3d_mesh_color_pick_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool _enabled) | 975 | _evas_3d_mesh_color_pick_enable_set(Eo *obj, Evas_3D_Mesh_Data *pd, Eina_Bool _enabled) |
1000 | { | 976 | { |
1001 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1002 | if (pd->color_pick_enabled != _enabled) | 977 | if (pd->color_pick_enabled != _enabled) |
1003 | pd->color_pick_enabled = _enabled; | 978 | pd->color_pick_enabled = _enabled; |
1004 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_COLOR_PICK, NULL)); | 979 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_MESH_COLOR_PICK, NULL)); |
diff --git a/src/lib/evas/canvas/evas_3d_node.c b/src/lib/evas/canvas/evas_3d_node.c index ead5694e81..62e2c1cb01 100644 --- a/src/lib/evas/canvas/evas_3d_node.c +++ b/src/lib/evas/canvas/evas_3d_node.c | |||
@@ -85,7 +85,6 @@ _evas_3d_node_evas_3d_object_change_notify(Eo *obj, Evas_3D_Node_Data *pd, Evas_ | |||
85 | Eina_Bool scale; | 85 | Eina_Bool scale; |
86 | Eina_Bool parent_change; | 86 | Eina_Bool parent_change; |
87 | 87 | ||
88 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
89 | /* Notify all scenes using this node that it has changed. */ | 88 | /* Notify all scenes using this node that it has changed. */ |
90 | if (pd->scenes_root) | 89 | if (pd->scenes_root) |
91 | eina_hash_foreach(pd->scenes_root, _node_scene_root_change_notify, obj); | 90 | eina_hash_foreach(pd->scenes_root, _node_scene_root_change_notify, obj); |
@@ -458,7 +457,6 @@ _node_update_done(Evas_3D_Node *obj, void *data EINA_UNUSED) | |||
458 | EOLIAN static void | 457 | EOLIAN static void |
459 | _evas_3d_node_evas_3d_object_update_notify(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED) | 458 | _evas_3d_node_evas_3d_object_update_notify(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED) |
460 | { | 459 | { |
461 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
462 | /* Update transform. */ | 460 | /* Update transform. */ |
463 | evas_3d_node_tree_traverse(obj, EVAS_3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE, | 461 | evas_3d_node_tree_traverse(obj, EVAS_3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE, |
464 | _node_transform_update, NULL); | 462 | _node_transform_update, NULL); |
@@ -935,7 +933,6 @@ _evas_3d_node_member_add(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node *member) | |||
935 | ERR("Failed to add a member node (adding to itself)."); | 933 | ERR("Failed to add a member node (adding to itself)."); |
936 | return; | 934 | return; |
937 | } | 935 | } |
938 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
939 | Evas_3D_Node_Data *pdmember = eo_data_scope_get(member, MY_CLASS); | 936 | Evas_3D_Node_Data *pdmember = eo_data_scope_get(member, MY_CLASS); |
940 | if (pdmember->parent == obj) | 937 | if (pdmember->parent == obj) |
941 | return; | 938 | return; |
@@ -976,7 +973,6 @@ _evas_3d_node_member_del(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node *member) | |||
976 | return; | 973 | return; |
977 | } | 974 | } |
978 | 975 | ||
979 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
980 | /* Delete the member node. */ | 976 | /* Delete the member node. */ |
981 | pd->members = eina_list_remove(pd->members, member); | 977 | pd->members = eina_list_remove(pd->members, member); |
982 | pdmember->parent = NULL; | 978 | pdmember->parent = NULL; |
@@ -1000,14 +996,12 @@ _evas_3d_node_parent_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) | |||
1000 | EOLIAN static const Eina_List * | 996 | EOLIAN static const Eina_List * |
1001 | _evas_3d_node_member_list_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) | 997 | _evas_3d_node_member_list_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) |
1002 | { | 998 | { |
1003 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1004 | return pd->members; | 999 | return pd->members; |
1005 | } | 1000 | } |
1006 | 1001 | ||
1007 | EOLIAN static void | 1002 | EOLIAN static void |
1008 | _evas_3d_node_position_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z) | 1003 | _evas_3d_node_position_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z) |
1009 | { | 1004 | { |
1010 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1011 | pd->position.x = x; | 1005 | pd->position.x = x; |
1012 | pd->position.y = y; | 1006 | pd->position.y = y; |
1013 | pd->position.z = z; | 1007 | pd->position.z = z; |
@@ -1018,7 +1012,6 @@ _evas_3d_node_position_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Rea | |||
1018 | EOLIAN static void | 1012 | EOLIAN static void |
1019 | _evas_3d_node_orientation_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z, Evas_Real w) | 1013 | _evas_3d_node_orientation_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z, Evas_Real w) |
1020 | { | 1014 | { |
1021 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1022 | pd->orientation.x = x; | 1015 | pd->orientation.x = x; |
1023 | pd->orientation.y = y; | 1016 | pd->orientation.y = y; |
1024 | pd->orientation.z = z; | 1017 | pd->orientation.z = z; |
@@ -1035,7 +1028,6 @@ _evas_3d_node_orientation_angle_axis_set(Eo *obj, Evas_3D_Node_Data *pd, | |||
1035 | Evas_Real s = sin(half_angle); | 1028 | Evas_Real s = sin(half_angle); |
1036 | Evas_Vec3 axis; | 1029 | Evas_Vec3 axis; |
1037 | 1030 | ||
1038 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1039 | evas_vec3_set(&axis, x, y, z); | 1031 | evas_vec3_set(&axis, x, y, z); |
1040 | evas_vec3_normalize(&axis, &axis); | 1032 | evas_vec3_normalize(&axis, &axis); |
1041 | 1033 | ||
@@ -1050,7 +1042,6 @@ _evas_3d_node_orientation_angle_axis_set(Eo *obj, Evas_3D_Node_Data *pd, | |||
1050 | EOLIAN static void | 1042 | EOLIAN static void |
1051 | _evas_3d_node_scale_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z) | 1043 | _evas_3d_node_scale_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_Real x, Evas_Real y, Evas_Real z) |
1052 | { | 1044 | { |
1053 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1054 | pd->scale.x = x; | 1045 | pd->scale.x = x; |
1055 | pd->scale.y = y; | 1046 | pd->scale.y = y; |
1056 | pd->scale.z = z; | 1047 | pd->scale.z = z; |
@@ -1143,7 +1134,6 @@ _evas_3d_node_scale_get(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Space space, | |||
1143 | EOLIAN static void | 1134 | EOLIAN static void |
1144 | _evas_3d_node_position_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) | 1135 | _evas_3d_node_position_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) |
1145 | { | 1136 | { |
1146 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1147 | pd->position_inherit = inherit; | 1137 | pd->position_inherit = inherit; |
1148 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_POSITION, NULL)); | 1138 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_POSITION, NULL)); |
1149 | } | 1139 | } |
@@ -1151,7 +1141,6 @@ _evas_3d_node_position_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inh | |||
1151 | EOLIAN static void | 1141 | EOLIAN static void |
1152 | _evas_3d_node_orientation_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) | 1142 | _evas_3d_node_orientation_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) |
1153 | { | 1143 | { |
1154 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1155 | pd->orientation_inherit = inherit; | 1144 | pd->orientation_inherit = inherit; |
1156 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); | 1145 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); |
1157 | } | 1146 | } |
@@ -1159,7 +1148,6 @@ _evas_3d_node_orientation_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool | |||
1159 | EOLIAN static void | 1148 | EOLIAN static void |
1160 | _evas_3d_node_scale_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) | 1149 | _evas_3d_node_scale_inherit_set(Eo *obj, Evas_3D_Node_Data *pd, Eina_Bool inherit) |
1161 | { | 1150 | { |
1162 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1163 | pd->scale_inherit = inherit; | 1151 | pd->scale_inherit = inherit; |
1164 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_SCALE, NULL)); | 1152 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_NODE_TRANSFORM_SCALE, NULL)); |
1165 | } | 1153 | } |
@@ -1191,7 +1179,6 @@ _evas_3d_node_look_at_set(Eo *obj, Evas_3D_Node_Data *pd, | |||
1191 | Evas_Vec3 up; | 1179 | Evas_Vec3 up; |
1192 | Evas_Vec3 x, y, z; | 1180 | Evas_Vec3 x, y, z; |
1193 | 1181 | ||
1194 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1195 | /* Target position in parent space. */ | 1182 | /* Target position in parent space. */ |
1196 | if (target_space == EVAS_3D_SPACE_LOCAL) | 1183 | if (target_space == EVAS_3D_SPACE_LOCAL) |
1197 | { | 1184 | { |
@@ -1305,7 +1292,6 @@ _evas_3d_node_camera_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Camera *camera) | |||
1305 | if (pd->data.camera.camera == camera) | 1292 | if (pd->data.camera.camera == camera) |
1306 | return; | 1293 | return; |
1307 | 1294 | ||
1308 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1309 | if (pd->data.camera.camera) | 1295 | if (pd->data.camera.camera) |
1310 | { | 1296 | { |
1311 | /* Detach previous camera object. */ | 1297 | /* Detach previous camera object. */ |
@@ -1341,7 +1327,6 @@ _evas_3d_node_light_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Light *light) | |||
1341 | if (pd->data.light.light == light) | 1327 | if (pd->data.light.light == light) |
1342 | return; | 1328 | return; |
1343 | 1329 | ||
1344 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1345 | if (pd->data.light.light) | 1330 | if (pd->data.light.light) |
1346 | { | 1331 | { |
1347 | /* Detach previous light object. */ | 1332 | /* Detach previous light object. */ |
@@ -1382,7 +1367,6 @@ _evas_3d_node_mesh_add(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Mesh *mesh) | |||
1382 | return; | 1367 | return; |
1383 | } | 1368 | } |
1384 | 1369 | ||
1385 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1386 | if ((nm = _node_mesh_new(obj, mesh)) == NULL) | 1370 | if ((nm = _node_mesh_new(obj, mesh)) == NULL) |
1387 | { | 1371 | { |
1388 | ERR("Failed to create node mesh."); | 1372 | ERR("Failed to create node mesh."); |
@@ -1417,7 +1401,6 @@ _evas_3d_node_mesh_del(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Mesh *mesh) | |||
1417 | return; | 1401 | return; |
1418 | } | 1402 | } |
1419 | 1403 | ||
1420 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1421 | if (!eina_hash_del(pd->data.mesh.node_meshes, &mesh, NULL)) | 1404 | if (!eina_hash_del(pd->data.mesh.node_meshes, &mesh, NULL)) |
1422 | { | 1405 | { |
1423 | ERR("The given mesh doesn't belong to this node."); | 1406 | ERR("The given mesh doesn't belong to this node."); |
@@ -1435,7 +1418,6 @@ _evas_3d_node_mesh_del(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Mesh *mesh) | |||
1435 | EOLIAN static const Eina_List * | 1418 | EOLIAN static const Eina_List * |
1436 | _evas_3d_node_mesh_list_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) | 1419 | _evas_3d_node_mesh_list_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd) |
1437 | { | 1420 | { |
1438 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1439 | return pd->data.mesh.meshes; | 1421 | return pd->data.mesh.meshes; |
1440 | } | 1422 | } |
1441 | 1423 | ||
@@ -1450,7 +1432,6 @@ _evas_3d_node_mesh_frame_set(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Mesh *mesh, | |||
1450 | return; | 1432 | return; |
1451 | } | 1433 | } |
1452 | 1434 | ||
1453 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1454 | if ((nm = eina_hash_find(pd->data.mesh.node_meshes, &mesh)) == NULL) | 1435 | if ((nm = eina_hash_find(pd->data.mesh.node_meshes, &mesh)) == NULL) |
1455 | { | 1436 | { |
1456 | ERR("The given mesh doesn't belongs to this node."); | 1437 | ERR("The given mesh doesn't belongs to this node."); |
@@ -1472,7 +1453,6 @@ _evas_3d_node_mesh_frame_get(Eo *obj EINA_UNUSED, Evas_3D_Node_Data *pd, Evas_3D | |||
1472 | return 0; | 1453 | return 0; |
1473 | } | 1454 | } |
1474 | 1455 | ||
1475 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
1476 | if ((nm = eina_hash_find(pd->data.mesh.node_meshes, &mesh)) == NULL) | 1456 | if ((nm = eina_hash_find(pd->data.mesh.node_meshes, &mesh)) == NULL) |
1477 | { | 1457 | { |
1478 | ERR("The given mesh doesn't belongs to this node."); | 1458 | ERR("The given mesh doesn't belongs to this node."); |
diff --git a/src/lib/evas/canvas/evas_3d_object.c b/src/lib/evas/canvas/evas_3d_object.c index ba1ecdc352..8116d098c4 100644 --- a/src/lib/evas/canvas/evas_3d_object.c +++ b/src/lib/evas/canvas/evas_3d_object.c | |||
@@ -22,9 +22,8 @@ EOLIAN static Evas * | |||
22 | } | 22 | } |
23 | 23 | ||
24 | EOLIAN static void | 24 | EOLIAN static void |
25 | _evas_3d_object_type_set(Eo *obj, Evas_3D_Object_Data *pd, Evas_3D_Object_Type type) | 25 | _evas_3d_object_type_set(Eo *obj EINA_UNUSED, Evas_3D_Object_Data *pd, Evas_3D_Object_Type type) |
26 | { | 26 | { |
27 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
28 | pd->type = type; | 27 | pd->type = type; |
29 | } | 28 | } |
30 | 29 | ||
@@ -47,7 +46,6 @@ _evas_3d_object_change(Eo *obj, Evas_3D_Object_Data *pd, Evas_3D_State state, Ev | |||
47 | if (pd->dirty[state]) | 46 | if (pd->dirty[state]) |
48 | return; | 47 | return; |
49 | 48 | ||
50 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
51 | pd->dirty[state] = EINA_TRUE; | 49 | pd->dirty[state] = EINA_TRUE; |
52 | pd->dirty[EVAS_3D_STATE_ANY] = EINA_TRUE; | 50 | pd->dirty[EVAS_3D_STATE_ANY] = EINA_TRUE; |
53 | 51 | ||
@@ -60,7 +58,6 @@ _evas_3d_object_update(Eo *obj, Evas_3D_Object_Data *pd) | |||
60 | if (!pd->dirty[EVAS_3D_STATE_ANY]) | 58 | if (!pd->dirty[EVAS_3D_STATE_ANY]) |
61 | return; | 59 | return; |
62 | 60 | ||
63 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
64 | eo_do(obj, evas_3d_object_update_notify()); | 61 | eo_do(obj, evas_3d_object_update_notify()); |
65 | 62 | ||
66 | memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_3D_STATE_MAX); | 63 | memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_3D_STATE_MAX); |
diff --git a/src/lib/evas/canvas/evas_3d_scene.c b/src/lib/evas/canvas/evas_3d_scene.c index edab2922eb..a26b6c8967 100644 --- a/src/lib/evas/canvas/evas_3d_scene.c +++ b/src/lib/evas/canvas/evas_3d_scene.c | |||
@@ -24,12 +24,11 @@ evas_3d_scene_data_fini(Evas_3D_Scene_Public_Data *data) | |||
24 | } | 24 | } |
25 | 25 | ||
26 | EOLIAN static void | 26 | EOLIAN static void |
27 | _evas_3d_scene_evas_3d_object_change_notify(Eo *eo_obj, Evas_3D_Scene_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) | 27 | _evas_3d_scene_evas_3d_object_change_notify(Eo *eo_obj EINA_UNUSED, Evas_3D_Scene_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) |
28 | { | 28 | { |
29 | Eina_List *l; | 29 | Eina_List *l; |
30 | Evas_Object *eo; | 30 | Evas_Object *eo; |
31 | 31 | ||
32 | evas_object_async_block(eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS)); | ||
33 | EINA_LIST_FOREACH(pd->images, l, eo) | 32 | EINA_LIST_FOREACH(pd->images, l, eo) |
34 | { | 33 | { |
35 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo, EVAS_OBJECT_CLASS); | 34 | Evas_Object_Protected_Data *obj = eo_data_scope_get(eo, EVAS_OBJECT_CLASS); |
@@ -38,9 +37,8 @@ _evas_3d_scene_evas_3d_object_change_notify(Eo *eo_obj, Evas_3D_Scene_Data *pd, | |||
38 | } | 37 | } |
39 | 38 | ||
40 | EOLIAN static void | 39 | EOLIAN static void |
41 | _evas_3d_scene_evas_3d_object_update_notify(Eo *obj, Evas_3D_Scene_Data *pd) | 40 | _evas_3d_scene_evas_3d_object_update_notify(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd) |
42 | { | 41 | { |
43 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
44 | if (pd->root_node) | 42 | if (pd->root_node) |
45 | { | 43 | { |
46 | eo_do(pd->root_node, evas_3d_object_update()); | 44 | eo_do(pd->root_node, evas_3d_object_update()); |
@@ -82,7 +80,6 @@ _evas_3d_scene_root_node_set(Eo *obj, Evas_3D_Scene_Data *pd, Evas_3D_Node *node | |||
82 | if (pd->root_node == node) | 80 | if (pd->root_node == node) |
83 | return; | 81 | return; |
84 | 82 | ||
85 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
86 | if (pd->root_node) | 83 | if (pd->root_node) |
87 | { | 84 | { |
88 | evas_3d_node_scene_root_del(pd->root_node, obj); | 85 | evas_3d_node_scene_root_del(pd->root_node, obj); |
@@ -112,7 +109,6 @@ _evas_3d_scene_camera_node_set(Eo *obj, Evas_3D_Scene_Data *pd, Evas_3D_Node *no | |||
112 | if (pd->camera_node == node) | 109 | if (pd->camera_node == node) |
113 | return; | 110 | return; |
114 | 111 | ||
115 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
116 | if (pd->camera_node) | 112 | if (pd->camera_node) |
117 | { | 113 | { |
118 | evas_3d_node_scene_camera_del(pd->camera_node, obj); | 114 | evas_3d_node_scene_camera_del(pd->camera_node, obj); |
@@ -139,7 +135,6 @@ _evas_3d_scene_camera_node_get(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd) | |||
139 | EOLIAN static void | 135 | EOLIAN static void |
140 | _evas_3d_scene_size_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, int w, int h) | 136 | _evas_3d_scene_size_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, int w, int h) |
141 | { | 137 | { |
142 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
143 | pd->w = w; | 138 | pd->w = w; |
144 | pd->h = h; | 139 | pd->h = h; |
145 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_SIZE, NULL)); | 140 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_SIZE, NULL)); |
@@ -156,7 +151,6 @@ EOLIAN static void | |||
156 | _evas_3d_scene_background_color_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, | 151 | _evas_3d_scene_background_color_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, |
157 | Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) | 152 | Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) |
158 | { | 153 | { |
159 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
160 | evas_color_set(&pd->bg_color, r, g, b, a); | 154 | evas_color_set(&pd->bg_color, r, g, b, a); |
161 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_BACKGROUND_COLOR, NULL)); | 155 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_BACKGROUND_COLOR, NULL)); |
162 | } | 156 | } |
@@ -636,13 +630,12 @@ _evas_3d_scene_pick(Eo *obj, Evas_3D_Scene_Data *pd, Evas_Real x, Evas_Real y, | |||
636 | Evas_3D_Camera_Data *pd_camera; | 630 | Evas_3D_Camera_Data *pd_camera; |
637 | Evas_3D_Object_Data *pd_parent; | 631 | Evas_3D_Object_Data *pd_parent; |
638 | Evas_Public_Data *e; | 632 | Evas_Public_Data *e; |
639 | int tex = 0, px, py;; | 633 | int tex, px, py;; |
640 | double redcomponent; | 634 | double redcomponent; |
641 | Eina_Stringshare *tmp; | 635 | Eina_Stringshare *tmp; |
642 | Eina_Array *arr = NULL; | 636 | Eina_Array *arr = NULL; |
643 | Eina_Bool update_scene = EINA_FALSE; | 637 | Eina_Bool update_scene = EINA_FALSE; |
644 | 638 | ||
645 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
646 | pd_parent = eo_data_scope_get(obj, EVAS_3D_OBJECT_CLASS); | 639 | pd_parent = eo_data_scope_get(obj, EVAS_3D_OBJECT_CLASS); |
647 | e = eo_data_scope_get(pd_parent->evas, EVAS_CANVAS_CLASS); | 640 | e = eo_data_scope_get(pd_parent->evas, EVAS_CANVAS_CLASS); |
648 | 641 | ||
@@ -759,7 +752,6 @@ _evas_3d_scene_exist(Eo *obj, Evas_3D_Scene_Data *pd, Evas_Real x, Evas_Real y, | |||
759 | data.s = 0.0; | 752 | data.s = 0.0; |
760 | data.t = 0.0; | 753 | data.t = 0.0; |
761 | 754 | ||
762 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
763 | /* Update the scene graph. */ | 755 | /* Update the scene graph. */ |
764 | eo_do(obj, evas_3d_object_update()); | 756 | eo_do(obj, evas_3d_object_update()); |
765 | pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_3D_NODE_CLASS); | 757 | pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_3D_NODE_CLASS); |
@@ -786,7 +778,6 @@ _evas_3d_scene_pick_member_list_get(Eo *obj, Evas_3D_Scene_Data *pd, Evas_Real x | |||
786 | void *node; | 778 | void *node; |
787 | Eina_Bool pick = EINA_FALSE; | 779 | Eina_Bool pick = EINA_FALSE; |
788 | 780 | ||
789 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
790 | /* Check pick for given scene. */ | 781 | /* Check pick for given scene. */ |
791 | pick = eo_do(obj, evas_3d_scene_pick(x, y, NULL, NULL, NULL, NULL)); | 782 | pick = eo_do(obj, evas_3d_scene_pick(x, y, NULL, NULL, NULL, NULL)); |
792 | 783 | ||
@@ -814,7 +805,6 @@ _evas_3d_scene_shadows_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd) | |||
814 | EOLIAN static void | 805 | EOLIAN static void |
815 | _evas_3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, Eina_Bool _shadows_enabled) | 806 | _evas_3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, Eina_Bool _shadows_enabled) |
816 | { | 807 | { |
817 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
818 | pd->shadows_enabled = _shadows_enabled; | 808 | pd->shadows_enabled = _shadows_enabled; |
819 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_SHADOWS_ENABLED, NULL)); | 809 | eo_do(obj, evas_3d_object_change(EVAS_3D_STATE_SCENE_SHADOWS_ENABLED, NULL)); |
820 | } | 810 | } |
@@ -828,7 +818,6 @@ _evas_3d_scene_color_pick_enable_get(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd | |||
828 | EOLIAN static Eina_Bool | 818 | EOLIAN static Eina_Bool |
829 | _evas_3d_scene_color_pick_enable_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, Eina_Bool _enabled) | 819 | _evas_3d_scene_color_pick_enable_set(Eo *obj EINA_UNUSED, Evas_3D_Scene_Data *pd, Eina_Bool _enabled) |
830 | { | 820 | { |
831 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
832 | if (pd->color_pick_enabled != _enabled) | 821 | if (pd->color_pick_enabled != _enabled) |
833 | pd->color_pick_enabled = _enabled; | 822 | pd->color_pick_enabled = _enabled; |
834 | 823 | ||
diff --git a/src/lib/evas/canvas/evas_3d_texture.c b/src/lib/evas/canvas/evas_3d_texture.c index a324eb67f5..8945fadea8 100644 --- a/src/lib/evas/canvas/evas_3d_texture.c +++ b/src/lib/evas/canvas/evas_3d_texture.c | |||
@@ -196,7 +196,6 @@ EOLIAN static void | |||
196 | _evas_3d_texture_evas_3d_object_change_notify(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) | 196 | _evas_3d_texture_evas_3d_object_change_notify(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_State state EINA_UNUSED, Evas_3D_Object *ref EINA_UNUSED) |
197 | { | 197 | { |
198 | 198 | ||
199 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
200 | if (pd->materials) | 199 | if (pd->materials) |
201 | eina_hash_foreach(pd->materials, _texture_material_change_notify, obj); | 200 | eina_hash_foreach(pd->materials, _texture_material_change_notify, obj); |
202 | } | 201 | } |
@@ -204,7 +203,6 @@ _evas_3d_texture_evas_3d_object_change_notify(Eo *obj, Evas_3D_Texture_Data *pd, | |||
204 | EOLIAN static void | 203 | EOLIAN static void |
205 | _evas_3d_texture_evas_3d_object_update_notify(Eo *obj, Evas_3D_Texture_Data *pd) | 204 | _evas_3d_texture_evas_3d_object_update_notify(Eo *obj, Evas_3D_Texture_Data *pd) |
206 | { | 205 | { |
207 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
208 | if (pd->source) | 206 | if (pd->source) |
209 | { | 207 | { |
210 | Eo *evas = NULL; | 208 | Eo *evas = NULL; |
@@ -313,21 +311,19 @@ _evas_3d_texture_eo_base_constructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUS | |||
313 | EOLIAN static void | 311 | EOLIAN static void |
314 | _evas_3d_texture_eo_base_destructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUSED) | 312 | _evas_3d_texture_eo_base_destructor(Eo *obj, Evas_3D_Texture_Data *pd EINA_UNUSED) |
315 | { | 313 | { |
316 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
317 | //evas_3d_object_unreference(&pd->base); | 314 | //evas_3d_object_unreference(&pd->base); |
318 | _texture_fini(obj); | 315 | _texture_fini(obj); |
319 | eo_do_super(obj, MY_CLASS, eo_destructor()); | 316 | eo_do_super(obj, MY_CLASS, eo_destructor()); |
320 | } | 317 | } |
321 | 318 | ||
322 | EOLIAN static void | 319 | EOLIAN static void |
323 | _evas_3d_texture_data_set(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_Color_Format color_format, | 320 | _evas_3d_texture_data_set(Eo *obj EINA_UNUSED, Evas_3D_Texture_Data *pd, Evas_3D_Color_Format color_format, |
324 | Evas_3D_Pixel_Format pixel_format, int w, int h, const void *data) | 321 | Evas_3D_Pixel_Format pixel_format, int w, int h, const void *data) |
325 | { | 322 | { |
326 | Eo *evas = NULL; | 323 | Eo *evas = NULL; |
327 | eo_do(obj, evas = evas_common_evas_get()); | 324 | eo_do(obj, evas = evas_common_evas_get()); |
328 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 325 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
329 | 326 | ||
330 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
331 | if (!pd->engine_data && e->engine.func->texture_new) | 327 | if (!pd->engine_data && e->engine.func->texture_new) |
332 | pd->engine_data = e->engine.func->texture_new(e->engine.data.output); | 328 | pd->engine_data = e->engine.func->texture_new(e->engine.data.output); |
333 | 329 | ||
@@ -345,7 +341,6 @@ _evas_3d_texture_file_set(Eo *obj, Evas_3D_Texture_Data *pd, const char *file, c | |||
345 | eo_do(obj, evas = evas_common_evas_get()); | 341 | eo_do(obj, evas = evas_common_evas_get()); |
346 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 342 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
347 | 343 | ||
348 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
349 | if (!pd->engine_data && e->engine.func->texture_new) | 344 | if (!pd->engine_data && e->engine.func->texture_new) |
350 | pd->engine_data = e->engine.func->texture_new(e->engine.data.output); | 345 | pd->engine_data = e->engine.func->texture_new(e->engine.data.output); |
351 | 346 | ||
@@ -366,7 +361,6 @@ _evas_3d_texture_source_set(Eo *obj , Evas_3D_Texture_Data *pd, Evas_Object *sou | |||
366 | if (source == pd->source) | 361 | if (source == pd->source) |
367 | return; | 362 | return; |
368 | 363 | ||
369 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
370 | _texture_fini(obj); | 364 | _texture_fini(obj); |
371 | 365 | ||
372 | if (source == NULL) | 366 | if (source == NULL) |
@@ -397,7 +391,7 @@ _evas_3d_texture_source_set(Eo *obj , Evas_3D_Texture_Data *pd, Evas_Object *sou | |||
397 | } | 391 | } |
398 | 392 | ||
399 | EOLIAN static void | 393 | EOLIAN static void |
400 | _evas_3d_texture_source_visible_set(Eo *obj, Evas_3D_Texture_Data *pd, Eina_Bool visible) | 394 | _evas_3d_texture_source_visible_set(Eo *obj EINA_UNUSED, Evas_3D_Texture_Data *pd, Eina_Bool visible) |
401 | { | 395 | { |
402 | Evas_Object_Protected_Data *src_obj; | 396 | Evas_Object_Protected_Data *src_obj; |
403 | 397 | ||
@@ -409,7 +403,6 @@ _evas_3d_texture_source_visible_set(Eo *obj, Evas_3D_Texture_Data *pd, Eina_Bool | |||
409 | if (src_obj->proxy->src_invisible == !visible) | 403 | if (src_obj->proxy->src_invisible == !visible) |
410 | return; | 404 | return; |
411 | 405 | ||
412 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
413 | EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, src_obj->proxy, Evas_Object_Proxy_Data, proxy_write) | 406 | EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, src_obj->proxy, Evas_Object_Proxy_Data, proxy_write) |
414 | proxy_write->src_invisible = !visible; | 407 | proxy_write->src_invisible = !visible; |
415 | EINA_COW_WRITE_END(evas_object_proxy_cow, src_obj->proxy, proxy_write); | 408 | EINA_COW_WRITE_END(evas_object_proxy_cow, src_obj->proxy, proxy_write); |
@@ -455,7 +448,6 @@ _evas_3d_texture_size_get(Eo *obj, Evas_3D_Texture_Data *pd, int *w, int *h) | |||
455 | Eo *evas = NULL; | 448 | Eo *evas = NULL; |
456 | eo_do(obj, evas = evas_common_evas_get()); | 449 | eo_do(obj, evas = evas_common_evas_get()); |
457 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 450 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
458 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
459 | if (e->engine.func->texture_size_get) | 451 | if (e->engine.func->texture_size_get) |
460 | { | 452 | { |
461 | e->engine.func->texture_size_get(e->engine.data.output, | 453 | e->engine.func->texture_size_get(e->engine.data.output, |
@@ -469,7 +461,6 @@ _evas_3d_texture_wrap_set(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_Wrap_Mode s | |||
469 | Eo *evas = NULL; | 461 | Eo *evas = NULL; |
470 | eo_do(obj, evas = evas_common_evas_get()); | 462 | eo_do(obj, evas = evas_common_evas_get()); |
471 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 463 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
472 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
473 | if (e->engine.func->texture_wrap_set) | 464 | if (e->engine.func->texture_wrap_set) |
474 | { | 465 | { |
475 | e->engine.func->texture_wrap_set(e->engine.data.output, | 466 | e->engine.func->texture_wrap_set(e->engine.data.output, |
@@ -484,7 +475,6 @@ _evas_3d_texture_wrap_get(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_Wrap_Mode * | |||
484 | Eo *evas = NULL; | 475 | Eo *evas = NULL; |
485 | eo_do(obj, evas = evas_common_evas_get()); | 476 | eo_do(obj, evas = evas_common_evas_get()); |
486 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 477 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
487 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
488 | if (e->engine.func->texture_wrap_set) | 478 | if (e->engine.func->texture_wrap_set) |
489 | { | 479 | { |
490 | e->engine.func->texture_wrap_get(e->engine.data.output, | 480 | e->engine.func->texture_wrap_get(e->engine.data.output, |
@@ -498,7 +488,6 @@ _evas_3d_texture_filter_set(Eo *obj, Evas_3D_Texture_Data *pd, Evas_3D_Texture_F | |||
498 | Eo *evas = NULL; | 488 | Eo *evas = NULL; |
499 | eo_do(obj, evas = evas_common_evas_get()); | 489 | eo_do(obj, evas = evas_common_evas_get()); |
500 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 490 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
501 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
502 | if (e->engine.func->texture_filter_set) | 491 | if (e->engine.func->texture_filter_set) |
503 | { | 492 | { |
504 | e->engine.func->texture_filter_set(e->engine.data.output, | 493 | e->engine.func->texture_filter_set(e->engine.data.output, |
@@ -513,7 +502,6 @@ _evas_3d_texture_filter_get(Eo *obj EINA_UNUSED, Evas_3D_Texture_Data *pd, Evas_ | |||
513 | Eo *evas = NULL; | 502 | Eo *evas = NULL; |
514 | eo_do(obj, evas = evas_common_evas_get()); | 503 | eo_do(obj, evas = evas_common_evas_get()); |
515 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); | 504 | Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); |
516 | evas_object_async_block(eo_data_scope_get(obj, EVAS_OBJECT_CLASS)); | ||
517 | if (e->engine.func->texture_filter_get) | 505 | if (e->engine.func->texture_filter_get) |
518 | { | 506 | { |
519 | e->engine.func->texture_filter_get(e->engine.data.output, | 507 | e->engine.func->texture_filter_get(e->engine.data.output, |