tab------------

SVN revision: 52896
This commit is contained in:
Vincent Torri 2010-09-29 17:03:38 +00:00
parent 62bcf9643e
commit 439168c6ff
9 changed files with 2408 additions and 2408 deletions

File diff suppressed because it is too large Load Diff

View File

@ -24,15 +24,15 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
{ {
if (ee->engine.buffer.image) if (ee->engine.buffer.image)
{ {
Ecore_Evas *ee2; Ecore_Evas *ee2;
ee2 = evas_object_data_get(ee->engine.buffer.image, "Ecore_Evas_Parent"); ee2 = evas_object_data_get(ee->engine.buffer.image, "Ecore_Evas_Parent");
evas_object_del(ee->engine.buffer.image); evas_object_del(ee->engine.buffer.image);
ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee); ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee);
} }
else else
{ {
ee->engine.buffer.free_func(ee->engine.buffer.data, ee->engine.buffer.free_func(ee->engine.buffer.data,
ee->engine.buffer.pixels); ee->engine.buffer.pixels);
} }
_ecore_evas_buffer_shutdown(); _ecore_evas_buffer_shutdown();
@ -54,14 +54,14 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
if (ee->engine.buffer.image) if (ee->engine.buffer.image)
{ {
ee->engine.buffer.pixels = evas_object_image_data_get(ee->engine.buffer.image, 1); ee->engine.buffer.pixels = evas_object_image_data_get(ee->engine.buffer.image, 1);
} }
else else
{ {
if (ee->engine.buffer.pixels) if (ee->engine.buffer.pixels)
ee->engine.buffer.free_func(ee->engine.buffer.data, ee->engine.buffer.free_func(ee->engine.buffer.data,
ee->engine.buffer.pixels); ee->engine.buffer.pixels);
ee->engine.buffer.pixels = ee->engine.buffer.pixels =
ee->engine.buffer.alloc_func(ee->engine.buffer.data, ee->engine.buffer.alloc_func(ee->engine.buffer.data,
ee->w * ee->h * sizeof(int)); ee->w * ee->h * sizeof(int));
} }
@ -69,13 +69,13 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32; einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
einfo->info.dest_buffer = ee->engine.buffer.pixels; einfo->info.dest_buffer = ee->engine.buffer.pixels;
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int); einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
einfo->info.use_color_key = 0; einfo->info.use_color_key = 0;
einfo->info.alpha_threshold = 0; einfo->info.alpha_threshold = 0;
einfo->info.func.new_update_region = NULL; einfo->info.func.new_update_region = NULL;
einfo->info.func.free_update_region = NULL; einfo->info.func.free_update_region = NULL;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
@ -104,31 +104,31 @@ _ecore_evas_buffer_render(Ecore_Evas *ee)
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
{ {
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
rend |= _ecore_evas_buffer_render(ee2); rend |= _ecore_evas_buffer_render(ee2);
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
} }
if (ee->engine.buffer.image) if (ee->engine.buffer.image)
{ {
int w, h; int w, h;
evas_object_image_size_get(ee->engine.buffer.image, &w, &h); evas_object_image_size_get(ee->engine.buffer.image, &w, &h);
if ((w != ee->w) || (h != ee->h)) if ((w != ee->w) || (h != ee->h))
_ecore_evas_resize(ee, w, h); _ecore_evas_resize(ee, w, h);
} }
updates = evas_render_updates(ee->evas); updates = evas_render_updates(ee->evas);
if (ee->engine.buffer.image) if (ee->engine.buffer.image)
{ {
Eina_Rectangle *r; Eina_Rectangle *r;
EINA_LIST_FOREACH(updates, l, r) EINA_LIST_FOREACH(updates, l, r)
evas_object_image_data_update_add(ee->engine.buffer.image, evas_object_image_data_update_add(ee->engine.buffer.image,
r->x, r->y, r->w, r->h); r->x, r->y, r->w, r->h);
} }
if (updates) if (updates)
{ {
evas_render_updates_free(updates); evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
} }
return updates ? 1 : rend; return updates ? 1 : rend;
@ -564,13 +564,13 @@ ecore_evas_buffer_allocfunc_new(int w, int h, void *(*alloc_func) (void *data, i
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32; einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
einfo->info.dest_buffer = ee->engine.buffer.pixels; einfo->info.dest_buffer = ee->engine.buffer.pixels;
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int); einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
einfo->info.use_color_key = 0; einfo->info.use_color_key = 0;
einfo->info.alpha_threshold = 0; einfo->info.alpha_threshold = 0;
einfo->info.func.new_update_region = NULL; einfo->info.func.new_update_region = NULL;
einfo->info.func.free_update_region = NULL; einfo->info.func.free_update_region = NULL;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
@ -666,63 +666,63 @@ ecore_evas_object_image_new(Ecore_Evas *ee_target)
ee->engine.buffer.pixels = evas_object_image_data_get(o, 1); ee->engine.buffer.pixels = evas_object_image_data_get(o, 1);
evas_object_image_data_set(o, ee->engine.buffer.pixels); evas_object_image_data_set(o, ee->engine.buffer.pixels);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_IN,
_ecore_evas_buffer_cb_mouse_in, ee); _ecore_evas_buffer_cb_mouse_in, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_OUT, EVAS_CALLBACK_MOUSE_OUT,
_ecore_evas_buffer_cb_mouse_out, ee); _ecore_evas_buffer_cb_mouse_out, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_DOWN, EVAS_CALLBACK_MOUSE_DOWN,
_ecore_evas_buffer_cb_mouse_down, ee); _ecore_evas_buffer_cb_mouse_down, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_UP, EVAS_CALLBACK_MOUSE_UP,
_ecore_evas_buffer_cb_mouse_up, ee); _ecore_evas_buffer_cb_mouse_up, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_MOVE, EVAS_CALLBACK_MOUSE_MOVE,
_ecore_evas_buffer_cb_mouse_move, ee); _ecore_evas_buffer_cb_mouse_move, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MOUSE_WHEEL, EVAS_CALLBACK_MOUSE_WHEEL,
_ecore_evas_buffer_cb_mouse_wheel, ee); _ecore_evas_buffer_cb_mouse_wheel, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MULTI_DOWN, EVAS_CALLBACK_MULTI_DOWN,
_ecore_evas_buffer_cb_multi_down, ee); _ecore_evas_buffer_cb_multi_down, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MULTI_UP, EVAS_CALLBACK_MULTI_UP,
_ecore_evas_buffer_cb_multi_up, ee); _ecore_evas_buffer_cb_multi_up, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_MULTI_MOVE, EVAS_CALLBACK_MULTI_MOVE,
_ecore_evas_buffer_cb_multi_move, ee); _ecore_evas_buffer_cb_multi_move, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_FREE, EVAS_CALLBACK_FREE,
_ecore_evas_buffer_cb_free, ee); _ecore_evas_buffer_cb_free, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_KEY_DOWN, EVAS_CALLBACK_KEY_DOWN,
_ecore_evas_buffer_cb_key_down, ee); _ecore_evas_buffer_cb_key_down, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_KEY_UP, EVAS_CALLBACK_KEY_UP,
_ecore_evas_buffer_cb_key_up, ee); _ecore_evas_buffer_cb_key_up, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_FOCUS_IN,
_ecore_evas_buffer_cb_focus_in, ee); _ecore_evas_buffer_cb_focus_in, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_FOCUS_OUT,
_ecore_evas_buffer_cb_focus_out, ee); _ecore_evas_buffer_cb_focus_out, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_SHOW, EVAS_CALLBACK_SHOW,
_ecore_evas_buffer_cb_show, ee); _ecore_evas_buffer_cb_show, ee);
evas_object_event_callback_add(ee->engine.buffer.image, evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_HIDE, EVAS_CALLBACK_HIDE,
_ecore_evas_buffer_cb_hide, ee); _ecore_evas_buffer_cb_hide, ee);
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas); einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32; einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
einfo->info.dest_buffer = ee->engine.buffer.pixels; einfo->info.dest_buffer = ee->engine.buffer.pixels;
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int); einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
einfo->info.use_color_key = 0; einfo->info.use_color_key = 0;
einfo->info.alpha_threshold = 0; einfo->info.alpha_threshold = 0;
einfo->info.func.new_update_region = NULL; einfo->info.func.new_update_region = NULL;
einfo->info.func.free_update_region = NULL; einfo->info.func.free_update_region = NULL;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);

View File

@ -32,7 +32,7 @@ static const char *ecore_evas_cocoa_default = "EFL Cocoa";
@interface EvasView : NSView @interface EvasView : NSView
{ {
CGContextRef ctx; CGContextRef ctx;
} }
@end @end

View File

@ -29,17 +29,17 @@ _ecore_evas_directfb_render(Ecore_Evas *ee)
#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER #ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
{ {
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
rend |= _ecore_evas_buffer_render(ee2); rend |= _ecore_evas_buffer_render(ee2);
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
} }
#endif #endif
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee); if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
updates = evas_render_updates(ee->evas); updates = evas_render_updates(ee->evas);
if (updates) if (updates)
{ {
evas_render_updates_free(updates); evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
} }
if (ee->func.fn_post_render) ee->func.fn_post_render(ee); if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
@ -229,10 +229,10 @@ _ecore_evas_directfb_shutdown(void)
_ecore_evas_init_count--; _ecore_evas_init_count--;
if (_ecore_evas_init_count == 0) if (_ecore_evas_init_count == 0)
{ {
int i; int i;
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
ecore_event_handler_del(ecore_evas_event_handlers[i]); ecore_event_handler_del(ecore_evas_event_handlers[i]);
} }
if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0; if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
return _ecore_evas_init_count; return _ecore_evas_init_count;
@ -292,13 +292,13 @@ _ecore_evas_directfb_resize(Ecore_Evas *ee, int w, int h)
ee->h = h; ee->h = h;
if ((ee->rotation == 90) || (ee->rotation == 270)) if ((ee->rotation == 90) || (ee->rotation == 270))
{ {
evas_output_size_set(ee->evas, ee->h, ee->w); evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
} }
else else
{ {
evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
} }
} }
@ -354,12 +354,12 @@ _ecore_evas_directfb_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int lay
if (!obj) if (!obj)
{ {
ee->prop.cursor.object = NULL; ee->prop.cursor.object = NULL;
ee->prop.cursor.layer = 0; ee->prop.cursor.layer = 0;
ee->prop.cursor.hot.x = 0; ee->prop.cursor.hot.x = 0;
ee->prop.cursor.hot.y = 0; ee->prop.cursor.hot.y = 0;
ecore_directfb_window_cursor_show(ee->engine.directfb.window, 1); ecore_directfb_window_cursor_show(ee->engine.directfb.window, 1);
return; return;
} }
@ -399,24 +399,24 @@ _ecore_evas_directfb_fullscreen_set(Ecore_Evas *ee, int on)
ecore_directfb_window_size_get(ee->engine.directfb.window, &w, &h); ecore_directfb_window_size_get(ee->engine.directfb.window, &w, &h);
if( (ee->w != w) || (ee->h != h)) if( (ee->w != w) || (ee->h != h))
{ {
resized = 1; resized = 1;
ee->w = w; ee->w = w;
ee->h = h; ee->h = h;
if ((ee->rotation == 90) || (ee->rotation == 270)) if ((ee->rotation == 90) || (ee->rotation == 270))
{ {
evas_output_size_set(ee->evas, ee->h, ee->w); evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
} }
else else
{ {
evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
} }
} }
einfo = (Evas_Engine_Info_DirectFB *)evas_engine_info_get(ee->evas); einfo = (Evas_Engine_Info_DirectFB *)evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
einfo->info.surface = ee->engine.directfb.window->surface; einfo->info.surface = ee->engine.directfb.window->surface;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
@ -425,7 +425,7 @@ _ecore_evas_directfb_fullscreen_set(Ecore_Evas *ee, int on)
ee->prop.fullscreen = on; ee->prop.fullscreen = on;
if (resized) if (resized)
{ {
if(ee->func.fn_resize) ee->func.fn_resize(ee); if(ee->func.fn_resize) ee->func.fn_resize(ee);
} }
} }
@ -439,49 +439,49 @@ _ecore_evas_directfb_window_get(const Ecore_Evas *ee)
#ifdef BUILD_ECORE_EVAS_DIRECTFB #ifdef BUILD_ECORE_EVAS_DIRECTFB
static Ecore_Evas_Engine_Func _ecore_directfb_engine_func = static Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
{ {
_ecore_evas_directfb_free, /* free an ecore_evas */ _ecore_evas_directfb_free, /* free an ecore_evas */
NULL, /* cb resize */ NULL, /* cb resize */
NULL, /* cb move */ NULL, /* cb move */
NULL, /* cb show */ NULL, /* cb show */
NULL, /* cb hide */ NULL, /* cb hide */
NULL, /* cb delete request */ NULL, /* cb delete request */
NULL, /* cb destroy */ NULL, /* cb destroy */
NULL, /* cb focus in */ NULL, /* cb focus in */
NULL, /* cb focus out */ NULL, /* cb focus out */
NULL, /* cb sticky */ NULL, /* cb sticky */
NULL, /* cb unsticky */ NULL, /* cb unsticky */
NULL, /* cb mouse in */ NULL, /* cb mouse in */
NULL, /* cb mouse out */ NULL, /* cb mouse out */
NULL, /* cb pre render */ NULL, /* cb pre render */
NULL, /* cb post render */ NULL, /* cb post render */
_ecore_evas_directfb_move, /* move */ _ecore_evas_directfb_move, /* move */
NULL, /* managed move */ NULL, /* managed move */
_ecore_evas_directfb_resize, /* resize */ _ecore_evas_directfb_resize, /* resize */
NULL, /* move resize */ NULL, /* move resize */
NULL,//_ecore_evas_directfb_rotation_set,/* rotation */ NULL,//_ecore_evas_directfb_rotation_set,/* rotation */
_ecore_evas_directfb_shaped_set, /* shaped */ _ecore_evas_directfb_shaped_set, /* shaped */
_ecore_evas_directfb_show, /* show */ _ecore_evas_directfb_show, /* show */
_ecore_evas_directfb_hide, /* hide */ _ecore_evas_directfb_hide, /* hide */
NULL, /* raise */ NULL, /* raise */
NULL, /* lower */ NULL, /* lower */
NULL, /* activate */ NULL, /* activate */
NULL, /* title set */ NULL, /* title set */
NULL, /* name class set */ NULL, /* name class set */
NULL, /* size min */ NULL, /* size min */
NULL, /* size max */ NULL, /* size max */
NULL, /* size base */ NULL, /* size base */
NULL, /* size step */ NULL, /* size step */
_ecore_evas_directfb_object_cursor_set, /* set cursor to an evas object */ _ecore_evas_directfb_object_cursor_set, /* set cursor to an evas object */
NULL, /* layer set */ NULL, /* layer set */
_ecore_evas_directfb_focus_set, /* focus */ _ecore_evas_directfb_focus_set, /* focus */
NULL, /* iconified */ NULL, /* iconified */
NULL, /* borderless */ NULL, /* borderless */
NULL, /* override */ NULL, /* override */
NULL, /* maximized */ NULL, /* maximized */
_ecore_evas_directfb_fullscreen_set,/* fullscreen */ _ecore_evas_directfb_fullscreen_set,/* fullscreen */
NULL, /* avoid damage */ NULL, /* avoid damage */
NULL, /* withdrawn */ NULL, /* withdrawn */
NULL, /* sticky */ NULL, /* sticky */
NULL, /* ignore events */ NULL, /* ignore events */
NULL, /* alpha */ NULL, /* alpha */
NULL, //transparent NULL, //transparent
@ -539,8 +539,8 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
ee->engine.directfb.window = window; ee->engine.directfb.window = window;
if (einfo) if (einfo)
{ {
einfo->info.dfb = ecore_directfb_interface_get(); einfo->info.dfb = ecore_directfb_interface_get();
einfo->info.surface = window->surface; einfo->info.surface = window->surface;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);

View File

@ -32,23 +32,23 @@ _ecore_evas_mouse_move_process_fb(Ecore_Evas *ee, int x, int y, unsigned int tim
ecore_fb_size_get(&fbw, &fbh); ecore_fb_size_get(&fbw, &fbh);
if (ee->prop.cursor.object) if (ee->prop.cursor.object)
{ {
evas_object_show(ee->prop.cursor.object); evas_object_show(ee->prop.cursor.object);
if (ee->rotation == 0) if (ee->rotation == 0)
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
x - ee->prop.cursor.hot.x, x - ee->prop.cursor.hot.x,
y - ee->prop.cursor.hot.y); y - ee->prop.cursor.hot.y);
else if (ee->rotation == 90) else if (ee->rotation == 90)
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.x, (fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.x,
x - ee->prop.cursor.hot.y); x - ee->prop.cursor.hot.y);
else if (ee->rotation == 180) else if (ee->rotation == 180)
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.x, (fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.x,
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.y); (fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.y);
else if (ee->rotation == 270) else if (ee->rotation == 270)
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
y - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.x,
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.y); (fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.y);
} }
if (ee->rotation == 0) if (ee->rotation == 0)
evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL); evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
@ -91,11 +91,11 @@ _ecore_evas_fb_gain(void *data __UNUSED__)
{ {
ee = fb_ee; ee = fb_ee;
ee->visible = 1; ee->visible = 1;
if ((ee->rotation == 90) || (ee->rotation == 270)) if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
else else
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
} }
EINA_LIST_FOREACH(ecore_evas_input_devices, ll, dev) EINA_LIST_FOREACH(ecore_evas_input_devices, ll, dev)
@ -243,60 +243,60 @@ _ecore_evas_fb_init(int w, int h)
while ((input_entry = readdir(input_dir))) while ((input_entry = readdir(input_dir)))
{ {
char device_path[256]; char device_path[256];
if (strncmp(input_entry->d_name, "event", 5) != 0) if (strncmp(input_entry->d_name, "event", 5) != 0)
continue; continue;
snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name); snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
if (!(device = ecore_fb_input_device_open(device_path))) if (!(device = ecore_fb_input_device_open(device_path)))
continue; continue;
caps = ecore_fb_input_device_cap_get(device); caps = ecore_fb_input_device_cap_get(device);
/* Mouse */ /* Mouse */
#ifdef HAVE_TSLIB #ifdef HAVE_TSLIB
if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE) if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
#else #else
if ((caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE) || (caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE)) if ((caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE) || (caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
#endif #endif
{ {
ecore_fb_input_device_axis_size_set(device, w, h); ecore_fb_input_device_axis_size_set(device, w, h);
ecore_fb_input_device_listen(device,1); ecore_fb_input_device_listen(device,1);
ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device); ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
if (!mouse_handled) if (!mouse_handled)
{ {
ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL); ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL);
ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL); ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL);
ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL); ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL);
ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL); ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL);
mouse_handled = 1; mouse_handled = 1;
} }
} }
/* Keyboard */ /* Keyboard */
else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && !(caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE)) else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && !(caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
{ {
ecore_fb_input_device_listen(device,1); ecore_fb_input_device_listen(device,1);
ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device); ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
if (!keyboard_handled) if (!keyboard_handled)
{ {
ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, NULL); ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, NULL);
ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL); ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
keyboard_handled = 1; keyboard_handled = 1;
} }
} }
} }
closedir(input_dir); closedir(input_dir);
if (!mouse_handled) if (!mouse_handled)
{ {
if (ecore_fb_ts_init()) if (ecore_fb_ts_init())
{ {
ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL); ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL);
ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL); ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL);
ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL); ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL);
mouse_handled = 1; mouse_handled = 1;
} }
} }
return _ecore_evas_init_count; return _ecore_evas_init_count;
} }
@ -365,42 +365,42 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation, int resize __UNUSED__)
if (rot_dif != 180) if (rot_dif != 180)
{ {
einfo->info.rotation = rotation; einfo->info.rotation = rotation;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
} }
if (!ee->prop.fullscreen) if (!ee->prop.fullscreen)
{ {
int tmp; int tmp;
tmp = ee->w; tmp = ee->w;
ee->w = ee->h; ee->w = ee->h;
ee->h = tmp; ee->h = tmp;
} }
else else
{ {
if ((rotation == 0) || (rotation == 180)) if ((rotation == 0) || (rotation == 180))
{ {
evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
} }
else else
{ {
evas_output_size_set(ee->evas, ee->h, ee->w); evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
} }
} }
ee->rotation = rotation; ee->rotation = rotation;
} }
else else
{ {
einfo->info.rotation = rotation; einfo->info.rotation = rotation;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
} }
ee->rotation = rotation; ee->rotation = rotation;
} }
if ((ee->rotation == 90) || (ee->rotation == 270)) if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
@ -429,11 +429,11 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
if (!obj) if (!obj)
{ {
ee->prop.cursor.object = NULL; ee->prop.cursor.object = NULL;
ee->prop.cursor.layer = 0; ee->prop.cursor.layer = 0;
ee->prop.cursor.hot.x = 0; ee->prop.cursor.hot.x = 0;
ee->prop.cursor.hot.y = 0; ee->prop.cursor.hot.y = 0;
return; return;
} }
ee->prop.cursor.object = obj; ee->prop.cursor.object = obj;
@ -443,8 +443,8 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
evas_pointer_output_xy_get(ee->evas, &x, &y); evas_pointer_output_xy_get(ee->evas, &x, &y);
evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
x - ee->prop.cursor.hot.x, x - ee->prop.cursor.hot.x,
y - ee->prop.cursor.hot.y); y - ee->prop.cursor.hot.y);
evas_object_pass_events_set(ee->prop.cursor.object, 1); evas_object_pass_events_set(ee->prop.cursor.object, 1);
if (evas_pointer_inside_get(ee->evas)) if (evas_pointer_inside_get(ee->evas))
evas_object_show(ee->prop.cursor.object); evas_object_show(ee->prop.cursor.object);
@ -463,33 +463,33 @@ _ecore_evas_fullscreen_set(Ecore_Evas *ee, int on)
((!ee->prop.fullscreen) && (!on))) return; ((!ee->prop.fullscreen) && (!on))) return;
if (on) if (on)
{ {
int w, h; int w, h;
ee->engine.fb.real_w = ee->w; ee->engine.fb.real_w = ee->w;
ee->engine.fb.real_h = ee->h; ee->engine.fb.real_h = ee->h;
w = ee->w; w = ee->w;
h = ee->h; h = ee->h;
ecore_fb_size_get(&w, &h); ecore_fb_size_get(&w, &h);
if ((w == 0) && (h == 0)) if ((w == 0) && (h == 0))
{ {
w = ee->w; w = ee->w;
h = ee->h; h = ee->h;
} }
if ((w != ee->w) || (h != ee->h)) resized = 1; if ((w != ee->w) || (h != ee->h)) resized = 1;
ee->w = w; ee->w = w;
ee->h = h; ee->h = h;
evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
} }
else else
{ {
if ((ee->engine.fb.real_w != ee->w) || (ee->engine.fb.real_h != ee->h)) resized = 1; if ((ee->engine.fb.real_w != ee->w) || (ee->engine.fb.real_h != ee->h)) resized = 1;
ee->w = ee->engine.fb.real_w; ee->w = ee->engine.fb.real_w;
ee->h = ee->engine.fb.real_h; ee->h = ee->engine.fb.real_h;
evas_output_size_set(ee->evas, ee->w, ee->h); evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
} }
ee->prop.fullscreen = on; ee->prop.fullscreen = on;
EINA_LIST_FOREACH(ecore_evas_input_devices, l, dev) EINA_LIST_FOREACH(ecore_evas_input_devices, l, dev)
@ -497,7 +497,7 @@ _ecore_evas_fullscreen_set(Ecore_Evas *ee, int on)
/* rescale the input device area */ /* rescale the input device area */
if (resized) if (resized)
{ {
if (ee->func.fn_resize) ee->func.fn_resize(ee); if (ee->func.fn_resize) ee->func.fn_resize(ee);
} }
} }
@ -507,14 +507,14 @@ _ecore_evas_fb_shutdown(void)
_ecore_evas_init_count--; _ecore_evas_init_count--;
if (_ecore_evas_init_count == 0) if (_ecore_evas_init_count == 0)
{ {
int i; int i;
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
{ {
if (ecore_evas_event_handlers[i]) if (ecore_evas_event_handlers[i])
ecore_event_handler_del(ecore_evas_event_handlers[i]); ecore_event_handler_del(ecore_evas_event_handlers[i]);
} }
ecore_fb_ts_shutdown(); ecore_fb_ts_shutdown();
} }
if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0; if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
return _ecore_evas_init_count; return _ecore_evas_init_count;
@ -645,10 +645,10 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
einfo = (Evas_Engine_Info_FB *)evas_engine_info_get(ee->evas); einfo = (Evas_Engine_Info_FB *)evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
einfo->info.virtual_terminal = 0; einfo->info.virtual_terminal = 0;
einfo->info.device_number = strtol(disp_name, NULL, 10); einfo->info.device_number = strtol(disp_name, NULL, 10);
einfo->info.refresh = 0; einfo->info.refresh = 0;
einfo->info.rotation = ee->rotation; einfo->info.rotation = ee->rotation;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);

View File

@ -35,7 +35,7 @@ static Ecore_Event_Handler *ecore_evas_event_handlers[4] = {
static const char *ecore_evas_sdl_default = "EFL SDL"; static const char *ecore_evas_sdl_default = "EFL SDL";
static int _ecore_evas_fps_debug = 0; static int _ecore_evas_fps_debug = 0;
static Ecore_Poller *ecore_evas_event; static Ecore_Poller *ecore_evas_event;
static Ecore_Evas *ecore_evases = NULL; static Ecore_Evas *ecore_evases = NULL;
static Ecore_Evas * static Ecore_Evas *
_ecore_evas_sdl_match(void) _ecore_evas_sdl_match(void)
@ -110,8 +110,8 @@ _ecore_evas_render(Ecore_Evas *ee)
updates = evas_render_updates(ee->evas); updates = evas_render_updates(ee->evas);
if (updates) if (updates)
{ {
evas_render_updates_free(updates); evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
} }
return updates ? 1 : 0; return updates ? 1 : 0;
} }
@ -189,15 +189,15 @@ _ecore_evas_sdl_shutdown(void)
_ecore_evas_init_count--; _ecore_evas_init_count--;
if (_ecore_evas_init_count == 0) if (_ecore_evas_init_count == 0)
{ {
int i; int i;
for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++) for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++)
ecore_event_handler_del(ecore_evas_event_handlers[i]); ecore_event_handler_del(ecore_evas_event_handlers[i]);
ecore_event_evas_shutdown(); ecore_event_evas_shutdown();
ecore_poller_del(ecore_evas_event); ecore_poller_del(ecore_evas_event);
ecore_evas_event = NULL; ecore_evas_event = NULL;
#ifndef _WIN32 #ifndef _WIN32
if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown(); if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
#endif /* _WIN32 */ #endif /* _WIN32 */
} }
if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0; if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
@ -261,11 +261,11 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
if (!obj) if (!obj)
{ {
ee->prop.cursor.object = NULL; ee->prop.cursor.object = NULL;
ee->prop.cursor.layer = 0; ee->prop.cursor.layer = 0;
ee->prop.cursor.hot.x = 0; ee->prop.cursor.hot.x = 0;
ee->prop.cursor.hot.y = 0; ee->prop.cursor.hot.y = 0;
return; return;
} }
ee->prop.cursor.object = obj; ee->prop.cursor.object = obj;
@ -275,8 +275,8 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
evas_pointer_output_xy_get(ee->evas, &x, &y); evas_pointer_output_xy_get(ee->evas, &x, &y);
evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
x - ee->prop.cursor.hot.x, x - ee->prop.cursor.hot.x,
y - ee->prop.cursor.hot.y); y - ee->prop.cursor.hot.y);
evas_object_pass_events_set(ee->prop.cursor.object, 1); evas_object_pass_events_set(ee->prop.cursor.object, 1);
if (evas_pointer_inside_get(ee->evas)) if (evas_pointer_inside_get(ee->evas))
evas_object_show(ee->prop.cursor.object); evas_object_show(ee->prop.cursor.object);
@ -386,43 +386,43 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
if (rmethod == evas_render_method_lookup("software_sdl")) if (rmethod == evas_render_method_lookup("software_sdl"))
{ {
#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
einfo = evas_engine_info_get(ee->evas); einfo = evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0; ((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0;
((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen; ((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen;
((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface; ((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface;
((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe; ((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe;
((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha; ((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
} }
} }
#endif #endif
} }
else if (rmethod == evas_render_method_lookup("gl_sdl")) else if (rmethod == evas_render_method_lookup("gl_sdl"))
{ {
#ifdef BUILD_ECORE_EVAS_OPENGL_SDL #ifdef BUILD_ECORE_EVAS_OPENGL_SDL
einfo = evas_engine_info_get(ee->evas); einfo = evas_engine_info_get(ee->evas);
if (einfo) if (einfo)
{ {
((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen; ((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen;
((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe; ((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{ {
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
} }
} }
#endif #endif
} }
if (!ecore_sdl_init(name)) if (!ecore_sdl_init(name))
{ {
evas_free(ee->evas); evas_free(ee->evas);
if (ee->name) free(ee->name); if (ee->name) free(ee->name);
free(ee); free(ee);
return NULL; return NULL;
} }
_ecore_evas_sdl_init(w, h); _ecore_evas_sdl_init(w, h);

View File

@ -308,14 +308,14 @@ ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj)
old_ee = _evas_object_associate_get(obj); old_ee = _evas_object_associate_get(obj);
if (ee != old_ee) { if (ee != old_ee) {
ERR("ERROR: trying to dissociate object that is not using " ERR("ERROR: trying to dissociate object that is not using "
"this Ecore_Evas: %p != %p", ee, old_ee); "this Ecore_Evas: %p != %p", ee, old_ee);
return EINA_FALSE; return EINA_FALSE;
} }
old_obj = _ecore_evas_associate_get(ee); old_obj = _ecore_evas_associate_get(ee);
if (old_obj != obj) { if (old_obj != obj) {
ERR("ERROR: trying to dissociate object that is not being " ERR("ERROR: trying to dissociate object that is not being "
"used by this Ecore_Evas: %p != %p", old_obj, obj); "used by this Ecore_Evas: %p != %p", old_obj, obj);
return EINA_FALSE; return EINA_FALSE;
} }
@ -430,13 +430,13 @@ _ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj)
else else
{ {
if (ee->func.fn_delete_request == _ecore_evas_delete_request) if (ee->func.fn_delete_request == _ecore_evas_delete_request)
ecore_evas_callback_delete_request_set(ee, NULL); ecore_evas_callback_delete_request_set(ee, NULL);
if (ee->func.fn_destroy == _ecore_evas_destroy) if (ee->func.fn_destroy == _ecore_evas_destroy)
ecore_evas_callback_destroy_set(ee, NULL); ecore_evas_callback_destroy_set(ee, NULL);
if (ee->func.fn_resize == _ecore_evas_resize) if (ee->func.fn_resize == _ecore_evas_resize)
ecore_evas_callback_resize_set(ee, NULL); ecore_evas_callback_resize_set(ee, NULL);
if (ee->func.fn_pre_free == _ecore_evas_pre_free) if (ee->func.fn_pre_free == _ecore_evas_pre_free)
ecore_evas_callback_pre_free_set(ee, NULL); ecore_evas_callback_pre_free_set(ee, NULL);
_ecore_evas_associate_del(ee); _ecore_evas_associate_del(ee);
} }

View File

@ -52,9 +52,9 @@ _ecore_evas_wince_render(Ecore_Evas *ee)
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
{ {
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
rend |= _ecore_evas_buffer_render(ee2); rend |= _ecore_evas_buffer_render(ee2);
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
} }
#endif #endif
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee); if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
@ -110,10 +110,10 @@ _ecore_evas_wince_shutdown(void)
_ecore_evas_init_count--; _ecore_evas_init_count--;
if (_ecore_evas_init_count == 0) if (_ecore_evas_init_count == 0)
{ {
int i; int i;
for (i = 0; i < ECORE_EVAS_EVENT_COUNT; i++) for (i = 0; i < ECORE_EVAS_EVENT_COUNT; i++)
ecore_event_handler_del(ecore_evas_event_handlers[i]); ecore_event_handler_del(ecore_evas_event_handlers[i]);
ecore_event_evas_shutdown(); ecore_event_evas_shutdown();
} }
@ -400,65 +400,65 @@ _ecore_evas_wince_move_resize(Ecore_Evas *ee, int x, int y, int width, int heigh
/* if (rot_dif < 0) rot_dif = -rot_dif; */ /* if (rot_dif < 0) rot_dif = -rot_dif; */
/* if (!strcmp(ee->driver, "software_ddraw")) */ /* if (!strcmp(ee->driver, "software_ddraw")) */
/* { */ /* { */
/* Evas_Engine_Info_Software_16_WinCE *einfo; */ /* Evas_Engine_Info_Software_16_WinCE *einfo; */
/* einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(ee->evas); */ /* einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(ee->evas); */
/* if (!einfo) return; */ /* if (!einfo) return; */
/* if (rot_dif != 180) */ /* if (rot_dif != 180) */
/* { */ /* { */
/* int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */ /* int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */
/* einfo->info.rotation = rotation; */ /* einfo->info.rotation = rotation; */
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */ /* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
/* if (!ee->prop.fullscreen) */ /* if (!ee->prop.fullscreen) */
/* { */ /* { */
/* ecore_wince_window_resize(ee->prop.window, ee->h, ee->w); */ /* ecore_wince_window_resize(ee->prop.window, ee->h, ee->w); */
/* ee->expecting_resize.w = ee->h; */ /* ee->expecting_resize.w = ee->h; */
/* ee->expecting_resize.h = ee->w; */ /* ee->expecting_resize.h = ee->w; */
/* } */ /* } */
/* else */ /* else */
/* { */ /* { */
/* int w, h; */ /* int w, h; */
/* ecore_wince_window_size_get(ee->prop.window, &w, &h); */ /* ecore_wince_window_size_get(ee->prop.window, &w, &h); */
/* ecore_wince_window_resize(ee->prop.window, h, w); */ /* ecore_wince_window_resize(ee->prop.window, h, w); */
/* if ((rotation == 0) || (rotation == 180)) */ /* if ((rotation == 0) || (rotation == 180)) */
/* { */ /* { */
/* evas_output_size_set(ee->evas, ee->w, ee->h); */ /* evas_output_size_set(ee->evas, ee->w, ee->h); */
/* evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */ /* evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */
/* } */ /* } */
/* else */ /* else */
/* { */ /* { */
/* evas_output_size_set(ee->evas, ee->h, ee->w); */ /* evas_output_size_set(ee->evas, ee->h, ee->w); */
/* evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); */ /* evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); */
/* } */ /* } */
/* if (ee->func.fn_resize) ee->func.fn_resize(ee); */ /* if (ee->func.fn_resize) ee->func.fn_resize(ee); */
/* } */ /* } */
/* ecore_evas_size_min_get(ee, &minw, &minh); */ /* ecore_evas_size_min_get(ee, &minw, &minh); */
/* ecore_evas_size_max_get(ee, &maxw, &maxh); */ /* ecore_evas_size_max_get(ee, &maxw, &maxh); */
/* ecore_evas_size_base_get(ee, &basew, &baseh); */ /* ecore_evas_size_base_get(ee, &basew, &baseh); */
/* ecore_evas_size_step_get(ee, &stepw, &steph); */ /* ecore_evas_size_step_get(ee, &stepw, &steph); */
/* ee->rotation = rotation; */ /* ee->rotation = rotation; */
/* ecore_evas_size_min_set(ee, minh, minw); */ /* ecore_evas_size_min_set(ee, minh, minw); */
/* ecore_evas_size_max_set(ee, maxh, maxw); */ /* ecore_evas_size_max_set(ee, maxh, maxw); */
/* ecore_evas_size_base_set(ee, baseh, basew); */ /* ecore_evas_size_base_set(ee, baseh, basew); */
/* ecore_evas_size_step_set(ee, steph, stepw); */ /* ecore_evas_size_step_set(ee, steph, stepw); */
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */ /* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
/* ecore_wince_current_time_get()); */ /* ecore_wince_current_time_get()); */
/* } */ /* } */
/* else */ /* else */
/* { */ /* { */
/* einfo->info.rotation = rotation; */ /* einfo->info.rotation = rotation; */
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */ /* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
/* ee->rotation = rotation; */ /* ee->rotation = rotation; */
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */ /* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
/* ecore_wince_current_time_get()); */ /* ecore_wince_current_time_get()); */
/* if (ee->func.fn_resize) ee->func.fn_resize(ee); */ /* if (ee->func.fn_resize) ee->func.fn_resize(ee); */
/* } */ /* } */
/* if ((ee->rotation == 90) || (ee->rotation == 270)) */ /* if ((ee->rotation == 90) || (ee->rotation == 270)) */
/* evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */ /* evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */
/* else */ /* else */
/* evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); */ /* evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); */
/* } */ /* } */
/* } */ /* } */
@ -567,12 +567,12 @@ _ecore_evas_wince_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho
if (obj == NULL) if (obj == NULL)
{ {
ee->prop.cursor.object = NULL; ee->prop.cursor.object = NULL;
ee->prop.cursor.layer = 0; ee->prop.cursor.layer = 0;
ee->prop.cursor.hot.x = 0; ee->prop.cursor.hot.x = 0;
ee->prop.cursor.hot.y = 0; ee->prop.cursor.hot.y = 0;
ecore_wince_window_cursor_show(ee->prop.window, 1); ecore_wince_window_cursor_show(ee->prop.window, 1);
return; return;
} }
ee->prop.cursor.object = obj; ee->prop.cursor.object = obj;
@ -585,8 +585,8 @@ _ecore_evas_wince_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho
evas_pointer_output_xy_get(ee->evas, &x, &y); evas_pointer_output_xy_get(ee->evas, &x, &y);
evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
evas_object_move(ee->prop.cursor.object, evas_object_move(ee->prop.cursor.object,
x - ee->prop.cursor.hot.x, x - ee->prop.cursor.hot.x,
y - ee->prop.cursor.hot.y); y - ee->prop.cursor.hot.y);
evas_object_pass_events_set(ee->prop.cursor.object, 1); evas_object_pass_events_set(ee->prop.cursor.object, 1);
if (evas_pointer_inside_get(ee->evas)) if (evas_pointer_inside_get(ee->evas))
evas_object_show(ee->prop.cursor.object); evas_object_show(ee->prop.cursor.object);

File diff suppressed because it is too large Load Diff