diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c | 164 |
1 files changed, 77 insertions, 87 deletions
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c index a3e49d6..3f82efb 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c | |||
@@ -3,6 +3,7 @@ | |||
3 | #endif | 3 | #endif |
4 | 4 | ||
5 | // NOTE: if you fix this, consider fixing ecore_evas_ews.c as it is similar! | 5 | // NOTE: if you fix this, consider fixing ecore_evas_ews.c as it is similar! |
6 | #include <stdlib.h> | ||
6 | 7 | ||
7 | #include <Ecore.h> | 8 | #include <Ecore.h> |
8 | #include "ecore_private.h" | 9 | #include "ecore_private.h" |
@@ -93,6 +94,12 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h) | |||
93 | if (ee->func.fn_resize) ee->func.fn_resize(ee); | 94 | if (ee->func.fn_resize) ee->func.fn_resize(ee); |
94 | } | 95 | } |
95 | 96 | ||
97 | static void | ||
98 | _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int w, int h) | ||
99 | { | ||
100 | _ecore_evas_resize(ee, w, h); | ||
101 | } | ||
102 | |||
96 | int | 103 | int |
97 | _ecore_evas_buffer_shutdown(void) | 104 | _ecore_evas_buffer_shutdown(void) |
98 | { | 105 | { |
@@ -168,6 +175,14 @@ _ecore_evas_buffer_coord_translate(Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y) | |||
168 | if (fw < 1) fw = 1; | 175 | if (fw < 1) fw = 1; |
169 | if (fh < 1) fh = 1; | 176 | if (fh < 1) fh = 1; |
170 | 177 | ||
178 | if (evas_object_map_get(ee->engine.buffer.image) && | ||
179 | evas_object_map_enable_get(ee->engine.buffer.image)) | ||
180 | { | ||
181 | fx = 0; fy = 0; | ||
182 | fw = ee->w; fh = ee->h; | ||
183 | ww = ee->w; hh = ee->h; | ||
184 | } | ||
185 | |||
171 | if ((fx == 0) && (fy == 0) && (fw == ww) && (fh == hh)) | 186 | if ((fx == 0) && (fy == 0) && (fw == ww) && (fh == hh)) |
172 | { | 187 | { |
173 | *x = (ee->w * (*x - xx)) / fw; | 188 | *x = (ee->w * (*x - xx)) / fw; |
@@ -188,51 +203,80 @@ _ecore_evas_buffer_coord_translate(Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y) | |||
188 | } | 203 | } |
189 | 204 | ||
190 | static void | 205 | static void |
191 | _ecore_evas_buffer_cb_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | 206 | _ecore_evas_buffer_transfer_modifiers_locks(Evas *e, Evas *e2) |
207 | { | ||
208 | const char *mods[] = | ||
209 | { "Shift", "Control", "Alt", "Meta", "Hyper", "Super", NULL }; | ||
210 | const char *locks[] = | ||
211 | { "Scroll_Lock", "Num_Lock", "Caps_Lock", NULL }; | ||
212 | int i; | ||
213 | |||
214 | for (i = 0; mods[i]; i++) | ||
215 | { | ||
216 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), mods[i])) | ||
217 | evas_key_modifier_on(e2, mods[i]); | ||
218 | else | ||
219 | evas_key_modifier_off(e2, mods[i]); | ||
220 | } | ||
221 | for (i = 0; locks[i]; i++) | ||
222 | { | ||
223 | if (evas_key_lock_is_set(evas_key_lock_get(e), locks[i])) | ||
224 | evas_key_lock_on(e2, locks[i]); | ||
225 | else | ||
226 | evas_key_lock_off(e2, locks[i]); | ||
227 | } | ||
228 | } | ||
229 | |||
230 | static void | ||
231 | _ecore_evas_buffer_cb_mouse_in(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
192 | { | 232 | { |
193 | Ecore_Evas *ee; | 233 | Ecore_Evas *ee; |
194 | Evas_Event_Mouse_In *ev; | 234 | Evas_Event_Mouse_In *ev; |
195 | 235 | ||
196 | ee = data; | 236 | ee = data; |
197 | ev = event_info; | 237 | ev = event_info; |
238 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
198 | evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); | 239 | evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); |
199 | } | 240 | } |
200 | 241 | ||
201 | static void | 242 | static void |
202 | _ecore_evas_buffer_cb_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | 243 | _ecore_evas_buffer_cb_mouse_out(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) |
203 | { | 244 | { |
204 | Ecore_Evas *ee; | 245 | Ecore_Evas *ee; |
205 | Evas_Event_Mouse_Out *ev; | 246 | Evas_Event_Mouse_Out *ev; |
206 | 247 | ||
207 | ee = data; | 248 | ee = data; |
208 | ev = event_info; | 249 | ev = event_info; |
250 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
209 | evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); | 251 | evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); |
210 | } | 252 | } |
211 | 253 | ||
212 | static void | 254 | static void |
213 | _ecore_evas_buffer_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 255 | _ecore_evas_buffer_cb_mouse_down(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
214 | { | 256 | { |
215 | Ecore_Evas *ee; | 257 | Ecore_Evas *ee; |
216 | Evas_Event_Mouse_Down *ev; | 258 | Evas_Event_Mouse_Down *ev; |
217 | 259 | ||
218 | ee = data; | 260 | ee = data; |
219 | ev = event_info; | 261 | ev = event_info; |
262 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
220 | evas_event_feed_mouse_down(ee->evas, ev->button, ev->flags, ev->timestamp, NULL); | 263 | evas_event_feed_mouse_down(ee->evas, ev->button, ev->flags, ev->timestamp, NULL); |
221 | } | 264 | } |
222 | 265 | ||
223 | static void | 266 | static void |
224 | _ecore_evas_buffer_cb_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 267 | _ecore_evas_buffer_cb_mouse_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
225 | { | 268 | { |
226 | Ecore_Evas *ee; | 269 | Ecore_Evas *ee; |
227 | Evas_Event_Mouse_Up *ev; | 270 | Evas_Event_Mouse_Up *ev; |
228 | 271 | ||
229 | ee = data; | 272 | ee = data; |
230 | ev = event_info; | 273 | ev = event_info; |
274 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
231 | evas_event_feed_mouse_up(ee->evas, ev->button, ev->flags, ev->timestamp, NULL); | 275 | evas_event_feed_mouse_up(ee->evas, ev->button, ev->flags, ev->timestamp, NULL); |
232 | } | 276 | } |
233 | 277 | ||
234 | static void | 278 | static void |
235 | _ecore_evas_buffer_cb_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 279 | _ecore_evas_buffer_cb_mouse_move(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
236 | { | 280 | { |
237 | Ecore_Evas *ee; | 281 | Ecore_Evas *ee; |
238 | Evas_Event_Mouse_Move *ev; | 282 | Evas_Event_Mouse_Move *ev; |
@@ -243,22 +287,24 @@ _ecore_evas_buffer_cb_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *ob | |||
243 | x = ev->cur.canvas.x; | 287 | x = ev->cur.canvas.x; |
244 | y = ev->cur.canvas.y; | 288 | y = ev->cur.canvas.y; |
245 | _ecore_evas_buffer_coord_translate(ee, &x, &y); | 289 | _ecore_evas_buffer_coord_translate(ee, &x, &y); |
290 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
246 | _ecore_evas_mouse_move_process(ee, x, y, ev->timestamp); | 291 | _ecore_evas_mouse_move_process(ee, x, y, ev->timestamp); |
247 | } | 292 | } |
248 | 293 | ||
249 | static void | 294 | static void |
250 | _ecore_evas_buffer_cb_mouse_wheel(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 295 | _ecore_evas_buffer_cb_mouse_wheel(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
251 | { | 296 | { |
252 | Ecore_Evas *ee; | 297 | Ecore_Evas *ee; |
253 | Evas_Event_Mouse_Wheel *ev; | 298 | Evas_Event_Mouse_Wheel *ev; |
254 | 299 | ||
255 | ee = data; | 300 | ee = data; |
256 | ev = event_info; | 301 | ev = event_info; |
302 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
257 | evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, ev->timestamp, NULL); | 303 | evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, ev->timestamp, NULL); |
258 | } | 304 | } |
259 | 305 | ||
260 | static void | 306 | static void |
261 | _ecore_evas_buffer_cb_multi_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 307 | _ecore_evas_buffer_cb_multi_down(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
262 | { | 308 | { |
263 | Ecore_Evas *ee; | 309 | Ecore_Evas *ee; |
264 | Evas_Event_Multi_Down *ev; | 310 | Evas_Event_Multi_Down *ev; |
@@ -274,11 +320,12 @@ _ecore_evas_buffer_cb_multi_down(void *data, Evas *e __UNUSED__, Evas_Object *ob | |||
274 | _ecore_evas_buffer_coord_translate(ee, &x, &y); | 320 | _ecore_evas_buffer_coord_translate(ee, &x, &y); |
275 | xf = (ev->canvas.xsub - (double)xx) + (double)x; | 321 | xf = (ev->canvas.xsub - (double)xx) + (double)x; |
276 | yf = (ev->canvas.ysub - (double)yy) + (double)y; | 322 | yf = (ev->canvas.ysub - (double)yy) + (double)y; |
323 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
277 | evas_event_feed_multi_down(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->flags, ev->timestamp, NULL); | 324 | evas_event_feed_multi_down(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->flags, ev->timestamp, NULL); |
278 | } | 325 | } |
279 | 326 | ||
280 | static void | 327 | static void |
281 | _ecore_evas_buffer_cb_multi_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 328 | _ecore_evas_buffer_cb_multi_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
282 | { | 329 | { |
283 | Ecore_Evas *ee; | 330 | Ecore_Evas *ee; |
284 | Evas_Event_Multi_Up *ev; | 331 | Evas_Event_Multi_Up *ev; |
@@ -294,11 +341,12 @@ _ecore_evas_buffer_cb_multi_up(void *data, Evas *e __UNUSED__, Evas_Object *obj | |||
294 | _ecore_evas_buffer_coord_translate(ee, &x, &y); | 341 | _ecore_evas_buffer_coord_translate(ee, &x, &y); |
295 | xf = (ev->canvas.xsub - (double)xx) + (double)x; | 342 | xf = (ev->canvas.xsub - (double)xx) + (double)x; |
296 | yf = (ev->canvas.ysub - (double)yy) + (double)y; | 343 | yf = (ev->canvas.ysub - (double)yy) + (double)y; |
344 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
297 | evas_event_feed_multi_up(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->flags, ev->timestamp, NULL); | 345 | evas_event_feed_multi_up(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->flags, ev->timestamp, NULL); |
298 | } | 346 | } |
299 | 347 | ||
300 | static void | 348 | static void |
301 | _ecore_evas_buffer_cb_multi_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | 349 | _ecore_evas_buffer_cb_multi_move(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) |
302 | { | 350 | { |
303 | Ecore_Evas *ee; | 351 | Ecore_Evas *ee; |
304 | Evas_Event_Multi_Move *ev; | 352 | Evas_Event_Multi_Move *ev; |
@@ -314,6 +362,7 @@ _ecore_evas_buffer_cb_multi_move(void *data, Evas *e __UNUSED__, Evas_Object *ob | |||
314 | _ecore_evas_buffer_coord_translate(ee, &x, &y); | 362 | _ecore_evas_buffer_coord_translate(ee, &x, &y); |
315 | xf = (ev->cur.canvas.xsub - (double)xx) + (double)x; | 363 | xf = (ev->cur.canvas.xsub - (double)xx) + (double)x; |
316 | yf = (ev->cur.canvas.ysub - (double)yy) + (double)y; | 364 | yf = (ev->cur.canvas.ysub - (double)yy) + (double)y; |
365 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); | ||
317 | evas_event_feed_multi_move(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->timestamp, NULL); | 366 | evas_event_feed_multi_move(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, xf, yf, ev->timestamp, NULL); |
318 | } | 367 | } |
319 | 368 | ||
@@ -334,42 +383,7 @@ _ecore_evas_buffer_cb_key_down(void *data, Evas *e, Evas_Object *obj __UNUSED__, | |||
334 | 383 | ||
335 | ee = data; | 384 | ee = data; |
336 | ev = event_info; | 385 | ev = event_info; |
337 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Shift")) | 386 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); |
338 | evas_key_modifier_on(ee->evas, "Shift"); | ||
339 | else | ||
340 | evas_key_modifier_off(ee->evas, "Shift"); | ||
341 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Control")) | ||
342 | evas_key_modifier_on(ee->evas, "Control"); | ||
343 | else | ||
344 | evas_key_modifier_off(ee->evas, "Control"); | ||
345 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Alt")) | ||
346 | evas_key_modifier_on(ee->evas, "Alt"); | ||
347 | else | ||
348 | evas_key_modifier_off(ee->evas, "Alt"); | ||
349 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Meta")) | ||
350 | evas_key_modifier_on(ee->evas, "Meta"); | ||
351 | else | ||
352 | evas_key_modifier_off(ee->evas, "Meta"); | ||
353 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Hyper")) | ||
354 | evas_key_modifier_on(ee->evas, "Hyper"); | ||
355 | else | ||
356 | evas_key_modifier_off(ee->evas, "Hyper"); | ||
357 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Super")) | ||
358 | evas_key_modifier_on(ee->evas, "Super"); | ||
359 | else | ||
360 | evas_key_modifier_off(ee->evas, "Super"); | ||
361 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Scroll_Lock")) | ||
362 | evas_key_lock_on(ee->evas, "Scroll_Lock"); | ||
363 | else | ||
364 | evas_key_lock_off(ee->evas, "Scroll_Lock"); | ||
365 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Num_Lock")) | ||
366 | evas_key_lock_on(ee->evas, "Num_Lock"); | ||
367 | else | ||
368 | evas_key_lock_off(ee->evas, "Num_Lock"); | ||
369 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Caps_Lock")) | ||
370 | evas_key_lock_on(ee->evas, "Caps_Lock"); | ||
371 | else | ||
372 | evas_key_lock_off(ee->evas, "Caps_Lock"); | ||
373 | evas_event_feed_key_down(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL); | 387 | evas_event_feed_key_down(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL); |
374 | } | 388 | } |
375 | 389 | ||
@@ -381,42 +395,7 @@ _ecore_evas_buffer_cb_key_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, v | |||
381 | 395 | ||
382 | ee = data; | 396 | ee = data; |
383 | ev = event_info; | 397 | ev = event_info; |
384 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Shift")) | 398 | _ecore_evas_buffer_transfer_modifiers_locks(e, ee->evas); |
385 | evas_key_modifier_on(ee->evas, "Shift"); | ||
386 | else | ||
387 | evas_key_modifier_off(ee->evas, "Shift"); | ||
388 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Control")) | ||
389 | evas_key_modifier_on(ee->evas, "Control"); | ||
390 | else | ||
391 | evas_key_modifier_off(ee->evas, "Control"); | ||
392 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Alt")) | ||
393 | evas_key_modifier_on(ee->evas, "Alt"); | ||
394 | else | ||
395 | evas_key_modifier_off(ee->evas, "Alt"); | ||
396 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Meta")) | ||
397 | evas_key_modifier_on(ee->evas, "Meta"); | ||
398 | else | ||
399 | evas_key_modifier_off(ee->evas, "Meta"); | ||
400 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Hyper")) | ||
401 | evas_key_modifier_on(ee->evas, "Hyper"); | ||
402 | else | ||
403 | evas_key_modifier_off(ee->evas, "Hyper"); | ||
404 | if (evas_key_modifier_is_set(evas_key_modifier_get(e), "Super")) | ||
405 | evas_key_modifier_on(ee->evas, "Super"); | ||
406 | else | ||
407 | evas_key_modifier_off(ee->evas, "Super"); | ||
408 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Scroll_Lock")) | ||
409 | evas_key_lock_on(ee->evas, "Scroll_Lock"); | ||
410 | else | ||
411 | evas_key_lock_off(ee->evas, "Scroll_Lock"); | ||
412 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Num_Lock")) | ||
413 | evas_key_lock_on(ee->evas, "Num_Lock"); | ||
414 | else | ||
415 | evas_key_lock_off(ee->evas, "Num_Lock"); | ||
416 | if (evas_key_lock_is_set(evas_key_lock_get(e), "Caps_Lock")) | ||
417 | evas_key_lock_on(ee->evas, "Caps_Lock"); | ||
418 | else | ||
419 | evas_key_lock_off(ee->evas, "Caps_Lock"); | ||
420 | evas_event_feed_key_up(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL); | 399 | evas_event_feed_key_up(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL); |
421 | } | 400 | } |
422 | 401 | ||
@@ -469,6 +448,20 @@ _ecore_evas_buffer_alpha_set(Ecore_Evas *ee, int alpha) | |||
469 | ee->alpha = alpha; | 448 | ee->alpha = alpha; |
470 | if (ee->engine.buffer.image) | 449 | if (ee->engine.buffer.image) |
471 | evas_object_image_alpha_set(ee->engine.buffer.image, ee->alpha); | 450 | evas_object_image_alpha_set(ee->engine.buffer.image, ee->alpha); |
451 | else | ||
452 | { | ||
453 | Evas_Engine_Info_Buffer *einfo; | ||
454 | |||
455 | einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); | ||
456 | if (einfo) | ||
457 | { | ||
458 | if (ee->alpha) | ||
459 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32; | ||
460 | else | ||
461 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; | ||
462 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | ||
463 | } | ||
464 | } | ||
472 | } | 465 | } |
473 | 466 | ||
474 | static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = | 467 | static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = |
@@ -491,7 +484,7 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = | |||
491 | NULL, | 484 | NULL, |
492 | NULL, | 485 | NULL, |
493 | _ecore_evas_resize, | 486 | _ecore_evas_resize, |
494 | NULL, | 487 | _ecore_evas_move_resize, |
495 | NULL, | 488 | NULL, |
496 | NULL, | 489 | NULL, |
497 | _ecore_evas_show, | 490 | _ecore_evas_show, |
@@ -520,7 +513,7 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = | |||
520 | _ecore_evas_buffer_alpha_set, | 513 | _ecore_evas_buffer_alpha_set, |
521 | NULL, //transparent | 514 | NULL, //transparent |
522 | 515 | ||
523 | NULL, // render | 516 | _ecore_evas_buffer_render, |
524 | NULL // screen_geometry_get | 517 | NULL // screen_geometry_get |
525 | }; | 518 | }; |
526 | #endif | 519 | #endif |
@@ -604,7 +597,7 @@ ecore_evas_buffer_allocfunc_new(int w, int h, void *(*alloc_func) (void *data, i | |||
604 | einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); | 597 | einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); |
605 | if (einfo) | 598 | if (einfo) |
606 | { | 599 | { |
607 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32; | 600 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; |
608 | einfo->info.dest_buffer = ee->engine.buffer.pixels; | 601 | einfo->info.dest_buffer = ee->engine.buffer.pixels; |
609 | einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int); | 602 | einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int); |
610 | einfo->info.use_color_key = 0; | 603 | einfo->info.use_color_key = 0; |
@@ -636,7 +629,6 @@ ecore_evas_buffer_allocfunc_new(int w, int h, void *(*alloc_func) (void *data, i | |||
636 | 629 | ||
637 | evas_event_feed_mouse_in(ee->evas, 0, NULL); | 630 | evas_event_feed_mouse_in(ee->evas, 0, NULL); |
638 | 631 | ||
639 | ee->engine.func->fn_render = _ecore_evas_buffer_render; | ||
640 | _ecore_evas_register(ee); | 632 | _ecore_evas_register(ee); |
641 | 633 | ||
642 | evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL); | 634 | evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL); |
@@ -818,8 +810,6 @@ ecore_evas_object_image_new(Ecore_Evas *ee_target) | |||
818 | 810 | ||
819 | ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee); | 811 | ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee); |
820 | 812 | ||
821 | ee->engine.func->fn_render = _ecore_evas_buffer_render; | ||
822 | |||
823 | return o; | 813 | return o; |
824 | #else | 814 | #else |
825 | return NULL; | 815 | return NULL; |