parent
62bcf9643e
commit
439168c6ff
File diff suppressed because it is too large
Load Diff
|
@ -24,15 +24,15 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
|
|||
{
|
||||
if (ee->engine.buffer.image)
|
||||
{
|
||||
Ecore_Evas *ee2;
|
||||
Ecore_Evas *ee2;
|
||||
|
||||
ee2 = evas_object_data_get(ee->engine.buffer.image, "Ecore_Evas_Parent");
|
||||
evas_object_del(ee->engine.buffer.image);
|
||||
ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee);
|
||||
ee2 = evas_object_data_get(ee->engine.buffer.image, "Ecore_Evas_Parent");
|
||||
evas_object_del(ee->engine.buffer.image);
|
||||
ee2->sub_ecore_evas = eina_list_remove(ee2->sub_ecore_evas, ee);
|
||||
}
|
||||
else
|
||||
{
|
||||
ee->engine.buffer.free_func(ee->engine.buffer.data,
|
||||
ee->engine.buffer.free_func(ee->engine.buffer.data,
|
||||
ee->engine.buffer.pixels);
|
||||
}
|
||||
_ecore_evas_buffer_shutdown();
|
||||
|
@ -54,14 +54,14 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
|
|||
|
||||
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
|
||||
{
|
||||
if (ee->engine.buffer.pixels)
|
||||
if (ee->engine.buffer.pixels)
|
||||
ee->engine.buffer.free_func(ee->engine.buffer.data,
|
||||
ee->engine.buffer.pixels);
|
||||
ee->engine.buffer.pixels =
|
||||
ee->engine.buffer.pixels =
|
||||
ee->engine.buffer.alloc_func(ee->engine.buffer.data,
|
||||
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);
|
||||
if (einfo)
|
||||
{
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
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)
|
||||
{
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
}
|
||||
if (ee->engine.buffer.image)
|
||||
{
|
||||
int w, h;
|
||||
int w, h;
|
||||
|
||||
evas_object_image_size_get(ee->engine.buffer.image, &w, &h);
|
||||
if ((w != ee->w) || (h != ee->h))
|
||||
_ecore_evas_resize(ee, w, h);
|
||||
evas_object_image_size_get(ee->engine.buffer.image, &w, &h);
|
||||
if ((w != ee->w) || (h != ee->h))
|
||||
_ecore_evas_resize(ee, w, h);
|
||||
}
|
||||
updates = evas_render_updates(ee->evas);
|
||||
if (ee->engine.buffer.image)
|
||||
{
|
||||
Eina_Rectangle *r;
|
||||
|
||||
EINA_LIST_FOREACH(updates, l, r)
|
||||
evas_object_image_data_update_add(ee->engine.buffer.image,
|
||||
r->x, r->y, r->w, r->h);
|
||||
EINA_LIST_FOREACH(updates, l, r)
|
||||
evas_object_image_data_update_add(ee->engine.buffer.image,
|
||||
r->x, r->y, r->w, r->h);
|
||||
}
|
||||
if (updates)
|
||||
{
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(ee);
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(ee);
|
||||
}
|
||||
|
||||
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);
|
||||
if (einfo)
|
||||
{
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
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);
|
||||
evas_object_image_data_set(o, ee->engine.buffer.pixels);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_IN,
|
||||
_ecore_evas_buffer_cb_mouse_in, ee);
|
||||
EVAS_CALLBACK_MOUSE_IN,
|
||||
_ecore_evas_buffer_cb_mouse_in, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_OUT,
|
||||
_ecore_evas_buffer_cb_mouse_out, ee);
|
||||
EVAS_CALLBACK_MOUSE_OUT,
|
||||
_ecore_evas_buffer_cb_mouse_out, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_ecore_evas_buffer_cb_mouse_down, ee);
|
||||
EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_ecore_evas_buffer_cb_mouse_down, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_UP,
|
||||
_ecore_evas_buffer_cb_mouse_up, ee);
|
||||
EVAS_CALLBACK_MOUSE_UP,
|
||||
_ecore_evas_buffer_cb_mouse_up, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_MOVE,
|
||||
_ecore_evas_buffer_cb_mouse_move, ee);
|
||||
EVAS_CALLBACK_MOUSE_MOVE,
|
||||
_ecore_evas_buffer_cb_mouse_move, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MOUSE_WHEEL,
|
||||
_ecore_evas_buffer_cb_mouse_wheel, ee);
|
||||
EVAS_CALLBACK_MOUSE_WHEEL,
|
||||
_ecore_evas_buffer_cb_mouse_wheel, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MULTI_DOWN,
|
||||
_ecore_evas_buffer_cb_multi_down, ee);
|
||||
EVAS_CALLBACK_MULTI_DOWN,
|
||||
_ecore_evas_buffer_cb_multi_down, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MULTI_UP,
|
||||
_ecore_evas_buffer_cb_multi_up, ee);
|
||||
EVAS_CALLBACK_MULTI_UP,
|
||||
_ecore_evas_buffer_cb_multi_up, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_MULTI_MOVE,
|
||||
_ecore_evas_buffer_cb_multi_move, ee);
|
||||
EVAS_CALLBACK_MULTI_MOVE,
|
||||
_ecore_evas_buffer_cb_multi_move, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_FREE,
|
||||
_ecore_evas_buffer_cb_free, ee);
|
||||
EVAS_CALLBACK_FREE,
|
||||
_ecore_evas_buffer_cb_free, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_KEY_DOWN,
|
||||
_ecore_evas_buffer_cb_key_down, ee);
|
||||
EVAS_CALLBACK_KEY_DOWN,
|
||||
_ecore_evas_buffer_cb_key_down, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_KEY_UP,
|
||||
_ecore_evas_buffer_cb_key_up, ee);
|
||||
EVAS_CALLBACK_KEY_UP,
|
||||
_ecore_evas_buffer_cb_key_up, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_FOCUS_IN,
|
||||
_ecore_evas_buffer_cb_focus_in, ee);
|
||||
EVAS_CALLBACK_FOCUS_IN,
|
||||
_ecore_evas_buffer_cb_focus_in, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_FOCUS_OUT,
|
||||
_ecore_evas_buffer_cb_focus_out, ee);
|
||||
EVAS_CALLBACK_FOCUS_OUT,
|
||||
_ecore_evas_buffer_cb_focus_out, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_SHOW,
|
||||
_ecore_evas_buffer_cb_show, ee);
|
||||
EVAS_CALLBACK_SHOW,
|
||||
_ecore_evas_buffer_cb_show, ee);
|
||||
evas_object_event_callback_add(ee->engine.buffer.image,
|
||||
EVAS_CALLBACK_HIDE,
|
||||
_ecore_evas_buffer_cb_hide, ee);
|
||||
EVAS_CALLBACK_HIDE,
|
||||
_ecore_evas_buffer_cb_hide, ee);
|
||||
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = ee->engine.buffer.pixels;
|
||||
einfo->info.dest_buffer_row_bytes = ee->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
|
|
|
@ -32,7 +32,7 @@ static const char *ecore_evas_cocoa_default = "EFL Cocoa";
|
|||
|
||||
@interface EvasView : NSView
|
||||
{
|
||||
CGContextRef ctx;
|
||||
CGContextRef ctx;
|
||||
}
|
||||
@end
|
||||
|
||||
|
|
|
@ -29,17 +29,17 @@ _ecore_evas_directfb_render(Ecore_Evas *ee)
|
|||
#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
|
||||
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
|
||||
{
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
}
|
||||
#endif
|
||||
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
|
||||
updates = evas_render_updates(ee->evas);
|
||||
if (updates)
|
||||
{
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(ee);
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(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--;
|
||||
if (_ecore_evas_init_count == 0)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
ecore_event_handler_del(ecore_evas_event_handlers[i]);
|
||||
for (i = 0; i < 8; i++)
|
||||
ecore_event_handler_del(ecore_evas_event_handlers[i]);
|
||||
}
|
||||
if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
|
||||
return _ecore_evas_init_count;
|
||||
|
@ -292,13 +292,13 @@ _ecore_evas_directfb_resize(Ecore_Evas *ee, int w, int h)
|
|||
ee->h = h;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->h, ee->w);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, 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);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->w, ee->h);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -354,12 +354,12 @@ _ecore_evas_directfb_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int lay
|
|||
|
||||
if (!obj)
|
||||
{
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
ecore_directfb_window_cursor_show(ee->engine.directfb.window, 1);
|
||||
return;
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
ecore_directfb_window_cursor_show(ee->engine.directfb.window, 1);
|
||||
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);
|
||||
if( (ee->w != w) || (ee->h != h))
|
||||
{
|
||||
resized = 1;
|
||||
ee->w = w;
|
||||
ee->h = h;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->h, ee->w);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->w, ee->h);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
|
||||
}
|
||||
resized = 1;
|
||||
ee->w = w;
|
||||
ee->h = h;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->h, ee->w);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_output_size_set(ee->evas, 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);
|
||||
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))
|
||||
{
|
||||
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;
|
||||
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
|
||||
static Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
|
||||
{
|
||||
_ecore_evas_directfb_free, /* free an ecore_evas */
|
||||
NULL, /* cb resize */
|
||||
NULL, /* cb move */
|
||||
NULL, /* cb show */
|
||||
NULL, /* cb hide */
|
||||
NULL, /* cb delete request */
|
||||
NULL, /* cb destroy */
|
||||
NULL, /* cb focus in */
|
||||
NULL, /* cb focus out */
|
||||
_ecore_evas_directfb_free, /* free an ecore_evas */
|
||||
NULL, /* cb resize */
|
||||
NULL, /* cb move */
|
||||
NULL, /* cb show */
|
||||
NULL, /* cb hide */
|
||||
NULL, /* cb delete request */
|
||||
NULL, /* cb destroy */
|
||||
NULL, /* cb focus in */
|
||||
NULL, /* cb focus out */
|
||||
NULL, /* cb sticky */
|
||||
NULL, /* cb unsticky */
|
||||
NULL, /* cb mouse in */
|
||||
NULL, /* cb mouse out */
|
||||
NULL, /* cb pre render */
|
||||
NULL, /* cb post render */
|
||||
_ecore_evas_directfb_move, /* move */
|
||||
NULL, /* cb mouse in */
|
||||
NULL, /* cb mouse out */
|
||||
NULL, /* cb pre render */
|
||||
NULL, /* cb post render */
|
||||
_ecore_evas_directfb_move, /* move */
|
||||
NULL, /* managed move */
|
||||
_ecore_evas_directfb_resize, /* resize */
|
||||
NULL, /* move resize */
|
||||
_ecore_evas_directfb_resize, /* resize */
|
||||
NULL, /* move resize */
|
||||
NULL,//_ecore_evas_directfb_rotation_set,/* rotation */
|
||||
_ecore_evas_directfb_shaped_set, /* shaped */
|
||||
_ecore_evas_directfb_show, /* show */
|
||||
_ecore_evas_directfb_hide, /* hide */
|
||||
NULL, /* raise */
|
||||
NULL, /* lower */
|
||||
NULL, /* activate */
|
||||
NULL, /* title set */
|
||||
NULL, /* name class set */
|
||||
NULL, /* size min */
|
||||
NULL, /* size max */
|
||||
NULL, /* size base */
|
||||
NULL, /* size step */
|
||||
_ecore_evas_directfb_show, /* show */
|
||||
_ecore_evas_directfb_hide, /* hide */
|
||||
NULL, /* raise */
|
||||
NULL, /* lower */
|
||||
NULL, /* activate */
|
||||
NULL, /* title set */
|
||||
NULL, /* name class set */
|
||||
NULL, /* size min */
|
||||
NULL, /* size max */
|
||||
NULL, /* size base */
|
||||
NULL, /* size step */
|
||||
_ecore_evas_directfb_object_cursor_set, /* set cursor to an evas object */
|
||||
NULL, /* layer set */
|
||||
_ecore_evas_directfb_focus_set, /* focus */
|
||||
NULL, /* iconified */
|
||||
NULL, /* borderless */
|
||||
NULL, /* override */
|
||||
NULL, /* maximized */
|
||||
NULL, /* layer set */
|
||||
_ecore_evas_directfb_focus_set, /* focus */
|
||||
NULL, /* iconified */
|
||||
NULL, /* borderless */
|
||||
NULL, /* override */
|
||||
NULL, /* maximized */
|
||||
_ecore_evas_directfb_fullscreen_set,/* fullscreen */
|
||||
NULL, /* avoid damage */
|
||||
NULL, /* withdrawn */
|
||||
NULL, /* sticky */
|
||||
NULL, /* avoid damage */
|
||||
NULL, /* withdrawn */
|
||||
NULL, /* sticky */
|
||||
NULL, /* ignore events */
|
||||
NULL, /* alpha */
|
||||
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;
|
||||
if (einfo)
|
||||
{
|
||||
einfo->info.dfb = ecore_directfb_interface_get();
|
||||
einfo->info.surface = window->surface;
|
||||
einfo->info.dfb = ecore_directfb_interface_get();
|
||||
einfo->info.surface = window->surface;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
|
|
|
@ -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);
|
||||
if (ee->prop.cursor.object)
|
||||
{
|
||||
evas_object_show(ee->prop.cursor.object);
|
||||
evas_object_show(ee->prop.cursor.object);
|
||||
if (ee->rotation == 0)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 90)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.x,
|
||||
x - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 180)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.x,
|
||||
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 270)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
y - ee->prop.cursor.hot.x,
|
||||
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.y);
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 90)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.x,
|
||||
x - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 180)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.x,
|
||||
(fbh - ee->h) + ee->h - y - 1 - ee->prop.cursor.hot.y);
|
||||
else if (ee->rotation == 270)
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
y - ee->prop.cursor.hot.x,
|
||||
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.y);
|
||||
}
|
||||
if (ee->rotation == 0)
|
||||
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->visible = 1;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
|
||||
else
|
||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
|
||||
ee->visible = 1;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
|
||||
else
|
||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
|
||||
}
|
||||
|
||||
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)))
|
||||
{
|
||||
char device_path[256];
|
||||
char device_path[256];
|
||||
|
||||
if (strncmp(input_entry->d_name, "event", 5) != 0)
|
||||
continue;
|
||||
if (strncmp(input_entry->d_name, "event", 5) != 0)
|
||||
continue;
|
||||
|
||||
snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
|
||||
if (!(device = ecore_fb_input_device_open(device_path)))
|
||||
continue;
|
||||
snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
|
||||
if (!(device = ecore_fb_input_device_open(device_path)))
|
||||
continue;
|
||||
|
||||
caps = ecore_fb_input_device_cap_get(device);
|
||||
caps = ecore_fb_input_device_cap_get(device);
|
||||
|
||||
/* Mouse */
|
||||
/* Mouse */
|
||||
#ifdef HAVE_TSLIB
|
||||
if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
|
||||
if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
|
||||
#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
|
||||
{
|
||||
ecore_fb_input_device_axis_size_set(device, w, h);
|
||||
ecore_fb_input_device_listen(device,1);
|
||||
ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
|
||||
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[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[5] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL);
|
||||
mouse_handled = 1;
|
||||
}
|
||||
}
|
||||
/* Keyboard */
|
||||
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_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
|
||||
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[1] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
|
||||
keyboard_handled = 1;
|
||||
}
|
||||
}
|
||||
{
|
||||
ecore_fb_input_device_axis_size_set(device, w, h);
|
||||
ecore_fb_input_device_listen(device,1);
|
||||
ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
|
||||
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[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[5] = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL);
|
||||
mouse_handled = 1;
|
||||
}
|
||||
}
|
||||
/* Keyboard */
|
||||
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_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
|
||||
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[1] = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
|
||||
keyboard_handled = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(input_dir);
|
||||
|
||||
if (!mouse_handled)
|
||||
{
|
||||
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[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);
|
||||
mouse_handled = 1;
|
||||
}
|
||||
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[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);
|
||||
mouse_handled = 1;
|
||||
}
|
||||
}
|
||||
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)
|
||||
{
|
||||
|
||||
einfo->info.rotation = rotation;
|
||||
einfo->info.rotation = rotation;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
}
|
||||
if (!ee->prop.fullscreen)
|
||||
{
|
||||
int tmp;
|
||||
if (!ee->prop.fullscreen)
|
||||
{
|
||||
int tmp;
|
||||
|
||||
tmp = ee->w;
|
||||
ee->w = ee->h;
|
||||
ee->h = tmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((rotation == 0) || (rotation == 180))
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->w, ee->h);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->h, ee->w);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
|
||||
}
|
||||
}
|
||||
ee->rotation = rotation;
|
||||
tmp = ee->w;
|
||||
ee->w = ee->h;
|
||||
ee->h = tmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((rotation == 0) || (rotation == 180))
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->w, ee->h);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_output_size_set(ee->evas, ee->h, ee->w);
|
||||
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
|
||||
}
|
||||
}
|
||||
ee->rotation = rotation;
|
||||
}
|
||||
else
|
||||
{
|
||||
einfo->info.rotation = rotation;
|
||||
einfo->info.rotation = rotation;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
}
|
||||
ee->rotation = rotation;
|
||||
ee->rotation = rotation;
|
||||
}
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
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)
|
||||
{
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
return;
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
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_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
evas_object_pass_events_set(ee->prop.cursor.object, 1);
|
||||
if (evas_pointer_inside_get(ee->evas))
|
||||
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;
|
||||
if (on)
|
||||
{
|
||||
int w, h;
|
||||
int w, h;
|
||||
|
||||
ee->engine.fb.real_w = ee->w;
|
||||
ee->engine.fb.real_h = ee->h;
|
||||
w = ee->w;
|
||||
h = ee->h;
|
||||
ecore_fb_size_get(&w, &h);
|
||||
if ((w == 0) && (h == 0))
|
||||
{
|
||||
w = ee->w;
|
||||
h = ee->h;
|
||||
}
|
||||
if ((w != ee->w) || (h != ee->h)) resized = 1;
|
||||
ee->w = w;
|
||||
ee->h = h;
|
||||
evas_output_size_set(ee->evas, 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);
|
||||
ee->engine.fb.real_w = ee->w;
|
||||
ee->engine.fb.real_h = ee->h;
|
||||
w = ee->w;
|
||||
h = ee->h;
|
||||
ecore_fb_size_get(&w, &h);
|
||||
if ((w == 0) && (h == 0))
|
||||
{
|
||||
w = ee->w;
|
||||
h = ee->h;
|
||||
}
|
||||
if ((w != ee->w) || (h != ee->h)) resized = 1;
|
||||
ee->w = w;
|
||||
ee->h = h;
|
||||
evas_output_size_set(ee->evas, 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);
|
||||
}
|
||||
else
|
||||
{
|
||||
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->h = ee->engine.fb.real_h;
|
||||
evas_output_size_set(ee->evas, 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);
|
||||
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->h = ee->engine.fb.real_h;
|
||||
evas_output_size_set(ee->evas, 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);
|
||||
}
|
||||
ee->prop.fullscreen = on;
|
||||
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 */
|
||||
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--;
|
||||
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])
|
||||
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;
|
||||
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);
|
||||
if (einfo)
|
||||
{
|
||||
einfo->info.virtual_terminal = 0;
|
||||
einfo->info.device_number = strtol(disp_name, NULL, 10);
|
||||
einfo->info.refresh = 0;
|
||||
einfo->info.rotation = ee->rotation;
|
||||
einfo->info.virtual_terminal = 0;
|
||||
einfo->info.device_number = strtol(disp_name, NULL, 10);
|
||||
einfo->info.refresh = 0;
|
||||
einfo->info.rotation = ee->rotation;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
|
|
|
@ -35,7 +35,7 @@ static Ecore_Event_Handler *ecore_evas_event_handlers[4] = {
|
|||
static const char *ecore_evas_sdl_default = "EFL SDL";
|
||||
static int _ecore_evas_fps_debug = 0;
|
||||
static Ecore_Poller *ecore_evas_event;
|
||||
static Ecore_Evas *ecore_evases = NULL;
|
||||
static Ecore_Evas *ecore_evases = NULL;
|
||||
|
||||
static Ecore_Evas *
|
||||
_ecore_evas_sdl_match(void)
|
||||
|
@ -110,8 +110,8 @@ _ecore_evas_render(Ecore_Evas *ee)
|
|||
updates = evas_render_updates(ee->evas);
|
||||
if (updates)
|
||||
{
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(ee);
|
||||
evas_render_updates_free(updates);
|
||||
_ecore_evas_idle_timeout_update(ee);
|
||||
}
|
||||
return updates ? 1 : 0;
|
||||
}
|
||||
|
@ -189,15 +189,15 @@ _ecore_evas_sdl_shutdown(void)
|
|||
_ecore_evas_init_count--;
|
||||
if (_ecore_evas_init_count == 0)
|
||||
{
|
||||
int i;
|
||||
int 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_evas_shutdown();
|
||||
ecore_event_handler_del(ecore_evas_event_handlers[i]);
|
||||
ecore_event_evas_shutdown();
|
||||
ecore_poller_del(ecore_evas_event);
|
||||
ecore_evas_event = NULL;
|
||||
#ifndef _WIN32
|
||||
if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
|
||||
if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
|
||||
#endif /* _WIN32 */
|
||||
}
|
||||
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)
|
||||
{
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
return;
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
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_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
evas_object_pass_events_set(ee->prop.cursor.object, 1);
|
||||
if (evas_pointer_inside_get(ee->evas))
|
||||
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"))
|
||||
{
|
||||
#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
|
||||
einfo = evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha;
|
||||
einfo = evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe;
|
||||
((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if (rmethod == evas_render_method_lookup("gl_sdl"))
|
||||
{
|
||||
#ifdef BUILD_ECORE_EVAS_OPENGL_SDL
|
||||
einfo = evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen;
|
||||
((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe;
|
||||
einfo = evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen;
|
||||
((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe;
|
||||
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
|
||||
{
|
||||
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!ecore_sdl_init(name))
|
||||
{
|
||||
evas_free(ee->evas);
|
||||
if (ee->name) free(ee->name);
|
||||
free(ee);
|
||||
return NULL;
|
||||
evas_free(ee->evas);
|
||||
if (ee->name) free(ee->name);
|
||||
free(ee);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
_ecore_evas_sdl_init(w, h);
|
||||
|
|
|
@ -308,14 +308,14 @@ ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj)
|
|||
old_ee = _evas_object_associate_get(obj);
|
||||
if (ee != old_ee) {
|
||||
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;
|
||||
}
|
||||
|
||||
old_obj = _ecore_evas_associate_get(ee);
|
||||
if (old_obj != obj) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -430,13 +430,13 @@ _ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj)
|
|||
else
|
||||
{
|
||||
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)
|
||||
ecore_evas_callback_destroy_set(ee, NULL);
|
||||
ecore_evas_callback_destroy_set(ee, NULL);
|
||||
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)
|
||||
ecore_evas_callback_pre_free_set(ee, NULL);
|
||||
ecore_evas_callback_pre_free_set(ee, NULL);
|
||||
|
||||
_ecore_evas_associate_del(ee);
|
||||
}
|
||||
|
|
|
@ -52,9 +52,9 @@ _ecore_evas_wince_render(Ecore_Evas *ee)
|
|||
|
||||
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
|
||||
{
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
||||
rend |= _ecore_evas_buffer_render(ee2);
|
||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
||||
}
|
||||
#endif
|
||||
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--;
|
||||
if (_ecore_evas_init_count == 0)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ECORE_EVAS_EVENT_COUNT; i++)
|
||||
ecore_event_handler_del(ecore_evas_event_handlers[i]);
|
||||
for (i = 0; i < ECORE_EVAS_EVENT_COUNT; i++)
|
||||
ecore_event_handler_del(ecore_evas_event_handlers[i]);
|
||||
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 (!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); */
|
||||
/* if (!einfo) return; */
|
||||
/* if (rot_dif != 180) */
|
||||
/* { */
|
||||
/* int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */
|
||||
/* einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(ee->evas); */
|
||||
/* if (!einfo) return; */
|
||||
/* if (rot_dif != 180) */
|
||||
/* { */
|
||||
/* int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */
|
||||
|
||||
/* einfo->info.rotation = rotation; */
|
||||
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
|
||||
/* if (!ee->prop.fullscreen) */
|
||||
/* { */
|
||||
/* ecore_wince_window_resize(ee->prop.window, ee->h, ee->w); */
|
||||
/* ee->expecting_resize.w = ee->h; */
|
||||
/* ee->expecting_resize.h = ee->w; */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* int w, h; */
|
||||
/* einfo->info.rotation = rotation; */
|
||||
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
|
||||
/* if (!ee->prop.fullscreen) */
|
||||
/* { */
|
||||
/* ecore_wince_window_resize(ee->prop.window, ee->h, ee->w); */
|
||||
/* ee->expecting_resize.w = ee->h; */
|
||||
/* ee->expecting_resize.h = ee->w; */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* int w, h; */
|
||||
|
||||
/* ecore_wince_window_size_get(ee->prop.window, &w, &h); */
|
||||
/* ecore_wince_window_resize(ee->prop.window, h, w); */
|
||||
/* if ((rotation == 0) || (rotation == 180)) */
|
||||
/* { */
|
||||
/* evas_output_size_set(ee->evas, ee->w, ee->h); */
|
||||
/* evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* evas_output_size_set(ee->evas, 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); */
|
||||
/* } */
|
||||
/* ecore_evas_size_min_get(ee, &minw, &minh); */
|
||||
/* ecore_evas_size_max_get(ee, &maxw, &maxh); */
|
||||
/* ecore_evas_size_base_get(ee, &basew, &baseh); */
|
||||
/* ecore_evas_size_step_get(ee, &stepw, &steph); */
|
||||
/* ee->rotation = rotation; */
|
||||
/* ecore_evas_size_min_set(ee, minh, minw); */
|
||||
/* ecore_evas_size_max_set(ee, maxh, maxw); */
|
||||
/* ecore_evas_size_base_set(ee, baseh, basew); */
|
||||
/* ecore_evas_size_step_set(ee, steph, stepw); */
|
||||
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
|
||||
/* ecore_wince_window_size_get(ee->prop.window, &w, &h); */
|
||||
/* ecore_wince_window_resize(ee->prop.window, h, w); */
|
||||
/* if ((rotation == 0) || (rotation == 180)) */
|
||||
/* { */
|
||||
/* evas_output_size_set(ee->evas, ee->w, ee->h); */
|
||||
/* evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* evas_output_size_set(ee->evas, 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); */
|
||||
/* } */
|
||||
/* ecore_evas_size_min_get(ee, &minw, &minh); */
|
||||
/* ecore_evas_size_max_get(ee, &maxw, &maxh); */
|
||||
/* ecore_evas_size_base_get(ee, &basew, &baseh); */
|
||||
/* ecore_evas_size_step_get(ee, &stepw, &steph); */
|
||||
/* ee->rotation = rotation; */
|
||||
/* ecore_evas_size_min_set(ee, minh, minw); */
|
||||
/* ecore_evas_size_max_set(ee, maxh, maxw); */
|
||||
/* ecore_evas_size_base_set(ee, baseh, basew); */
|
||||
/* ecore_evas_size_step_set(ee, steph, stepw); */
|
||||
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
|
||||
/* ecore_wince_current_time_get()); */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* einfo->info.rotation = rotation; */
|
||||
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
|
||||
/* ee->rotation = rotation; */
|
||||
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
|
||||
/* } */
|
||||
/* else */
|
||||
/* { */
|
||||
/* einfo->info.rotation = rotation; */
|
||||
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
|
||||
/* ee->rotation = rotation; */
|
||||
/* _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
|
||||
/* ecore_wince_current_time_get()); */
|
||||
/* if (ee->func.fn_resize) ee->func.fn_resize(ee); */
|
||||
/* } */
|
||||
/* if ((ee->rotation == 90) || (ee->rotation == 270)) */
|
||||
/* evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */
|
||||
/* else */
|
||||
/* evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); */
|
||||
/* if (ee->func.fn_resize) ee->func.fn_resize(ee); */
|
||||
/* } */
|
||||
/* if ((ee->rotation == 90) || (ee->rotation == 270)) */
|
||||
/* evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */
|
||||
/* else */
|
||||
/* 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)
|
||||
{
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
ecore_wince_window_cursor_show(ee->prop.window, 1);
|
||||
return;
|
||||
ee->prop.cursor.object = NULL;
|
||||
ee->prop.cursor.layer = 0;
|
||||
ee->prop.cursor.hot.x = 0;
|
||||
ee->prop.cursor.hot.y = 0;
|
||||
ecore_wince_window_cursor_show(ee->prop.window, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
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_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
|
||||
evas_object_move(ee->prop.cursor.object,
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
x - ee->prop.cursor.hot.x,
|
||||
y - ee->prop.cursor.hot.y);
|
||||
evas_object_pass_events_set(ee->prop.cursor.object, 1);
|
||||
if (evas_pointer_inside_get(ee->evas))
|
||||
evas_object_show(ee->prop.cursor.object);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue