{
case ECORE_EVAS_ENGINE_SOFTWARE_BUFFER:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_XLIB:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_XLIB
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_XRENDER_X11:
#ifdef BUILD_ECORE_EVAS_XRENDER_X11
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_OPENGL_X11:
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_XCB:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_XRENDER_XCB:
#ifdef BUILD_ECORE_EVAS_XRENDER_XCB
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_GDI:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_GDI
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_DDRAW:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_DIRECT3D:
#ifdef BUILD_ECORE_EVAS_DIRECT3D
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_OPENGL_GLEW:
#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_SDL:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
#endif
case ECORE_EVAS_ENGINE_DIRECTFB:
#ifdef BUILD_ECORE_EVAS_DIRECTFB
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_FB:
#ifdef BUILD_ECORE_EVAS_FB
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
- case ECORE_EVAS_ENGINE_SOFTWARE_8_X11:
+ case ECORE_EVAS_ENGINE_SOFTWARE_8_X11:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_8_X11
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_16_X11:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_X11
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
case ECORE_EVAS_ENGINE_COCOA:
#ifdef BUILD_ECORE_EVAS_COCOA
- return 1;
+ return 1;
#else
- return 0;
+ return 0;
#endif
default:
- return 0;
- break;
+ return 0;
+ break;
};
}
_ecore_evas_log_dom = eina_log_domain_register("Ecore_Evas", ECORE_EVAS_DEFAULT_LOG_COLOR);
if(_ecore_evas_log_dom < 0)
{
- EINA_LOG_ERR("Impossible to create a log domain for Ecore_Evas.");
- goto shutdown_ecore;
+ EINA_LOG_ERR("Impossible to create a log domain for Ecore_Evas.");
+ goto shutdown_ecore;
}
fd = evas_async_events_fd_get();
if (fd > 0)
_ecore_evas_async_events_fd = ecore_main_fd_handler_add(fd,
- ECORE_FD_READ,
- _ecore_evas_async_events_fd_handler, NULL,
- NULL, NULL);
+ ECORE_FD_READ,
+ _ecore_evas_async_events_fd_handler, NULL,
+ NULL, NULL);
ecore_evas_idle_enterer =
ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL);
while (extra_options)
{
- const char *p;
-
- if (strncmp(extra_options, key, len) != 0)
- {
- extra_options = strchr(extra_options, ';');
- if (extra_options)
- extra_options++;
- continue;
- }
-
- extra_options += len;
- p = strchr(extra_options, ';');
- if (p)
- {
- len = p - extra_options;
- *value = malloc(len + 1);
- memcpy(*value, extra_options, len);
- (*value)[len] = '\0';
- extra_options = p + 1;
- }
- else
- {
- *value = strdup(extra_options);
- extra_options = NULL;
- }
+ const char *p;
+
+ if (strncmp(extra_options, key, len) != 0)
+ {
+ extra_options = strchr(extra_options, ';');
+ if (extra_options)
+ extra_options++;
+ continue;
+ }
+
+ extra_options += len;
+ p = strchr(extra_options, ';');
+ if (p)
+ {
+ len = p - extra_options;
+ *value = malloc(len + 1);
+ memcpy(*value, extra_options, len);
+ (*value)[len] = '\0';
+ extra_options = p + 1;
+ }
+ else
+ {
+ *value = strdup(extra_options);
+ extra_options = NULL;
+ }
}
return extra_options;
}
while (extra_options)
{
- const char *p;
+ const char *p;
- if (strncmp(extra_options, key, len) != 0)
- {
- extra_options = strchr(extra_options, ';');
- if (extra_options)
- extra_options++;
- continue;
- }
+ if (strncmp(extra_options, key, len) != 0)
+ {
+ extra_options = strchr(extra_options, ';');
+ if (extra_options)
+ extra_options++;
+ continue;
+ }
- extra_options += len;
- *value = strtol(extra_options, NULL, 0);
+ extra_options += len;
+ *value = strtol(extra_options, NULL, 0);
- p = strchr(extra_options, ';');
- if (p)
- extra_options = p + 1;
- else
- extra_options = NULL;
+ p = strchr(extra_options, ';');
+ if (p)
+ extra_options = p + 1;
+ else
+ extra_options = NULL;
}
return extra_options;
}
for (itr = _engines; itr->constructor; itr++)
{
- Ecore_Evas *ee = itr->constructor(x, y, w, h, extra_options);
- if (ee)
- {
- INF("auto discovered '%s'", itr->name);
- return ee;
- }
+ Ecore_Evas *ee = itr->constructor(x, y, w, h, extra_options);
+ if (ee)
+ {
+ INF("auto discovered '%s'", itr->name);
+ return ee;
+ }
}
WRN("could not auto discover.");
if (!engine_name)
{
- engine_name = getenv("ECORE_EVAS_ENGINE");
- if (engine_name)
- DBG("no engine_name provided, using ECORE_EVAS_ENGINE='%s'",
- engine_name);
+ engine_name = getenv("ECORE_EVAS_ENGINE");
+ if (engine_name)
+ DBG("no engine_name provided, using ECORE_EVAS_ENGINE='%s'",
+ engine_name);
}
if (!engine_name)
return _ecore_evas_new_auto_discover(x, y, w, h, extra_options);
for (itr = _engines; itr->name; itr++)
if (strcmp(itr->name, engine_name) == 0)
{
- INF("using engine '%s', extra_options=%s",
- engine_name, extra_options ? extra_options : "(null)");
- return itr->constructor(x, y, w, h, extra_options);
+ INF("using engine '%s', extra_options=%s",
+ engine_name, extra_options ? extra_options : "(null)");
+ return itr->constructor(x, y, w, h, extra_options);
}
WRN("unknown engine '%s'", engine_name);
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_free");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_free");
+ return;
}
_ecore_evas_free(ee);
return;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_data_get");
- return NULL;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_data_get");
+ return NULL;
}
if (!key) return NULL;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_data_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_data_set");
+ return;
}
if (!key) return;
if (data)
{
if (!ee->data)
- ee->data = eina_hash_string_superfast_new(NULL);
+ ee->data = eina_hash_string_superfast_new(NULL);
eina_hash_add(ee->data, key, data);
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_resize_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_resize_set");
+ return;
}
IFC(ee, fn_callback_resize_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_move_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_move_set");
+ return;
}
IFC(ee, fn_callback_move_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_show_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_show_set");
+ return;
}
IFC(ee, fn_callback_show_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_hide_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_hide_set");
+ return;
}
IFC(ee, fn_callback_hide_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_delete_request_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_delete_request_set");
+ return;
}
IFC(ee, fn_callback_delete_request_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_destroy_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_destroy_set");
+ return;
}
IFC(ee, fn_callback_destroy_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_focus_in_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_focus_in_set");
+ return;
}
IFC(ee, fn_callback_focus_in_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_focus_out_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_focus_out_set");
+ return;
}
IFC(ee, fn_callback_focus_out_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_sticky_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_sticky_set");
+ return;
}
IFC(ee, fn_callback_sticky_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_unsticky_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_unsticky_set");
+ return;
}
IFC(ee, fn_callback_unsticky_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_mouse_in_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_mouse_in_set");
+ return;
}
IFC(ee, fn_callback_mouse_in_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_mouse_out_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_mouse_out_set");
+ return;
}
IFC(ee, fn_callback_mouse_out_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_pre_render_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_pre_render_set");
+ return;
}
IFC(ee, fn_callback_pre_render_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_post_render_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_post_render_set");
+ return;
}
IFC(ee, fn_callback_post_render_set) (ee, func);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_callback_pre_free_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_callback_pre_free_set");
+ return;
}
ee->func.fn_pre_free = func;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_get");
- return NULL;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_get");
+ return NULL;
}
return ee->evas;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_move");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_move");
+ return;
}
if (ee->prop.fullscreen) return;
IFC(ee, fn_move) (ee, x, y);
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_move");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_move");
+ return;
}
IFC(ee, fn_managed_move) (ee, x, y);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_resize");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_resize");
+ return;
}
if (ee->prop.fullscreen) return;
if (w < 1) w = 1;
if (h < 1) h = 1;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_resize) (ee, h, w);
- IFE;
+ IFC(ee, fn_resize) (ee, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_resize) (ee, w, h);
- IFE;
+ IFC(ee, fn_resize) (ee, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_move_resize");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_move_resize");
+ return;
}
if (ee->prop.fullscreen) return;
if (w < 1) w = 1;
if (h < 1) h = 1;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_move_resize) (ee, x, y, h, w);
- IFE;
+ IFC(ee, fn_move_resize) (ee, x, y, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_move_resize) (ee, x, y, w, h);
- IFE;
+ IFC(ee, fn_move_resize) (ee, x, y, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_geometry_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_geometry_get");
+ return;
}
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- if (x) *x = ee->x;
- if (y) *y = ee->y;
- if (w) *w = ee->h;
- if (h) *h = ee->w;
+ if (x) *x = ee->x;
+ if (y) *y = ee->y;
+ if (w) *w = ee->h;
+ if (h) *h = ee->w;
}
else
{
- if (x) *x = ee->x;
- if (y) *y = ee->y;
- if (w) *w = ee->w;
- if (h) *h = ee->h;
+ if (x) *x = ee->x;
+ if (y) *y = ee->y;
+ if (w) *w = ee->w;
+ if (h) *h = ee->h;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_rotation_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_rotation_set");
+ return;
}
rot = rot % 360;
while (rot < 0) rot += 360;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_rotation_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_rotation_set");
+ return;
}
rot = rot % 360;
while (rot < 0) rot += 360;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_rotation_get");
- return 0;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_rotation_get");
+ return 0;
}
return ee->rotation;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_shaped_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_shaped_set");
+ return;
}
IFC(ee, fn_shaped_set) (ee, shaped);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_shaped_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_shaped_get");
+ return EINA_FALSE;
}
return ee->shaped ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_alpha_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_alpha_set");
+ return;
}
IFC(ee, fn_alpha_set) (ee, alpha);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_alpha_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_alpha_get");
+ return EINA_FALSE;
}
return ee->alpha ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_transparent_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_transparent_set");
+ return;
}
IFC(ee, fn_transparent_set) (ee, transparent);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_transparent_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_transparent_get");
+ return EINA_FALSE;
}
return ee->transparent ? EINA_TRUE : 0;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_show");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_show");
+ return;
}
IFC(ee, fn_show) (ee);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_hide");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_hide");
+ return;
}
IFC(ee, fn_hide) (ee);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_visibility_get");
- return 0;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_visibility_get");
+ return 0;
}
return ee->visible ? 1:0;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_raise");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_raise");
+ return;
}
IFC(ee, fn_raise) (ee);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_lower");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_lower");
+ return;
}
IFC(ee, fn_lower) (ee);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_activate");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_activate");
+ return;
}
IFC(ee, fn_activate) (ee);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_title_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_title_set");
+ return;
}
IFC(ee, fn_title_set) (ee, t);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_title_get");
- return NULL;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_title_get");
+ return NULL;
}
return ee->prop.title;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_name_class_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_name_class_set");
+ return;
}
IFC(ee, fn_name_class_set) (ee, n, c);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_name_class_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_name_class_get");
+ return;
}
if (n) *n = ee->prop.name;
if (c) *c = ee->prop.clas;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_min_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_min_set");
+ return;
}
if (w < 0) w = 0;
if (h < 0) h = 0;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_size_min_set) (ee, h, w);
- IFE;
+ IFC(ee, fn_size_min_set) (ee, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_size_min_set) (ee, w, h);
- IFE;
+ IFC(ee, fn_size_min_set) (ee, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_min_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_min_get");
+ return;
}
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- if (w) *w = ee->prop.min.h;
- if (h) *h = ee->prop.min.w;
+ if (w) *w = ee->prop.min.h;
+ if (h) *h = ee->prop.min.w;
}
else
{
- if (w) *w = ee->prop.min.w;
- if (h) *h = ee->prop.min.h;
+ if (w) *w = ee->prop.min.w;
+ if (h) *h = ee->prop.min.h;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_max_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_max_set");
+ return;
}
if (w < 0) w = 0;
if (h < 0) h = 0;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_size_max_set) (ee, h, w);
- IFE;
+ IFC(ee, fn_size_max_set) (ee, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_size_max_set) (ee, w, h);
- IFE;
+ IFC(ee, fn_size_max_set) (ee, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_max_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_max_get");
+ return;
}
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- if (w) *w = ee->prop.max.h;
- if (h) *h = ee->prop.max.w;
+ if (w) *w = ee->prop.max.h;
+ if (h) *h = ee->prop.max.w;
}
else
{
- if (w) *w = ee->prop.max.w;
- if (h) *h = ee->prop.max.h;
+ if (w) *w = ee->prop.max.w;
+ if (h) *h = ee->prop.max.h;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_base_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_base_set");
+ return;
}
if (w < 0) w = 0;
if (h < 0) h = 0;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_size_base_set) (ee, h, w);
- IFE;
+ IFC(ee, fn_size_base_set) (ee, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_size_base_set) (ee, w, h);
- IFE;
+ IFC(ee, fn_size_base_set) (ee, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_base_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_base_get");
+ return;
}
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- if (w) *w = ee->prop.base.h;
- if (h) *h = ee->prop.base.w;
+ if (w) *w = ee->prop.base.h;
+ if (h) *h = ee->prop.base.w;
}
else
{
- if (w) *w = ee->prop.base.w;
- if (h) *h = ee->prop.base.h;
+ if (w) *w = ee->prop.base.w;
+ if (h) *h = ee->prop.base.h;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_step_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_step_set");
+ return;
}
if (w < 0) w = 0;
if (h < 0) h = 0;
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- IFC(ee, fn_size_step_set) (ee, h, w);
- IFE;
+ IFC(ee, fn_size_step_set) (ee, h, w);
+ IFE;
}
else
{
- IFC(ee, fn_size_step_set) (ee, w, h);
- IFE;
+ IFC(ee, fn_size_step_set) (ee, w, h);
+ IFE;
}
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_size_step_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_size_step_get");
+ return;
}
if ((ee->rotation == 90) || (ee->rotation == 270))
{
- if (w) *w = ee->prop.step.h;
- if (h) *h = ee->prop.step.w;
+ if (w) *w = ee->prop.step.h;
+ if (h) *h = ee->prop.step.w;
}
else
{
- if (w) *w = ee->prop.step.w;
- if (h) *h = ee->prop.step.h;
+ if (w) *w = ee->prop.step.w;
+ if (h) *h = ee->prop.step.h;
}
}
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_cursor_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_cursor_set");
+ return;
}
if (file)
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_cursor_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_cursor_set");
+ return;
}
IFC(ee, fn_object_cursor_set) (ee, obj, layer, hot_x, hot_y);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_cursor_get");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_cursor_get");
+ return;
}
if (obj) *obj = ee->prop.cursor.object;
if (layer) *layer = ee->prop.cursor.layer;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_layer_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_layer_set");
+ return;
}
IFC(ee, fn_layer_set) (ee, layer);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_layer_get");
- return 0;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_layer_get");
+ return 0;
}
return ee->prop.layer;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_focus_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_focus_set");
+ return;
}
IFC(ee, fn_focus_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_focus_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_focus_get");
+ return EINA_FALSE;
}
return ee->prop.focused ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_iconified_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_iconified_set");
+ return;
}
IFC(ee, fn_iconified_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_iconified_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_iconified_get");
+ return EINA_FALSE;
}
return ee->prop.iconified ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_borderless_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_borderless_set");
+ return;
}
IFC(ee, fn_borderless_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_borderless_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_borderless_get");
+ return EINA_FALSE;
}
return ee->prop.borderless ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_override_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_override_set");
+ return;
}
IFC(ee, fn_override_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_override_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_override_get");
+ return EINA_FALSE;
}
return ee->prop.override ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_maximized_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_maximized_set");
+ return;
}
IFC(ee, fn_maximized_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_maximized_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_maximized_get");
+ return EINA_FALSE;
}
return ee->prop.maximized ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_fullscreen_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_fullscreen_set");
+ return;
}
IFC(ee, fn_fullscreen_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_fullscreen_get");
- return EINA_FALSE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_fullscreen_get");
+ return EINA_FALSE;
}
return ee->prop.fullscreen ? EINA_TRUE : EINA_FALSE;
}
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_avoid_damage_set");
- return;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_avoid_damage_set");
+ return;
}
IFC(ee, fn_avoid_damage_set) (ee, on);
IFE;
{
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
{
- ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
- "ecore_evas_avoid_damage_get");
- return ECORE_EVAS_AVOID_DAMAGE_NONE;
+ ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+ "ecore_evas_avoid_damage_get");
+ return ECORE_EVAS_AVOID_DAMAGE_NONE;
}
return ee->prop.avoid_damage;
}
_ecore_evas_fps_debug_fd = open(buf, O_CREAT | O_TRUNC | O_RDWR, 0644);
if (_ecore_evas_fps_debug_fd < 0)
{
- unlink(buf);
- _ecore_evas_fps_debug_fd = open(buf, O_CREAT | O_TRUNC | O_RDWR, 0644);
+ unlink(buf);
+ _ecore_evas_fps_debug_fd = open(buf, O_CREAT | O_TRUNC | O_RDWR, 0644);
}
if (_ecore_evas_fps_debug_fd >= 0)
{
- unsigned int zero = 0;
- char *buf = (char *)&zero;
- ssize_t todo = sizeof(unsigned int);
-
- while (todo > 0)
- {
- ssize_t r = write(_ecore_evas_fps_debug_fd, buf, todo);
- if (r > 0)
- {
- todo -= r;
- buf += r;
- }
- else if ((r < 0) && (errno == EINTR))
- continue;
- else
- {
- ERR("could not write to file '%s' fd %d: %s",
- buf, _ecore_evas_fps_debug_fd, strerror(errno));
- close(_ecore_evas_fps_debug_fd);
- _ecore_evas_fps_debug_fd = -1;
- return;
- }
- }
- _ecore_evas_fps_rendertime_mmap = mmap(NULL, sizeof(unsigned int),
- PROT_READ | PROT_WRITE,
- MAP_SHARED,
- _ecore_evas_fps_debug_fd, 0);
- if (_ecore_evas_fps_rendertime_mmap == MAP_FAILED)
- _ecore_evas_fps_rendertime_mmap = NULL;
+ unsigned int zero = 0;
+ char *buf = (char *)&zero;
+ ssize_t todo = sizeof(unsigned int);
+
+ while (todo > 0)
+ {
+ ssize_t r = write(_ecore_evas_fps_debug_fd, buf, todo);
+ if (r > 0)
+ {
+ todo -= r;
+ buf += r;
+ }
+ else if ((r < 0) && (errno == EINTR))
+ continue;
+ else
+ {
+ ERR("could not write to file '%s' fd %d: %s",
+ buf, _ecore_evas_fps_debug_fd, strerror(errno));
+ close(_ecore_evas_fps_debug_fd);
+ _ecore_evas_fps_debug_fd = -1;
+ return;
+ }
+ }
+ _ecore_evas_fps_rendertime_mmap = mmap(NULL, sizeof(unsigned int),
+ PROT_READ | PROT_WRITE,
+ MAP_SHARED,
+ _ecore_evas_fps_debug_fd, 0);
+ if (_ecore_evas_fps_rendertime_mmap == MAP_FAILED)
+ _ecore_evas_fps_rendertime_mmap = NULL;
}
}
if (_ecore_evas_fps_debug_init_count > 0) return;
if (_ecore_evas_fps_debug_fd >= 0)
{
- char buf[4096];
+ char buf[4096];
- snprintf(buf, sizeof(buf), "/tmp/.ecore_evas_fps_debug-%i", (int)getpid());
- unlink(buf);
- if (_ecore_evas_fps_rendertime_mmap)
- {
- munmap(_ecore_evas_fps_rendertime_mmap, sizeof(int));
- _ecore_evas_fps_rendertime_mmap = NULL;
- }
- close(_ecore_evas_fps_debug_fd);
- _ecore_evas_fps_debug_fd = -1;
+ snprintf(buf, sizeof(buf), "/tmp/.ecore_evas_fps_debug-%i", (int)getpid());
+ unlink(buf);
+ if (_ecore_evas_fps_rendertime_mmap)
+ {
+ munmap(_ecore_evas_fps_rendertime_mmap, sizeof(int));
+ _ecore_evas_fps_rendertime_mmap = NULL;
+ }
+ close(_ecore_evas_fps_debug_fd);
+ _ecore_evas_fps_debug_fd = -1;
}
}
if (ee->func.fn_pre_free) ee->func.fn_pre_free(ee);
while (ee->sub_ecore_evas)
{
- _ecore_evas_free(ee->sub_ecore_evas->data);
+ _ecore_evas_free(ee->sub_ecore_evas->data);
}
if (ee->data) eina_hash_free(ee->data);
ee->data = NULL;
if (ee->engine.idle_flush_timer)
ecore_timer_del(ee->engine.idle_flush_timer);
ee->engine.idle_flush_timer = ecore_timer_add(IDLE_FLUSH_TIME,
- _ecore_evas_cb_idle_flush,
- ee);
+ _ecore_evas_cb_idle_flush,
+ ee);
}
void
ee->mouse.y = y;
if (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,
- 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,
- ee->w - x - 1 - ee->prop.cursor.hot.x,
- 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,
- ee->w - x - 1 - ee->prop.cursor.hot.y);
+ 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,
+ 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,
+ ee->w - x - 1 - ee->prop.cursor.hot.x,
+ 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,
+ ee->w - x - 1 - ee->prop.cursor.hot.y);
}
if (ee->rotation == 0)
evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
EINA_INLIST_FOREACH(ecore_evases, ee)
{
- l = eina_list_append(l, ee);
+ l = eina_list_append(l, ee);
}
return l;
einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
- XSetWindowAttributes attr;
- int screen;
+ XSetWindowAttributes attr;
+ int screen;
if (opt)
{
}
}
- /* FIXME: this is inefficient as its 1 or more round trips */
- screen = DefaultScreen(ecore_x_display_get());
- if (ScreenCount(ecore_x_display_get()) > 1)
- {
- Ecore_X_Window *roots;
- int num, i;
-
- num = 0;
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
- XWindowAttributes at;
-
- if (XGetWindowAttributes(ecore_x_display_get(),
- parent, &at))
- {
- for (i = 0; i < num; i++)
- {
- if (at.root == roots[i])
- {
- screen = i;
- break;
- }
- }
- }
- free(roots);
- }
- }
- einfo->info.display = ecore_x_display_get();
+ /* FIXME: this is inefficient as its 1 or more round trips */
+ screen = DefaultScreen(ecore_x_display_get());
+ if (ScreenCount(ecore_x_display_get()) > 1)
+ {
+ Ecore_X_Window *roots;
+ int num, i;
+
+ num = 0;
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
+ XWindowAttributes at;
+
+ if (XGetWindowAttributes(ecore_x_display_get(),
+ parent, &at))
+ {
+ for (i = 0; i < num; i++)
+ {
+ if (at.root == roots[i])
+ {
+ screen = i;
+ break;
+ }
+ }
+ }
+ free(roots);
+ }
+ }
+ einfo->info.display = ecore_x_display_get();
einfo->info.screen = screen;
einfo->info.destination_alpha = argb;
- einfo->info.visual = einfo->func.best_visual_get(einfo);
- einfo->info.colormap = einfo->func.best_colormap_get(einfo);
- einfo->info.depth = einfo->func.best_depth_get(einfo);
+ einfo->info.visual = einfo->func.best_visual_get(einfo);
+ einfo->info.colormap = einfo->func.best_colormap_get(einfo);
+ einfo->info.depth = einfo->func.best_depth_get(einfo);
if ((!einfo->info.visual) ||
}
}
- attr.backing_store = NotUseful;
- attr.override_redirect = override;
- attr.colormap = einfo->info.colormap;
- attr.border_pixel = 0;
- attr.background_pixmap = None;
- attr.event_mask =
- KeyPressMask | KeyReleaseMask |
- ExposureMask | ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask |
- PointerMotionMask | StructureNotifyMask | VisibilityChangeMask |
- FocusChangeMask | PropertyChangeMask | ColormapChangeMask;
- attr.bit_gravity = ForgetGravity;
-
- win =
- XCreateWindow(einfo->info.display, parent, x, y, w, h, 0,
- einfo->info.depth, InputOutput, einfo->info.visual,
- CWBackingStore | CWColormap | CWBackPixmap |
+ attr.backing_store = NotUseful;
+ attr.override_redirect = override;
+ attr.colormap = einfo->info.colormap;
+ attr.border_pixel = 0;
+ attr.background_pixmap = None;
+ attr.event_mask =
+ KeyPressMask | KeyReleaseMask |
+ ExposureMask | ButtonPressMask | ButtonReleaseMask |
+ EnterWindowMask | LeaveWindowMask |
+ PointerMotionMask | StructureNotifyMask | VisibilityChangeMask |
+ FocusChangeMask | PropertyChangeMask | ColormapChangeMask;
+ attr.bit_gravity = ForgetGravity;
+
+ win =
+ XCreateWindow(einfo->info.display, parent, x, y, w, h, 0,
+ einfo->info.depth, InputOutput, einfo->info.visual,
+ CWBackingStore | CWColormap | CWBackPixmap |
CWBorderPixel | CWBitGravity | CWEventMask |
- CWOverrideRedirect, &attr);
- einfo->info.drawable = win;
+ CWOverrideRedirect, &attr);
+ einfo->info.drawable = win;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
}
else
{
- win = 0;
+ win = 0;
}
return win;
}
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);
if (ee->prop.avoid_damage)
{
- updates = evas_render_updates(ee->evas);
- if (ee->engine.x.using_bg_pixmap)
- {
- if (updates)
- {
- EINA_LIST_FOREACH(updates, l, r)
- ecore_x_window_area_clear(ee->prop.window, r->x, r->y, r->w, r->h);
- if ((ee->shaped) && (updates))
+ updates = evas_render_updates(ee->evas);
+ if (ee->engine.x.using_bg_pixmap)
+ {
+ if (updates)
+ {
+ EINA_LIST_FOREACH(updates, l, r)
+ ecore_x_window_area_clear(ee->prop.window, r->x, r->y, r->w, r->h);
+ if ((ee->shaped) && (updates))
{
#ifdef EVAS_FRAME_QUEUING
/* wait until ee->engine.x.mask being updated */
#endif
ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
}
- if ((ee->alpha) && (updates))
+ if ((ee->alpha) && (updates))
{
#ifdef EVAS_FRAME_QUEUING
/* wait until ee->engine.x.mask being updated */
#endif
// ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask);
}
- evas_render_updates_free(updates);
- _ecore_evas_idle_timeout_update(ee);
+ evas_render_updates_free(updates);
+ _ecore_evas_idle_timeout_update(ee);
rend = 1;
- }
- }
- else
- {
- EINA_LIST_FOREACH(updates, l, r)
- {
- Ecore_X_Rectangle rect;
- Ecore_X_XRegion *tmpr;
-
- if (!ee->engine.x.damages)
- ee->engine.x.damages = ecore_x_xregion_new();
- tmpr = ecore_x_xregion_new();
- if (ee->rotation == 0)
- {
- rect.x = r->x;
- rect.y = r->y;
- rect.width = r->w;
- rect.height = r->h;
- }
- else if (ee->rotation == 90)
- {
- rect.x = r->y;
- rect.y = ee->h - r->x - r->w;
- rect.width = r->h;
- rect.height = r->w;
- }
- else if (ee->rotation == 180)
- {
- rect.x = ee->w - r->x - r->w;
- rect.y = ee->h - r->y - r->h;
- rect.width = r->w;
- rect.height = r->h;
- }
- else if (ee->rotation == 270)
- {
- rect.x = ee->w - r->y - r->h;
- rect.y = r->x;
- rect.width = r->h;
- rect.height = r->w;
- }
+ }
+ }
+ else
+ {
+ EINA_LIST_FOREACH(updates, l, r)
+ {
+ Ecore_X_Rectangle rect;
+ Ecore_X_XRegion *tmpr;
+
+ if (!ee->engine.x.damages)
+ ee->engine.x.damages = ecore_x_xregion_new();
+ tmpr = ecore_x_xregion_new();
+ if (ee->rotation == 0)
+ {
+ rect.x = r->x;
+ rect.y = r->y;
+ rect.width = r->w;
+ rect.height = r->h;
+ }
+ else if (ee->rotation == 90)
+ {
+ rect.x = r->y;
+ rect.y = ee->h - r->x - r->w;
+ rect.width = r->h;
+ rect.height = r->w;
+ }
+ else if (ee->rotation == 180)
+ {
+ rect.x = ee->w - r->x - r->w;
+ rect.y = ee->h - r->y - r->h;
+ rect.width = r->w;
+ rect.height = r->h;
+ }
+ else if (ee->rotation == 270)
+ {
+ rect.x = ee->w - r->y - r->h;
+ rect.y = r->x;
+ rect.width = r->h;
+ rect.height = r->w;
+ }
ecore_x_xregion_union_rect(tmpr, ee->engine.x.damages, &rect);
- ecore_x_xregion_free(ee->engine.x.damages);
- ee->engine.x.damages = tmpr;
- }
- if (ee->engine.x.damages)
- {
- /* if we have a damage pixmap - we can avoid exposures by
- * disabling them just for setting the mask */
- ecore_x_event_mask_set(ee->prop.window,
- ECORE_X_EVENT_MASK_KEY_DOWN |
- ECORE_X_EVENT_MASK_KEY_UP |
- ECORE_X_EVENT_MASK_MOUSE_DOWN |
- ECORE_X_EVENT_MASK_MOUSE_UP |
- ECORE_X_EVENT_MASK_MOUSE_IN |
- ECORE_X_EVENT_MASK_MOUSE_OUT |
- ECORE_X_EVENT_MASK_MOUSE_MOVE |
-// ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
- ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
- ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
- ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
- ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
- ECORE_X_EVENT_MASK_WINDOW_COLORMAP
- );
- if ((ee->shaped) && (updates))
- ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
- /* and re-enable them again */
- ecore_x_event_mask_set(ee->prop.window,
- ECORE_X_EVENT_MASK_KEY_DOWN |
- ECORE_X_EVENT_MASK_KEY_UP |
- ECORE_X_EVENT_MASK_MOUSE_DOWN |
- ECORE_X_EVENT_MASK_MOUSE_UP |
- ECORE_X_EVENT_MASK_MOUSE_IN |
- ECORE_X_EVENT_MASK_MOUSE_OUT |
- ECORE_X_EVENT_MASK_MOUSE_MOVE |
- ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
- ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
- ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
- ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
- ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
- ECORE_X_EVENT_MASK_WINDOW_COLORMAP
- );
- ecore_x_xregion_set(ee->engine.x.damages, ee->engine.x.gc);
- /* debug rendering */
- /*
- XSetForeground(ecore_x_display_get(), ee->engine.x.gc, rand());
- XFillRectangle(ecore_x_display_get(), ee->prop.window, ee->engine.x.gc,
- 0, 0, ee->w, ee->h);
- XSync(ecore_x_display_get(), False);
- usleep(20000);
- XSync(ecore_x_display_get(), False);
- */
- ecore_x_pixmap_paste(ee->engine.x.pmap, ee->prop.window, ee->engine.x.gc,
- 0, 0, ee->w, ee->h, 0, 0);
- ecore_x_xregion_free(ee->engine.x.damages);
- ee->engine.x.damages = NULL;
- }
- if (updates)
- {
- evas_render_updates_free(updates);
- _ecore_evas_idle_timeout_update(ee);
+ ecore_x_xregion_free(ee->engine.x.damages);
+ ee->engine.x.damages = tmpr;
+ }
+ if (ee->engine.x.damages)
+ {
+ /* if we have a damage pixmap - we can avoid exposures by
+ * disabling them just for setting the mask */
+ ecore_x_event_mask_set(ee->prop.window,
+ ECORE_X_EVENT_MASK_KEY_DOWN |
+ ECORE_X_EVENT_MASK_KEY_UP |
+ ECORE_X_EVENT_MASK_MOUSE_DOWN |
+ ECORE_X_EVENT_MASK_MOUSE_UP |
+ ECORE_X_EVENT_MASK_MOUSE_IN |
+ ECORE_X_EVENT_MASK_MOUSE_OUT |
+ ECORE_X_EVENT_MASK_MOUSE_MOVE |
+// ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
+ ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
+ ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
+ ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
+ ECORE_X_EVENT_MASK_WINDOW_COLORMAP
+ );
+ if ((ee->shaped) && (updates))
+ ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
+ /* and re-enable them again */
+ ecore_x_event_mask_set(ee->prop.window,
+ ECORE_X_EVENT_MASK_KEY_DOWN |
+ ECORE_X_EVENT_MASK_KEY_UP |
+ ECORE_X_EVENT_MASK_MOUSE_DOWN |
+ ECORE_X_EVENT_MASK_MOUSE_UP |
+ ECORE_X_EVENT_MASK_MOUSE_IN |
+ ECORE_X_EVENT_MASK_MOUSE_OUT |
+ ECORE_X_EVENT_MASK_MOUSE_MOVE |
+ ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
+ ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
+ ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
+ ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
+ ECORE_X_EVENT_MASK_WINDOW_COLORMAP
+ );
+ ecore_x_xregion_set(ee->engine.x.damages, ee->engine.x.gc);
+ /* debug rendering */
+ /*
+ XSetForeground(ecore_x_display_get(), ee->engine.x.gc, rand());
+ XFillRectangle(ecore_x_display_get(), ee->prop.window, ee->engine.x.gc,
+ 0, 0, ee->w, ee->h);
+ XSync(ecore_x_display_get(), False);
+ usleep(20000);
+ XSync(ecore_x_display_get(), False);
+ */
+ ecore_x_pixmap_paste(ee->engine.x.pmap, ee->prop.window, ee->engine.x.gc,
+ 0, 0, ee->w, ee->h, 0, 0);
+ ecore_x_xregion_free(ee->engine.x.damages);
+ ee->engine.x.damages = NULL;
+ }
+ if (updates)
+ {
+ evas_render_updates_free(updates);
+ _ecore_evas_idle_timeout_update(ee);
rend = 1;
- }
- }
+ }
+ }
}
else if (((ee->visible) && (ee->draw_ok)) ||
- ((ee->should_be_visible) && (ee->prop.fullscreen)) ||
- ((ee->should_be_visible) && (ee->prop.override)))
+ ((ee->should_be_visible) && (ee->prop.fullscreen)) ||
+ ((ee->should_be_visible) && (ee->prop.override)))
{
updates = evas_render_updates(ee->evas);
if (updates)
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
+ Evas_Engine_Info_Software_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
unsigned int foreground;
- Ecore_X_GC gc;
+ Ecore_X_GC gc;
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
ECORE_X_GC_VALUE_MASK_FOREGROUND,
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
+ einfo->info.mask = ee->engine.x.mask;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- }
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
- Evas_Engine_Info_XRender_X11 *einfo;
+ Evas_Engine_Info_XRender_X11 *einfo;
- einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
+ einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
unsigned int foreground;
- Ecore_X_GC gc;
+ Ecore_X_GC gc;
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
- ECORE_X_GC_VALUE_MASK_FOREGROUND,
- &foreground);
+ ECORE_X_GC_VALUE_MASK_FOREGROUND,
+ &foreground);
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
+ einfo->info.mask = ee->engine.x.mask;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- }
+ }
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
# if 0 /* XXX no shaped window support for software_16_x11 */
- Evas_Engine_Info_Software_16_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
- einfo->info.mask = ee->engine.x.mask;
+ Evas_Engine_Info_Software_16_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ einfo->info.mask = ee->engine.x.mask;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- }
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ }
# endif /* XXX no shaped window support for software_16_x11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
if (!strcmp(ee->driver, "software_8_x11"))
{
#if defined (BUILD_ECORE_EVAS_SOFTWARE_8_X11)
- Evas_Engine_Info_Software_8_X11 *einfo;
+ Evas_Engine_Info_Software_8_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
+ einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
unsigned int foreground;
- Ecore_X_GC gc;
+ Ecore_X_GC gc;
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
ECORE_X_GC_VALUE_MASK_FOREGROUND,
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
+ einfo->info.mask = ee->engine.x.mask;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- }
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */
}
}
if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
if (e->atom == ECORE_X_ATOM_NET_WM_STATE)
{
- unsigned int i, num;
- Ecore_X_Window_State *state;
- int sticky;
+ unsigned int i, num;
+ Ecore_X_Window_State *state;
+ int sticky;
#ifdef HAVE_ECORE_X_XCB
ecore_x_netwm_window_state_get_prefetch(e->win);
#endif /* HAVE_ECORE_X_XCB */
- sticky = 0;
-
- /* TODO: we need to move those to the end, with if statements */
- ee->engine.x.state.modal = 0;
- ee->engine.x.state.maximized_v = 0;
- ee->engine.x.state.maximized_h = 0;
- ee->engine.x.state.shaded = 0;
- ee->engine.x.state.skip_taskbar = 0;
- ee->engine.x.state.skip_pager = 0;
- ee->prop.fullscreen = 0;
- ee->engine.x.state.fullscreen = 0;
- ee->engine.x.state.above = 0;
- ee->engine.x.state.below = 0;
+ sticky = 0;
+
+ /* TODO: we need to move those to the end, with if statements */
+ ee->engine.x.state.modal = 0;
+ ee->engine.x.state.maximized_v = 0;
+ ee->engine.x.state.maximized_h = 0;
+ ee->engine.x.state.shaded = 0;
+ ee->engine.x.state.skip_taskbar = 0;
+ ee->engine.x.state.skip_pager = 0;
+ ee->prop.fullscreen = 0;
+ ee->engine.x.state.fullscreen = 0;
+ ee->engine.x.state.above = 0;
+ ee->engine.x.state.below = 0;
#ifdef HAVE_ECORE_X_XCB
ecore_x_netwm_window_state_get_fetch();
#endif /* HAVE_ECORE_X_XCB */
- ecore_x_netwm_window_state_get(e->win, &state, &num);
- if (state)
- {
- for (i = 0; i < num; i++)
- {
- switch (state[i])
- {
- case ECORE_X_WINDOW_STATE_MODAL:
- ee->engine.x.state.modal = 1;
- break;
- case ECORE_X_WINDOW_STATE_STICKY:
- if (ee->prop.sticky && ee->engine.x.state.sticky)
- break;
-
- sticky = 1;
- ee->prop.sticky = 1;
- ee->engine.x.state.sticky = 1;
- if (ee->func.fn_sticky) ee->func.fn_sticky(ee);
- break;
- case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
- ee->engine.x.state.maximized_v = 1;
- break;
- case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
- ee->engine.x.state.maximized_h = 1;
- break;
- case ECORE_X_WINDOW_STATE_SHADED:
- ee->engine.x.state.shaded = 1;
- break;
- case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
- ee->engine.x.state.skip_taskbar = 1;
- break;
- case ECORE_X_WINDOW_STATE_SKIP_PAGER:
- ee->engine.x.state.skip_pager = 1;
- break;
- case ECORE_X_WINDOW_STATE_FULLSCREEN:
- ee->prop.fullscreen = 1;
- ee->engine.x.state.fullscreen = 1;
- break;
- case ECORE_X_WINDOW_STATE_ABOVE:
- ee->engine.x.state.above = 1;
- break;
- case ECORE_X_WINDOW_STATE_BELOW:
- ee->engine.x.state.below = 1;
- break;
- default:
- break;
- }
- }
- free(state);
- }
+ ecore_x_netwm_window_state_get(e->win, &state, &num);
+ if (state)
+ {
+ for (i = 0; i < num; i++)
+ {
+ switch (state[i])
+ {
+ case ECORE_X_WINDOW_STATE_MODAL:
+ ee->engine.x.state.modal = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_STICKY:
+ if (ee->prop.sticky && ee->engine.x.state.sticky)
+ break;
+
+ sticky = 1;
+ ee->prop.sticky = 1;
+ ee->engine.x.state.sticky = 1;
+ if (ee->func.fn_sticky) ee->func.fn_sticky(ee);
+ break;
+ case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
+ ee->engine.x.state.maximized_v = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
+ ee->engine.x.state.maximized_h = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_SHADED:
+ ee->engine.x.state.shaded = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
+ ee->engine.x.state.skip_taskbar = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_SKIP_PAGER:
+ ee->engine.x.state.skip_pager = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_FULLSCREEN:
+ ee->prop.fullscreen = 1;
+ ee->engine.x.state.fullscreen = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_ABOVE:
+ ee->engine.x.state.above = 1;
+ break;
+ case ECORE_X_WINDOW_STATE_BELOW:
+ ee->engine.x.state.below = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ free(state);
+ }
#ifdef HAVE_ECORE_X_XCB
ecore_xcb_reply_free();
#endif /* HAVE_ECORE_X_XCB */
- if (ee->prop.sticky && !sticky)
- {
- ee->prop.sticky = 0;
- ee->engine.x.state.sticky = 0;
- if (ee->func.fn_unsticky) ee->func.fn_unsticky(ee);
- }
+ if (ee->prop.sticky && !sticky)
+ {
+ ee->prop.sticky = 0;
+ ee->engine.x.state.sticky = 0;
+ if (ee->func.fn_unsticky) ee->func.fn_unsticky(ee);
+ }
}
return ECORE_CALLBACK_PASS_ON;
if (!ee->engine.x.sync_began)
{
// qeue a damage + draw. work around an event re-ordering thing.
- 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->engine.x.sync_began = 1;
ee->engine.x.sync_cancel = 0;
/* char *ct; */
/* const char *modes[] = { */
-/* "MODE_NORMAL", */
-/* "MODE_WHILE_GRABBED", */
-/* "MODE_GRAB", */
-/* "MODE_UNGRAB" */
+/* "MODE_NORMAL", */
+/* "MODE_WHILE_GRABBED", */
+/* "MODE_GRAB", */
+/* "MODE_UNGRAB" */
/* }; */
/* const char *details[] = { */
-/* "DETAIL_ANCESTOR", */
-/* "DETAIL_VIRTUAL", */
-/* "DETAIL_INFERIOR", */
-/* "DETAIL_NON_LINEAR", */
-/* "DETAIL_NON_LINEAR_VIRTUAL", */
-/* "DETAIL_POINTER", */
-/* "DETAIL_POINTER_ROOT", */
-/* "DETAIL_DETAIL_NONE" */
+/* "DETAIL_ANCESTOR", */
+/* "DETAIL_VIRTUAL", */
+/* "DETAIL_INFERIOR", */
+/* "DETAIL_NON_LINEAR", */
+/* "DETAIL_NON_LINEAR_VIRTUAL", */
+/* "DETAIL_POINTER", */
+/* "DETAIL_POINTER_ROOT", */
+/* "DETAIL_DETAIL_NONE" */
/* }; */
/* t = time(NULL); */
/* ct = ctime(&t); */
/* ct[strlen(ct) - 1] = 0; */
/* printf("@@ ->IN 0x%x 0x%x %s md=%s dt=%s\n", */
-/* e->win, e->event_win, */
-/* ct, */
-/* modes[e->mode], */
-/* details[e->detail]); */
+/* e->win, e->event_win, */
+/* ct, */
+/* modes[e->mode], */
+/* details[e->detail]); */
/* } */
// disable. causes more problems than it fixes
// if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
/* char *ct; */
/* const char *modes[] = { */
-/* "MODE_NORMAL", */
-/* "MODE_WHILE_GRABBED", */
-/* "MODE_GRAB", */
-/* "MODE_UNGRAB" */
+/* "MODE_NORMAL", */
+/* "MODE_WHILE_GRABBED", */
+/* "MODE_GRAB", */
+/* "MODE_UNGRAB" */
/* }; */
/* const char *details[] = { */
-/* "DETAIL_ANCESTOR", */
-/* "DETAIL_VIRTUAL", */
-/* "DETAIL_INFERIOR", */
-/* "DETAIL_NON_LINEAR", */
-/* "DETAIL_NON_LINEAR_VIRTUAL", */
-/* "DETAIL_POINTER", */
-/* "DETAIL_POINTER_ROOT", */
-/* "DETAIL_DETAIL_NONE" */
+/* "DETAIL_ANCESTOR", */
+/* "DETAIL_VIRTUAL", */
+/* "DETAIL_INFERIOR", */
+/* "DETAIL_NON_LINEAR", */
+/* "DETAIL_NON_LINEAR_VIRTUAL", */
+/* "DETAIL_POINTER", */
+/* "DETAIL_POINTER_ROOT", */
+/* "DETAIL_DETAIL_NONE" */
/* }; */
/* t = time(NULL); */
/* ct = ctime(&t); */
/* ct[strlen(ct) - 1] = 0; */
/* printf("@@ ->OUT 0x%x 0x%x %s md=%s dt=%s\n", */
-/* e->win, e->event_win, */
-/* ct, */
-/* modes[e->mode], */
-/* details[e->detail]); */
+/* e->win, e->event_win, */
+/* ct, */
+/* modes[e->mode], */
+/* details[e->detail]); */
/* } */
// disable. causes more problems than it fixes
// if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
// printf("EXPOSE %p [%i] %i %i %ix%i\n", ee, ee->prop.avoid_damage, e->x, e->y, e->w, e->h);
if (ee->prop.avoid_damage)
{
- Ecore_X_Rectangle rect;
- Ecore_X_XRegion *tmpr;
-
- if (!ee->engine.x.damages) ee->engine.x.damages = ecore_x_xregion_new();
- tmpr = ecore_x_xregion_new();
- rect.x = e->x;
- rect.y = e->y;
- rect.width = e->w;
- rect.height = e->h;
- ecore_x_xregion_union_rect(tmpr, ee->engine.x.damages, &rect);
- ecore_x_xregion_free(ee->engine.x.damages);
- ee->engine.x.damages = tmpr;
+ Ecore_X_Rectangle rect;
+ Ecore_X_XRegion *tmpr;
+
+ if (!ee->engine.x.damages) ee->engine.x.damages = ecore_x_xregion_new();
+ tmpr = ecore_x_xregion_new();
+ rect.x = e->x;
+ rect.y = e->y;
+ rect.width = e->w;
+ rect.height = e->h;
+ ecore_x_xregion_union_rect(tmpr, ee->engine.x.damages, &rect);
+ ecore_x_xregion_free(ee->engine.x.damages);
+ ee->engine.x.damages = tmpr;
/* no - this breaks things badly. disable. Ecore_X_Rectangle != XRectangle - see
* the typedefs in x's headers and ecore_x's. also same with Region - it's a pointer in x - not an X ID
- Ecore_X_Rectangle rect;
- Ecore_X_XRegion *tmpr;
-
- if (!ee->engine.x.damages) ee->engine.x.damages = ecore_x_xregion_new();
- tmpr = ecore_x_xregion_new();
- rect.x = e->x;
- rect.y = e->y;
- rect.width = e->w;
- rect.height = e->h;
- ecore_x_xregion_union_rect(tmpr, ee->engine.x.damages, &rect);
- ecore_x_xregion_free(ee->engine.x.damages);
- ee->engine.x.damages = tmpr;
+ Ecore_X_Rectangle rect;
+ Ecore_X_XRegion *tmpr;
+
+ if (!ee->engine.x.damages) ee->engine.x.damages = ecore_x_xregion_new();
+ tmpr = ecore_x_xregion_new();
+ rect.x = e->x;
+ rect.y = e->y;
+ rect.width = e->w;
+ rect.height = e->h;
+ ecore_x_xregion_union_rect(tmpr, ee->engine.x.damages, &rect);
+ ecore_x_xregion_free(ee->engine.x.damages);
+ ee->engine.x.damages = tmpr;
*/
}
else
{
- if (ee->rotation == 0)
- evas_damage_rectangle_add(ee->evas,
- e->x,
- e->y,
- e->w, e->h);
- else if (ee->rotation == 90)
- evas_damage_rectangle_add(ee->evas,
- ee->h - e->y - e->h,
- e->x,
- e->h, e->w);
- else if (ee->rotation == 180)
- evas_damage_rectangle_add(ee->evas,
- ee->w - e->x - e->w,
- ee->h - e->y - e->h,
- e->w, e->h);
- else if (ee->rotation == 270)
- evas_damage_rectangle_add(ee->evas,
- e->y,
- ee->w - e->x - e->w,
- e->h, e->w);
+ if (ee->rotation == 0)
+ evas_damage_rectangle_add(ee->evas,
+ e->x,
+ e->y,
+ e->w, e->h);
+ else if (ee->rotation == 90)
+ evas_damage_rectangle_add(ee->evas,
+ ee->h - e->y - e->h,
+ e->x,
+ e->h, e->w);
+ else if (ee->rotation == 180)
+ evas_damage_rectangle_add(ee->evas,
+ ee->w - e->x - e->w,
+ ee->h - e->y - e->h,
+ e->w, e->h);
+ else if (ee->rotation == 270)
+ evas_damage_rectangle_add(ee->evas,
+ e->y,
+ ee->w - e->x - e->w,
+ e->h, e->w);
}
return ECORE_CALLBACK_PASS_ON;
}
if ((e->from_wm) || (ee->prop.override))
{
- if ((ee->x != e->x) || (ee->y != e->y))
- {
- ee->x = e->x;
- ee->y = e->y;
+ if ((ee->x != e->x) || (ee->y != e->y))
+ {
+ ee->x = e->x;
+ ee->y = e->y;
ee->req.x = ee->x;
ee->req.y = ee->y;
- if (ee->func.fn_move) ee->func.fn_move(ee);
- }
+ if (ee->func.fn_move) ee->func.fn_move(ee);
+ }
}
if ((ee->w != e->w) || (ee->h != e->h))
{
- ee->w = e->w;
- ee->h = e->h;
+ ee->w = e->w;
+ ee->h = e->h;
ee->req.w = ee->w;
ee->req.h = ee->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);
- }
- if (ee->prop.avoid_damage)
- {
- int pdam;
-
- pdam = ecore_evas_avoid_damage_get(ee);
- ecore_evas_avoid_damage_set(ee, 0);
- ecore_evas_avoid_damage_set(ee, pdam);
- }
- if ((ee->shaped) || (ee->alpha))
- _ecore_evas_x_resize_shape(ee);
- if ((ee->expecting_resize.w > 0) &&
- (ee->expecting_resize.h > 0))
- {
- if ((ee->expecting_resize.w == ee->w) &&
- (ee->expecting_resize.h == ee->h))
- _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
- ecore_x_current_time_get());
- ee->expecting_resize.w = 0;
- ee->expecting_resize.h = 0;
- }
- if (ee->func.fn_resize) ee->func.fn_resize(ee);
+ 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);
+ }
+ if (ee->prop.avoid_damage)
+ {
+ int pdam;
+
+ pdam = ecore_evas_avoid_damage_get(ee);
+ ecore_evas_avoid_damage_set(ee, 0);
+ ecore_evas_avoid_damage_set(ee, pdam);
+ }
+ if ((ee->shaped) || (ee->alpha))
+ _ecore_evas_x_resize_shape(ee);
+ if ((ee->expecting_resize.w > 0) &&
+ (ee->expecting_resize.h > 0))
+ {
+ if ((ee->expecting_resize.w == ee->w) &&
+ (ee->expecting_resize.h == ee->h))
+ _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+ ecore_x_current_time_get());
+ ee->expecting_resize.w = 0;
+ ee->expecting_resize.h = 0;
+ }
+ if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
return ECORE_CALLBACK_PASS_ON;
}
ecore_x_icccm_size_pos_hints_get_fetch();
# endif /* HAVE_ECORE_X_XCB */
ecore_x_icccm_size_pos_hints_set(ee->prop.window,
- ee->prop.request_pos /*request_pos */,
- ECORE_X_GRAVITY_NW /* gravity */,
- ee->prop.min.w /* min_w */,
- ee->prop.min.h /* min_h */,
- ee->prop.max.w /* max_w */,
- ee->prop.max.h /* max_h */,
- ee->prop.base.w /* base_w */,
- ee->prop.base.h /* base_h */,
- ee->prop.step.w /* step_x */,
- ee->prop.step.h /* step_y */,
- 0 /* min_aspect */,
- 0 /* max_aspect */);
+ ee->prop.request_pos /*request_pos */,
+ ECORE_X_GRAVITY_NW /* gravity */,
+ ee->prop.min.w /* min_w */,
+ ee->prop.min.h /* min_h */,
+ ee->prop.max.w /* max_w */,
+ ee->prop.max.h /* max_h */,
+ ee->prop.base.w /* base_w */,
+ ee->prop.base.h /* base_h */,
+ ee->prop.step.w /* step_x */,
+ ee->prop.step.h /* step_y */,
+ 0 /* min_aspect */,
+ 0 /* max_aspect */);
# ifdef HAVE_ECORE_X_XCB
ecore_xcb_reply_free();
# endif /* HAVE_ECORE_X_XCB */
{
if (ee->should_be_visible)
{
- /* We need to send a netwm request to the wm */
- /* FIXME: Do we have to remove old state before adding new? */
- if (ee->prop.layer < 3)
- {
- if (ee->engine.x.state.above)
- {
- ee->engine.x.state.above = 0;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
- }
- if (!ee->engine.x.state.below)
- {
- ee->engine.x.state.below = 1;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_BELOW, -1, 1);
- }
- }
- else if (ee->prop.layer > 5)
- {
- if (ee->engine.x.state.below)
- {
- ee->engine.x.state.below = 0;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_BELOW, -1, 0);
- }
- if (!ee->engine.x.state.above)
- {
- ee->engine.x.state.above = 1;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_ABOVE, -1, 1);
- }
- }
- else
- {
- if (ee->engine.x.state.below)
- {
- ee->engine.x.state.below = 0;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_BELOW, -1, 0);
- }
- if (ee->engine.x.state.above)
- {
- ee->engine.x.state.above = 0;
- ecore_x_netwm_state_request_send(ee->prop.window,
- ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
- }
- }
+ /* We need to send a netwm request to the wm */
+ /* FIXME: Do we have to remove old state before adding new? */
+ if (ee->prop.layer < 3)
+ {
+ if (ee->engine.x.state.above)
+ {
+ ee->engine.x.state.above = 0;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
+ }
+ if (!ee->engine.x.state.below)
+ {
+ ee->engine.x.state.below = 1;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_BELOW, -1, 1);
+ }
+ }
+ else if (ee->prop.layer > 5)
+ {
+ if (ee->engine.x.state.below)
+ {
+ ee->engine.x.state.below = 0;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_BELOW, -1, 0);
+ }
+ if (!ee->engine.x.state.above)
+ {
+ ee->engine.x.state.above = 1;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_ABOVE, -1, 1);
+ }
+ }
+ else
+ {
+ if (ee->engine.x.state.below)
+ {
+ ee->engine.x.state.below = 0;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_BELOW, -1, 0);
+ }
+ if (ee->engine.x.state.above)
+ {
+ ee->engine.x.state.above = 0;
+ ecore_x_netwm_state_request_send(ee->prop.window,
+ ee->engine.x.win_root,
+ ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
+ }
+ }
}
else
{
- /* Just set the state */
- if (ee->prop.layer < 3)
- {
- if ((ee->engine.x.state.above) || (!ee->engine.x.state.below))
- {
- ee->engine.x.state.above = 0;
- ee->engine.x.state.below = 1;
- _ecore_evas_x_state_update(ee);
- }
- }
- else if (ee->prop.layer > 5)
- {
- if ((!ee->engine.x.state.above) || (ee->engine.x.state.below))
- {
- ee->engine.x.state.above = 1;
- ee->engine.x.state.below = 0;
- _ecore_evas_x_state_update(ee);
- }
- }
- else
- {
- if ((ee->engine.x.state.above) || (ee->engine.x.state.below))
- {
- ee->engine.x.state.above = 0;
- ee->engine.x.state.below = 0;
- _ecore_evas_x_state_update(ee);
- }
- }
+ /* Just set the state */
+ if (ee->prop.layer < 3)
+ {
+ if ((ee->engine.x.state.above) || (!ee->engine.x.state.below))
+ {
+ ee->engine.x.state.above = 0;
+ ee->engine.x.state.below = 1;
+ _ecore_evas_x_state_update(ee);
+ }
+ }
+ else if (ee->prop.layer > 5)
+ {
+ if ((!ee->engine.x.state.above) || (ee->engine.x.state.below))
+ {
+ ee->engine.x.state.above = 1;
+ ee->engine.x.state.below = 0;
+ _ecore_evas_x_state_update(ee);
+ }
+ }
+ else
+ {
+ if ((ee->engine.x.state.above) || (ee->engine.x.state.below))
+ {
+ ee->engine.x.state.above = 0;
+ ee->engine.x.state.below = 0;
+ _ecore_evas_x_state_update(ee);
+ }
+ }
}
/* FIXME: Set gnome layer */
}
ecore_event_window_unregister(ee->prop.window);
while (ee->engine.x.win_extra)
{
- Ecore_X_Window *winp;
+ Ecore_X_Window *winp;
- winp = ee->engine.x.win_extra->data;
- ee->engine.x.win_extra = eina_list_remove_list(ee->engine.x.win_extra, ee->engine.x.win_extra);
- ecore_event_window_unregister(*winp);
- free(winp);
+ winp = ee->engine.x.win_extra->data;
+ ee->engine.x.win_extra = eina_list_remove_list(ee->engine.x.win_extra, ee->engine.x.win_extra);
+ ecore_event_window_unregister(*winp);
+ free(winp);
}
_ecore_evas_x_shutdown();
ecore_x_shutdown();
ee->req.y = y;
if (ee->engine.x.direct_resize)
{
- if (!ee->engine.x.managed)
- {
- if ((x != ee->x) || (y != ee->y))
- {
- ee->x = x;
- ee->y = y;
- ecore_x_window_move(ee->prop.window, x, y);
- if (!ee->should_be_visible)
- {
- /* We need to request pos */
- ee->prop.request_pos = 1;
- _ecore_evas_x_size_pos_hints_update(ee);
- }
- if (ee->func.fn_move) ee->func.fn_move(ee);
- }
- }
+ if (!ee->engine.x.managed)
+ {
+ if ((x != ee->x) || (y != ee->y))
+ {
+ ee->x = x;
+ ee->y = y;
+ ecore_x_window_move(ee->prop.window, x, y);
+ if (!ee->should_be_visible)
+ {
+ /* We need to request pos */
+ ee->prop.request_pos = 1;
+ _ecore_evas_x_size_pos_hints_update(ee);
+ }
+ if (ee->func.fn_move) ee->func.fn_move(ee);
+ }
+ }
}
else
{
- ecore_x_window_move(ee->prop.window, x, y);
- if (!ee->should_be_visible)
- {
- /* We need to request pos */
- ee->prop.request_pos = 1;
- _ecore_evas_x_size_pos_hints_update(ee);
- }
- if (!ee->engine.x.managed)
- {
- ee->x = x;
- ee->y = y;
- }
+ ecore_x_window_move(ee->prop.window, x, y);
+ if (!ee->should_be_visible)
+ {
+ /* We need to request pos */
+ ee->prop.request_pos = 1;
+ _ecore_evas_x_size_pos_hints_update(ee);
+ }
+ if (!ee->engine.x.managed)
+ {
+ ee->x = x;
+ ee->y = y;
+ }
}
}
ee->req.y = y;
if (ee->engine.x.direct_resize)
{
- ee->engine.x.managed = 1;
- if ((x != ee->x) || (y != ee->y))
- {
- ee->x = x;
- ee->y = y;
- if (ee->func.fn_move) ee->func.fn_move(ee);
- }
+ ee->engine.x.managed = 1;
+ if ((x != ee->x) || (y != ee->y))
+ {
+ ee->x = x;
+ ee->y = y;
+ if (ee->func.fn_move) ee->func.fn_move(ee);
+ }
}
}
ee->req.h = h;
if (ee->engine.x.direct_resize)
{
- if ((ee->w != w) || (ee->h != h))
- {
- ecore_x_window_resize(ee->prop.window, w, h);
- 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);
- }
- if (ee->prop.avoid_damage)
- {
- int pdam;
-
- pdam = ecore_evas_avoid_damage_get(ee);
- ecore_evas_avoid_damage_set(ee, 0);
- ecore_evas_avoid_damage_set(ee, pdam);
- }
- if ((ee->shaped) || (ee->alpha))
- _ecore_evas_x_resize_shape(ee);
- if (ee->func.fn_resize) ee->func.fn_resize(ee);
- }
+ if ((ee->w != w) || (ee->h != h))
+ {
+ ecore_x_window_resize(ee->prop.window, w, h);
+ 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);
+ }
+ if (ee->prop.avoid_damage)
+ {
+ int pdam;
+
+ pdam = ecore_evas_avoid_damage_get(ee);
+ ecore_evas_avoid_damage_set(ee, 0);
+ ecore_evas_avoid_damage_set(ee, pdam);
+ }
+ if ((ee->shaped) || (ee->alpha))
+ _ecore_evas_x_resize_shape(ee);
+ if (ee->func.fn_resize) ee->func.fn_resize(ee);
+ }
}
else
ecore_x_window_resize(ee->prop.window, w, h);
ee->req.h = h;
if (ee->engine.x.direct_resize)
{
- if ((ee->w != w) || (ee->h != h) || (x != ee->x) || (y != ee->y))
- {
- int change_size = 0, change_pos = 0;
-
- if ((ee->w != w) || (ee->h != h)) change_size = 1;
- if (!ee->engine.x.managed)
- {
- if ((x != ee->x) || (y != ee->y)) change_pos = 1;
- }
- ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
- if (!ee->engine.x.managed)
- {
- ee->x = x;
- ee->y = y;
- }
- 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);
- }
- if (ee->prop.avoid_damage)
- {
- int pdam;
-
- pdam = ecore_evas_avoid_damage_get(ee);
- ecore_evas_avoid_damage_set(ee, 0);
- ecore_evas_avoid_damage_set(ee, pdam);
- }
- if ((ee->shaped) || (ee->alpha))
- _ecore_evas_x_resize_shape(ee);
- if (change_pos)
- {
- if (ee->func.fn_move) ee->func.fn_move(ee);
- }
- if (change_size)
- {
- if (ee->func.fn_resize) ee->func.fn_resize(ee);
- }
- }
+ if ((ee->w != w) || (ee->h != h) || (x != ee->x) || (y != ee->y))
+ {
+ int change_size = 0, change_pos = 0;
+
+ if ((ee->w != w) || (ee->h != h)) change_size = 1;
+ if (!ee->engine.x.managed)
+ {
+ if ((x != ee->x) || (y != ee->y)) change_pos = 1;
+ }
+ ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
+ if (!ee->engine.x.managed)
+ {
+ ee->x = x;
+ ee->y = y;
+ }
+ 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);
+ }
+ if (ee->prop.avoid_damage)
+ {
+ int pdam;
+
+ pdam = ecore_evas_avoid_damage_get(ee);
+ ecore_evas_avoid_damage_set(ee, 0);
+ ecore_evas_avoid_damage_set(ee, pdam);
+ }
+ if ((ee->shaped) || (ee->alpha))
+ _ecore_evas_x_resize_shape(ee);
+ if (change_pos)
+ {
+ if (ee->func.fn_move) ee->func.fn_move(ee);
+ }
+ if (change_size)
+ {
+ if (ee->func.fn_resize) ee->func.fn_resize(ee);
+ }
+ }
}
else
{
- ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
- if (!ee->engine.x.managed)
- {
- ee->x = x;
- ee->y = y;
- }
+ ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
+ if (!ee->engine.x.managed)
+ {
+ ee->x = x;
+ ee->y = y;
+ }
}
}
static void
_ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation, int resize,
- Evas_Engine_Info *einfo)
+ Evas_Engine_Info *einfo)
{
int rot_dif;
if (rot_dif != 180)
{
- int minw, minh, maxw, maxh, basew, baseh, stepw, steph;
+ int minw, minh, maxw, maxh, basew, baseh, stepw, steph;
- if (!evas_engine_info_set(ee->evas, einfo))
+ if (!evas_engine_info_set(ee->evas, einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- if (!resize)
+ if (!resize)
{
if (!ee->prop.fullscreen)
{
else
evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
}
- else
+ else
{
- int w, h;
+ int w, h;
- ecore_x_window_size_get(ee->prop.window, &w, &h);
- 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_x_window_size_get(ee->prop.window, &w, &h);
+ 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);
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);
}
- 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_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
- ecore_x_current_time_get());
+ 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_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+ ecore_x_current_time_get());
}
else
{
- if (!evas_engine_info_set(ee->evas, einfo))
+ if (!evas_engine_info_set(ee->evas, einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- ee->rotation = rotation;
- _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
- ecore_x_current_time_get());
- if (ee->func.fn_resize) ee->func.fn_resize(ee);
+ ee->rotation = rotation;
+ _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+ ecore_x_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);
if (!strcmp(ee->driver, "opengl_x11"))
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
- Evas_Engine_Info_GL_X11 *einfo;
+ Evas_Engine_Info_GL_X11 *einfo;
- einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
- einfo->info.rotation = rotation;
- _ecore_evas_x_rotation_set_internal
- (ee, rotation, resize, (Evas_Engine_Info *)einfo);
+ einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+ einfo->info.rotation = rotation;
+ _ecore_evas_x_rotation_set_internal
+ (ee, rotation, resize, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_OPENGL_X11 */
}
else if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
+ Evas_Engine_Info_Software_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
- einfo->info.rotation = rotation;
- _ecore_evas_x_rotation_set_internal
- (ee, rotation, resize, (Evas_Engine_Info *)einfo);
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+ einfo->info.rotation = rotation;
+ _ecore_evas_x_rotation_set_internal
+ (ee, rotation, resize, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
- Evas_Engine_Info_Software_16_X11 *einfo;
+ Evas_Engine_Info_Software_16_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
- einfo->info.rotation = rotation;
- _ecore_evas_x_rotation_set_internal
- (ee, rotation, resize, (Evas_Engine_Info *)einfo);
+ einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+ einfo->info.rotation = rotation;
+ _ecore_evas_x_rotation_set_internal
+ (ee, rotation, resize, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
else if (!strcmp(ee->driver, "software_8_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_8_X11
- Evas_Engine_Info_Software_8_X11 *einfo;
+ Evas_Engine_Info_Software_8_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
- einfo->info.rotation = rotation;
- _ecore_evas_x_rotation_set_internal
- (ee, rotation, resize, (Evas_Engine_Info *)einfo);
+ einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+ einfo->info.rotation = rotation;
+ _ecore_evas_x_rotation_set_internal
+ (ee, rotation, resize, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */
}
}
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- ee->shaped = shaped;
- if (einfo)
- {
- if (ee->shaped)
- {
+ Evas_Engine_Info_Software_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ ee->shaped = shaped;
+ if (einfo)
+ {
+ if (ee->shaped)
+ {
unsigned int foreground;
Ecore_X_GC gc;
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
ECORE_X_GC_VALUE_MASK_FOREGROUND,
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ einfo->info.mask = ee->engine.x.mask;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- else
- {
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- einfo->info.mask = 0;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ else
+ {
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ einfo->info.mask = 0;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- }
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
- Evas_Engine_Info_XRender_X11 *einfo;
-
- ee->shaped = shaped;
- einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- if (ee->shaped)
- {
+ Evas_Engine_Info_XRender_X11 *einfo;
+
+ ee->shaped = shaped;
+ einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->shaped)
+ {
unsigned int foreground;
Ecore_X_GC gc;
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
ECORE_X_GC_VALUE_MASK_FOREGROUND,
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ einfo->info.mask = ee->engine.x.mask;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- else
- {
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- einfo->info.mask = 0;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ else
+ {
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ einfo->info.mask = 0;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- }
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ }
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
# if 0 /* XXX no shaped window support for software_16_x11 */
- Evas_Engine_Info_Software_16_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
- ee->shaped = shaped;
- if (einfo)
- {
- if (ee->shaped)
- {
- GC gc;
- XGCValues gcv;
-
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
- einfo->info.mask = ee->engine.x.mask;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ Evas_Engine_Info_Software_16_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
+ ee->shaped = shaped;
+ if (einfo)
+ {
+ if (ee->shaped)
+ {
+ GC gc;
+ XGCValues gcv;
+
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ einfo->info.mask = ee->engine.x.mask;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- }
- else
- {
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- einfo->info.mask = 0;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ }
+ else
+ {
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ einfo->info.mask = 0;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
- }
- }
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ }
+ }
# endif /* XXX no shaped window support for software_16_x11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
if (!strcmp(ee->driver, "software_8_x11"))
{
#if defined (BUILD_ECORE_EVAS_SOFTWARE_8_X11)
- Evas_Engine_Info_Software_8_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
- ee->shaped = shaped;
- if (einfo)
- {
- if (ee->shaped)
- {
+ Evas_Engine_Info_Software_8_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
+ ee->shaped = shaped;
+ if (einfo)
+ {
+ if (ee->shaped)
+ {
unsigned int foreground;
Ecore_X_GC gc;
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
foreground = 0;
gc = ecore_x_gc_new(ee->engine.x.mask,
ECORE_X_GC_VALUE_MASK_FOREGROUND,
ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
ecore_x_gc_free(gc);
- einfo->info.mask = ee->engine.x.mask;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ einfo->info.mask = ee->engine.x.mask;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- else
- {
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- einfo->info.mask = 0;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ else
+ {
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ einfo->info.mask = 0;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
- }
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */
}
}
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
-
- if (!ecore_x_composite_query()) return;
-
- ee->shaped = 0;
- ee->alpha = alpha;
- ecore_x_window_free(ee->prop.window);
- ecore_event_window_unregister(ee->prop.window);
- if (ee->alpha)
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
- }
- else
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
-
- einfo->info.destination_alpha = alpha;
+ Evas_Engine_Info_Software_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+
+ if (!ecore_x_composite_query()) return;
+
+ ee->shaped = 0;
+ ee->alpha = alpha;
+ ecore_x_window_free(ee->prop.window);
+ ecore_event_window_unregister(ee->prop.window);
+ if (ee->alpha)
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
+ }
+ else
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+
+ einfo->info.destination_alpha = alpha;
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
- cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
- cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
-
- reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
- reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
- einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
- einfo->info.colormap = reply_attr->colormap;
- einfo->info.depth = reply_geom->depth;
- free(reply_geom);
- free(reply_attr);
+ cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+ cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
+
+ reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
+ reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
+ einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
+ einfo->info.colormap = reply_attr->colormap;
+ einfo->info.depth = reply_geom->depth;
+ free(reply_geom);
+ free(reply_attr);
# else
- XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
- einfo->info.visual = att.visual;
- einfo->info.colormap = att.colormap;
- einfo->info.depth = att.depth;
+ XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
+ einfo->info.visual = att.visual;
+ einfo->info.colormap = att.colormap;
+ einfo->info.depth = att.depth;
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
-// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-// ee->engine.x.mask = 0;
- einfo->info.mask = ee->engine.x.mask;
- einfo->info.drawable = ee->prop.window;
+// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+// ee->engine.x.mask = 0;
+ einfo->info.mask = ee->engine.x.mask;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
ecore_x_input_multi_select(ee->prop.window);
- ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
- if (ee->prop.borderless)
- ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
- if (ee->visible) ecore_x_window_show(ee->prop.window);
- if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
- if (ee->prop.title)
- {
- ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
- ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
- }
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ if (ee->prop.borderless)
+ ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+ if (ee->visible) ecore_x_window_show(ee->prop.window);
+ if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
+ if (ee->prop.title)
+ {
+ ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+ ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
+ }
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
_ecore_evas_x_protocols_set(ee);
_ecore_evas_x_sync_set(ee);
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
/* NB: on linux this may simply empty the env as opposed to completely
* unset it to being empty - unsure as solartis libc crashes looking
* for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
}
else if (!strcmp(ee->driver, "opengl_x11"))
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
- Evas_Engine_Info_GL_X11 *einfo;
+ Evas_Engine_Info_GL_X11 *einfo;
- einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
+ einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
- if (!ecore_x_composite_query()) return;
+ if (!ecore_x_composite_query()) return;
- ee->shaped = 0;
- ee->alpha = alpha;
- ecore_x_window_free(ee->prop.window);
- ecore_event_window_unregister(ee->prop.window);
+ ee->shaped = 0;
+ ee->alpha = alpha;
+ ecore_x_window_free(ee->prop.window);
+ ecore_event_window_unregister(ee->prop.window);
ee->prop.window = 0;
- einfo->info.destination_alpha = alpha;
+ einfo->info.destination_alpha = alpha;
if (ee->engine.x.win_root != 0)
{
return;
}
/*
- if (ee->alpha)
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
- }
- else
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
+ if (ee->alpha)
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
+ }
+ else
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
*/
- XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
- einfo->info.visual = att.visual;
- einfo->info.colormap = att.colormap;
- einfo->info.depth = att.depth;
+ XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
+ einfo->info.visual = att.visual;
+ einfo->info.colormap = att.colormap;
+ einfo->info.depth = att.depth;
-// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-// ee->engine.x.mask = 0;
-// einfo->info.mask = ee->engine.x.mask;
- einfo->info.drawable = ee->prop.window;
+// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+// ee->engine.x.mask = 0;
+// einfo->info.mask = ee->engine.x.mask;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
-// ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
+// ecore_x_window_shape_mask_set(ee->prop.window, 0);
ecore_x_input_multi_select(ee->prop.window);
- ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
- if (ee->prop.borderless)
- ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
- if (ee->visible) ecore_x_window_show(ee->prop.window);
- if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
- if (ee->prop.title)
- {
- ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
- ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
- }
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ if (ee->prop.borderless)
+ ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+ if (ee->visible) ecore_x_window_show(ee->prop.window);
+ if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
+ if (ee->prop.title)
+ {
+ ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+ ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
+ }
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
_ecore_evas_x_protocols_set(ee);
_ecore_evas_x_sync_set(ee);
#endif /* BUILD_ECORE_EVAS_OPENGL_X11 */
/* NB: on linux this may simply empty the env as opposed to completely
* unset it to being empty - unsure as solartis libc crashes looking
* for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
- Evas_Engine_Info_XRender_X11 *einfo;
-
- einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
- if (!ecore_x_composite_query()) return;
-
- ee->shaped = 0;
- ee->alpha = alpha;
- ecore_x_window_free(ee->prop.window);
- ecore_event_window_unregister(ee->prop.window);
- if (ee->alpha)
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
- }
- else
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
-
- einfo->info.destination_alpha = alpha;
+ Evas_Engine_Info_XRender_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+ if (!ecore_x_composite_query()) return;
+
+ ee->shaped = 0;
+ ee->alpha = alpha;
+ ecore_x_window_free(ee->prop.window);
+ ecore_event_window_unregister(ee->prop.window);
+ if (ee->alpha)
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
+ }
+ else
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+
+ einfo->info.destination_alpha = alpha;
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
- cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
- reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
+ cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
+ reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
- einfo->info.visual = reply_attr->visual;
- free(reply_attr);
+ einfo->info.visual = reply_attr->visual;
+ free(reply_attr);
# else
- XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
- einfo->info.visual = att.visual;
+ XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
+ einfo->info.visual = att.visual;
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
-// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-// ee->engine.x.mask = 0;
+// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+// ee->engine.x.mask = 0;
einfo->info.mask = ee->engine.x.mask;
- einfo->info.drawable = ee->prop.window;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
ecore_x_input_multi_select(ee->prop.window);
- ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
- if (ee->prop.borderless)
- ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
- if (ee->visible) ecore_x_window_show(ee->prop.window);
- if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
- if (ee->prop.title)
- {
- ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
- ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
- }
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ if (ee->prop.borderless)
+ ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+ if (ee->visible) ecore_x_window_show(ee->prop.window);
+ if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
+ if (ee->prop.title)
+ {
+ ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+ ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
+ }
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
_ecore_evas_x_protocols_set(ee);
_ecore_evas_x_sync_set(ee);
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
/* NB: on linux this may simply empty the env as opposed to completely
* unset it to being empty - unsure as solartis libc crashes looking
* for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
- Evas_Engine_Info_Software_16_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
-
- ee->shaped = 0;
- ee->alpha = alpha;
- ecore_x_window_free(ee->prop.window);
- ecore_event_window_unregister(ee->prop.window);
- if (ee->alpha)
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
- }
- else
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
+ Evas_Engine_Info_Software_16_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+
+ ee->shaped = 0;
+ ee->alpha = alpha;
+ ecore_x_window_free(ee->prop.window);
+ ecore_event_window_unregister(ee->prop.window);
+ if (ee->alpha)
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
+ }
+ else
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
# if 0 /* XXX no alpha window support for software_16_x11 */
- einfo->info.destination_alpha = alpha;
+ einfo->info.destination_alpha = alpha;
# endif /* XXX no alpha window support for software_16_x11 */
# if 0 /* XXX no shaped window support for software_16_x11 */
-// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-// ee->engine.x.mask = 0;
+// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+// ee->engine.x.mask = 0;
einfo->info.mask = ee->engine.x.mask;
# endif /* XXX no shaped window support for software_16_x11 */
- einfo->info.drawable = ee->prop.window;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
ecore_x_input_multi_select(ee->prop.window);
- ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
- if (ee->prop.borderless)
- ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
- if (ee->visible) ecore_x_window_show(ee->prop.window);
- if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
- if (ee->prop.title)
- {
- ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
- ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
- }
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ if (ee->prop.borderless)
+ ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+ if (ee->visible) ecore_x_window_show(ee->prop.window);
+ if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
+ if (ee->prop.title)
+ {
+ ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+ ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
+ }
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
_ecore_evas_x_protocols_set(ee);
_ecore_evas_x_sync_set(ee);
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
/* NB: on linux this may simply empty the env as opposed to completely
* unset it to being empty - unsure as solartis libc crashes looking
* for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
}
else if (!strcmp(ee->driver, "software_8_x11"))
{
#if defined (BUILD_ECORE_EVAS_SOFTWARE_8_X11)
- Evas_Engine_Info_Software_8_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
-
- ee->shaped = 0;
- ee->alpha = alpha;
- ecore_x_window_free(ee->prop.window);
- ecore_event_window_unregister(ee->prop.window);
- if (ee->alpha)
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (!ee->engine.x.mask)
- ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
- }
- else
- {
- if (ee->prop.override)
- ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- else
- ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
- if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
- ee->engine.x.mask = 0;
- ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
- }
-
- einfo->info.destination_alpha = alpha;
-
- cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
- cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
-
- reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
- reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
- einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
- einfo->info.colormap = reply_attr->colormap;
- einfo->info.depth = reply_geom->depth;
- free(reply_geom);
- free(reply_attr);
-
-// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-// ee->engine.x.mask = 0;
- einfo->info.mask = ee->engine.x.mask;
- einfo->info.drawable = ee->prop.window;
+ Evas_Engine_Info_Software_8_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
+
+ ee->shaped = 0;
+ ee->alpha = alpha;
+ ecore_x_window_free(ee->prop.window);
+ ecore_event_window_unregister(ee->prop.window);
+ if (ee->alpha)
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (!ee->engine.x.mask)
+ ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
+ }
+ else
+ {
+ if (ee->prop.override)
+ ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ else
+ ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
+ if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+ ee->engine.x.mask = 0;
+ ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
+ }
+
+ einfo->info.destination_alpha = alpha;
+
+ cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+ cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
+
+ reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
+ reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
+ einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
+ einfo->info.colormap = reply_attr->colormap;
+ einfo->info.depth = reply_geom->depth;
+ free(reply_geom);
+ free(reply_attr);
+
+// if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
+// ee->engine.x.mask = 0;
+ einfo->info.mask = ee->engine.x.mask;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
- ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
+ ecore_x_window_shape_mask_set(ee->prop.window, 0);
ecore_x_input_multi_select(ee->prop.window);
- ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
- if (ee->prop.borderless)
- ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
- if (ee->visible) ecore_x_window_show(ee->prop.window);
- if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
- if (ee->prop.title)
- {
- ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
- ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
- }
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ if (ee->prop.borderless)
+ ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+ if (ee->visible) ecore_x_window_show(ee->prop.window);
+ if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
+ if (ee->prop.title)
+ {
+ ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+ ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
+ }
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
_ecore_evas_x_protocols_set(ee);
_ecore_evas_x_sync_set(ee);
/* NB: on linux this may simply empty the env as opposed to completely
* unset it to being empty - unsure as solartis libc crashes looking
* for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
#endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */
}
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
+ Evas_Engine_Info_Software_X11 *einfo;
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (!einfo) return;
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (!einfo) return;
- ee->transparent = transparent;
- einfo->info.destination_alpha = transparent;
+ ee->transparent = transparent;
+ einfo->info.destination_alpha = transparent;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
#endif
}
}
_ecore_evas_x_activate(Ecore_Evas *ee)
{
ecore_x_netwm_client_active_request(ee->engine.x.win_root,
- ee->prop.window, 2, 0);
+ ee->prop.window, 2, 0);
}
static void
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_x_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_x_window_cursor_show(ee->prop.window, 1);
+ return;
}
ee->prop.cursor.object = obj;
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);
ee->prop.iconified = on;
if (on)
{
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_ICONIC /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
- ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root);
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_ICONIC /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
+ ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root);
}
else
{
- ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
- ecore_evas_show(ee);
+ ecore_x_icccm_hints_set(ee->prop.window,
+ 1 /* accepts_focus */,
+ ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
+ ecore_evas_show(ee);
}
}
hint = ECORE_X_WINDOW_STATE_HINT_NORMAL;
ecore_x_icccm_hints_set(ee->prop.window,
- 1 /* accepts_focus */,
- hint /* initial_state */,
- 0 /* icon_pixmap */,
- 0 /* icon_mask */,
- 0 /* icon_window */,
- 0 /* window_group */,
- 0 /* is_urgent */);
+ 1 /* accepts_focus */,
+ hint /* initial_state */,
+ 0 /* icon_pixmap */,
+ 0 /* icon_mask */,
+ 0 /* icon_window */,
+ 0 /* window_group */,
+ 0 /* is_urgent */);
}
static void
ee->engine.x.state.sticky = sticky;
if (ee->should_be_visible)
ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_STICKY, -1, sticky);
+ ECORE_X_WINDOW_STATE_STICKY, -1, sticky);
else
_ecore_evas_x_state_update(ee);
}
if (ignore)
{
- ee->ignore_events = 1;
- if (ee->prop.window)
- ecore_x_window_ignore_set(ee->prop.window, 1);
+ ee->ignore_events = 1;
+ if (ee->prop.window)
+ ecore_x_window_ignore_set(ee->prop.window, 1);
}
else
{
- ee->ignore_events = 0;
- if (ee->prop.window)
- ecore_x_window_ignore_set(ee->prop.window, 0);
+ ee->ignore_events = 0;
+ if (ee->prop.window)
+ ecore_x_window_ignore_set(ee->prop.window, 0);
}
}
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_X11
- Evas_Engine_Info_Software_X11 *einfo;
-
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- einfo->info.drawable = ee->prop.window;
- evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
- }
+ Evas_Engine_Info_Software_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ einfo->info.drawable = ee->prop.window;
+ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
+ }
#endif
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER_X11
- Evas_Engine_Info_XRender_X11 *einfo;
-
- einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- einfo->info.drawable = ee->prop.window;
- evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
- }
+ Evas_Engine_Info_XRender_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ einfo->info.drawable = ee->prop.window;
+ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
+ }
#endif
}
else if (!strcmp(ee->driver, "opengl_x11"))
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
- Evas_Engine_Info_GL_X11 *einfo;
-
- einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- einfo->info.drawable = ee->prop.window;
- evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
- }
+ Evas_Engine_Info_GL_X11 *einfo;
+
+ einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ einfo->info.drawable = ee->prop.window;
+ evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
+ }
#endif
}
}
ee->engine.x.state.fullscreen = on;
if (ee->should_be_visible)
ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
- ECORE_X_WINDOW_STATE_FULLSCREEN, -1, on);
+ ECORE_X_WINDOW_STATE_FULLSCREEN, -1, on);
else
_ecore_evas_x_state_update(ee);
}
if (!strcmp(ee->driver, "software_x11"))
{
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
- Evas_Engine_Info_Software_X11 *einfo;
-
- ee->prop.avoid_damage = on;
- einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- if (ee->prop.avoid_damage)
- {
- ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, einfo->info.depth);
- ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
- einfo->info.drawable = ee->engine.x.pmap;
+ Evas_Engine_Info_Software_X11 *einfo;
+
+ ee->prop.avoid_damage = on;
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->prop.avoid_damage)
+ {
+ ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, einfo->info.depth);
+ ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
+ einfo->info.drawable = ee->engine.x.pmap;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- 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->prop.avoid_damage == ECORE_EVAS_AVOID_DAMAGE_BUILT_IN)
- {
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
- }
- if (ee->engine.x.direct_resize)
- {
- /* Turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
- */
- }
- }
- else
- {
- if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
- if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
- if (ee->engine.x.using_bg_pixmap)
- {
- ecore_x_window_pixmap_set(ee->prop.window, 0);
- ee->engine.x.using_bg_pixmap = 0;
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
- }
- ee->engine.x.pmap = 0;
- ee->engine.x.gc = 0;
- einfo->info.drawable = ee->prop.window;
+ 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->prop.avoid_damage == ECORE_EVAS_AVOID_DAMAGE_BUILT_IN)
+ {
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ }
+ if (ee->engine.x.direct_resize)
+ {
+ /* Turn this off for now
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ */
+ }
+ }
+ else
+ {
+ if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
+ if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
+ if (ee->engine.x.using_bg_pixmap)
+ {
+ ecore_x_window_pixmap_set(ee->prop.window, 0);
+ ee->engine.x.using_bg_pixmap = 0;
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ }
+ ee->engine.x.pmap = 0;
+ ee->engine.x.gc = 0;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- }
- }
+ }
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
- Evas_Engine_Info_Software_16_X11 *einfo;
- ee->prop.avoid_damage = on;
-
- einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- if (ee->prop.avoid_damage)
- {
- ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 16);
- ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
- einfo->info.drawable = ee->engine.x.pmap;
+ Evas_Engine_Info_Software_16_X11 *einfo;
+ ee->prop.avoid_damage = on;
+
+ einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->prop.avoid_damage)
+ {
+ ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 16);
+ ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
+ einfo->info.drawable = ee->engine.x.pmap;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- 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->engine.x.direct_resize)
- {
- /* Turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
- */
- }
- }
- else
- {
- if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
- if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
- if (ee->engine.x.using_bg_pixmap)
- {
- ecore_x_window_pixmap_set(ee->prop.window, 0);
- ee->engine.x.using_bg_pixmap = 0;
- }
- ee->engine.x.pmap = 0;
- ee->engine.x.gc = 0;
- einfo->info.drawable = ee->prop.window;
+ 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->engine.x.direct_resize)
+ {
+ /* Turn this off for now
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ */
+ }
+ }
+ else
+ {
+ if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
+ if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
+ if (ee->engine.x.using_bg_pixmap)
+ {
+ ecore_x_window_pixmap_set(ee->prop.window, 0);
+ ee->engine.x.using_bg_pixmap = 0;
+ }
+ ee->engine.x.pmap = 0;
+ ee->engine.x.gc = 0;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- }
- }
+ }
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
else if (!strcmp(ee->driver, "software_8_x11"))
{
#if BUILD_ECORE_EVAS_SOFTWARE_8_X11
- Evas_Engine_Info_Software_8_X11 *einfo;
-
- ee->prop.avoid_damage = on;
- einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
- if (einfo)
- {
- if (ee->prop.avoid_damage)
- {
- ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, einfo->info.depth);
- ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
- einfo->info.drawable = ee->engine.x.pmap;
+ Evas_Engine_Info_Software_8_X11 *einfo;
+
+ ee->prop.avoid_damage = on;
+ einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
+ if (einfo)
+ {
+ if (ee->prop.avoid_damage)
+ {
+ ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, einfo->info.depth);
+ ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
+ einfo->info.drawable = ee->engine.x.pmap;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- 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->prop.avoid_damage == ECORE_EVAS_AVOID_DAMAGE_BUILT_IN)
- {
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
- }
- if (ee->engine.x.direct_resize)
- {
- /* Turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
- */
- }
- }
- else
- {
- if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
- if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
- if (ee->engine.x.using_bg_pixmap)
- {
- ecore_x_window_pixmap_set(ee->prop.window, 0);
- ee->engine.x.using_bg_pixmap = 0;
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
- }
- ee->engine.x.pmap = 0;
- ee->engine.x.gc = 0;
- einfo->info.drawable = ee->prop.window;
+ 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->prop.avoid_damage == ECORE_EVAS_AVOID_DAMAGE_BUILT_IN)
+ {
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ }
+ if (ee->engine.x.direct_resize)
+ {
+ /* Turn this off for now
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ */
+ }
+ }
+ else
+ {
+ if (ee->engine.x.pmap) ecore_x_pixmap_free(ee->engine.x.pmap);
+ if (ee->engine.x.gc) ecore_x_gc_free(ee->engine.x.gc);
+ if (ee->engine.x.using_bg_pixmap)
+ {
+ ecore_x_window_pixmap_set(ee->prop.window, 0);
+ ee->engine.x.using_bg_pixmap = 0;
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ }
+ ee->engine.x.pmap = 0;
+ ee->engine.x.gc = 0;
+ einfo->info.drawable = ee->prop.window;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
}
- }
- }
+ }
+ }
#endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */
}
}
_ecore_evas_init_count--;
if (_ecore_evas_init_count == 0)
{
- unsigned int i;
+ unsigned 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++)
{
if (ecore_evas_event_handlers[i])
ecore_event_handler_del(ecore_evas_event_handlers[i]);
}
- ecore_event_evas_shutdown();
+ ecore_event_evas_shutdown();
}
if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
return _ecore_evas_init_count;
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
EAPI Ecore_Evas *
ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
- int x, int y, int w, int h)
+ int x, int y, int w, int h)
{
Evas_Engine_Info_Software_X11 *einfo;
Ecore_Evas *ee;
{
ee->engine.x.screen_num = 1; /* FIXME: get real scren # */
/* FIXME: round trip in ecore_x_window_argb_get */
- if (ecore_x_window_argb_get(parent))
- {
- ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
- argb = 1;
- }
- else
- ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
+ if (ecore_x_window_argb_get(parent))
+ {
+ ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
+ argb = 1;
+ }
+ else
+ ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
}
else
ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
- ecore_x_netwm_startup_id_set(ee->prop.window,
- getenv("DESKTOP_STARTUP_ID"));
- /* NB: on linux this may simply empty the env as opposed to completely
- * unset it to being empty - unsure as solartis libc crashes looking
- * for the '=' char */
-// putenv((char*)"DESKTOP_STARTUP_ID=");
+ ecore_x_netwm_startup_id_set(ee->prop.window,
+ getenv("DESKTOP_STARTUP_ID"));
+ /* NB: on linux this may simply empty the env as opposed to completely
+ * unset it to being empty - unsure as solartis libc crashes looking
+ * for the '=' char */
+// putenv((char*)"DESKTOP_STARTUP_ID=");
}
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_screen_iterator_t iter;
- xcb_screen_t *screen;
+ xcb_screen_t *screen;
# else
- int screen;
+ int screen;
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
- /* FIXME: this is inefficient as its a round trip */
+ /* FIXME: this is inefficient as its a round trip */
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
- screen = ecore_x_default_screen_get();
+ screen = ecore_x_default_screen_get();
iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
- if (iter.rem > 1)
- {
+ if (iter.rem > 1)
+ {
xcb_get_geometry_cookie_t cookie;
xcb_get_geometry_reply_t *reply;
- Ecore_X_Window *roots;
- int num;
- uint8_t i;
+ Ecore_X_Window *roots;
+ int num;
+ uint8_t i;
- num = 0;
+ num = 0;
cookie = xcb_get_geometry_unchecked(ecore_x_connection_get(), parent);
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
- if (reply)
- {
- for (i = 0; i < num; xcb_screen_next (&iter), i++)
- {
- if (reply->root == roots[i])
- {
- screen = iter.data;
- break;
- }
- }
+ if (reply)
+ {
+ for (i = 0; i < num; xcb_screen_next (&iter), i++)
+ {
+ if (reply->root == roots[i])
+ {
+ screen = iter.data;
+ break;
+ }
+ }
free(reply);
- }
- free(roots);
- }
+ }
+ free(roots);
+ }
else
{
reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
if (reply) free(reply);
}
- }
+ }
# else
- screen = DefaultScreen(ecore_x_display_get());
- if (ScreenCount(ecore_x_display_get()) > 1)
- {
- Ecore_X_Window *roots;
- int num, i;
-
- num = 0;
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
- XWindowAttributes at;
-
- if (XGetWindowAttributes(ecore_x_display_get(),
- parent, &at))
- {
- for (i = 0; i < num; i++)
- {
- if (at.root == roots[i])
- {
- screen = i;
- break;
- }
- }
- }
- free(roots);
- }
- }
+ screen = DefaultScreen(ecore_x_display_get());
+ if (ScreenCount(ecore_x_display_get()) > 1)
+ {
+ Ecore_X_Window *roots;
+ int num, i;
+
+ num = 0;
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
+ XWindowAttributes at;
+
+ if (XGetWindowAttributes(ecore_x_display_get(),
+ parent, &at))
+ {
+ for (i = 0; i < num; i++)
+ {
+ if (at.root == roots[i])
+ {
+ screen = i;
+ break;
+ }
+ }
+ }
+ free(roots);
+ }
+ }
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
- if (redraw_debug < 0)
- {
- if (getenv("REDRAW_DEBUG"))
- redraw_debug = atoi(getenv("REDRAW_DEBUG"));
- else
- redraw_debug = 0;
- }
+ if (redraw_debug < 0)
+ {
+ if (getenv("REDRAW_DEBUG"))
+ redraw_debug = atoi(getenv("REDRAW_DEBUG"));
+ else
+ redraw_debug = 0;
+ }
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB;
- einfo->info.connection = ecore_x_connection_get();
- einfo->info.screen = screen;
+ einfo->info.connection = ecore_x_connection_get();
+ einfo->info.screen = screen;
# else
einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB;
- einfo->info.connection = ecore_x_display_get();
- einfo->info.screen = NULL;
+ einfo->info.connection = ecore_x_display_get();
+ einfo->info.screen = NULL;
#ifdef EVAS_FRAME_QUEUING
{
char *render_mode;
#endif
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
- einfo->info.drawable = ee->prop.window;
- if (argb)
- {
- /* FIXME: round trip */
+ einfo->info.drawable = ee->prop.window;
+ if (argb)
+ {
+ /* FIXME: round trip */
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_get_geometry_cookie_t cookie_geom;
xcb_get_window_attributes_cookie_t cookie_attr;
xcb_get_geometry_reply_t *reply_geom;
xcb_get_window_attributes_reply_t *reply_attr;
- cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
- cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
+ cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+ cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
- if (reply_attr && reply_geom)
- {
+ if (reply_attr && reply_geom)
+ {
einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
- einfo->info.colormap = reply_attr->colormap;
- einfo->info.depth = reply_geom->depth;
- einfo->info.destination_alpha = 1;
+ einfo->info.colormap = reply_attr->colormap;
+ einfo->info.depth = reply_geom->depth;
+ einfo->info.destination_alpha = 1;
free(reply_geom);
free(reply_attr);
- }
+ }
# else
- XWindowAttributes at;
-
- if (XGetWindowAttributes(ecore_x_display_get(), ee->prop.window,
- &at))
- {
- einfo->info.visual = at.visual;
- einfo->info.colormap = at.colormap;
- einfo->info.depth = at.depth;
- einfo->info.destination_alpha = 1;
- }
+ XWindowAttributes at;
+
+ if (XGetWindowAttributes(ecore_x_display_get(), ee->prop.window,
+ &at))
+ {
+ einfo->info.visual = at.visual;
+ einfo->info.colormap = at.colormap;
+ einfo->info.depth = at.depth;
+ einfo->info.destination_alpha = 1;
+ }
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
- }
- else
- {
+ }
+ else
+ {
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_screen_t *screen;
screen = ecore_x_default_screen_get();
- einfo->info.visual = xcb_visualtype_get(screen, screen->root_visual);
- einfo->info.colormap = screen->default_colormap;
- einfo->info.depth = screen->root_depth;
+ einfo->info.visual = xcb_visualtype_get(screen, screen->root_visual);
+ einfo->info.colormap = screen->default_colormap;
+ einfo->info.depth = screen->root_depth;
#else
- einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
- einfo->info.colormap = DefaultColormap(ecore_x_display_get(), screen);
- einfo->info.depth = DefaultDepth(ecore_x_display_get(), screen);
+ einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
+ einfo->info.colormap = DefaultColormap(ecore_x_display_get(), screen);
+ einfo->info.depth = DefaultDepth(ecore_x_display_get(), screen);
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
- einfo->info.destination_alpha = 0;
- }
- einfo->info.rotation = 0;
- einfo->info.debug = redraw_debug;
+ einfo->info.destination_alpha = 0;
+ }
+ einfo->info.rotation = 0;
+ einfo->info.debug = redraw_debug;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
#else
EAPI Ecore_Evas *
ecore_evas_software_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
- int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+ int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
{
return NULL;
}
ee->engine.x.direct_resize = on;
if (ee->prop.avoid_damage)
{
- if (ee->engine.x.direct_resize)
- {
+ if (ee->engine.x.direct_resize)
+ {
/* turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
*/
- }
- else
- {
+ }
+ else
+ {
/* turn this off too- bg pixmap is controlled by avoid damage directly
- ee->engine.x.using_bg_pixmap = 0;
- ecore_x_window_pixmap_set(ee->prop.window, 0);
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ ee->engine.x.using_bg_pixmap = 0;
+ ecore_x_window_pixmap_set(ee->prop.window, 0);
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
*/
- }
+ }
}
}
#else
winp = malloc(sizeof(Ecore_X_Window));
if (winp)
{
- *winp = win;
- ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
+ *winp = win;
+ ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
ecore_x_input_multi_select(win);
- ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
}
}
#else
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
EAPI Ecore_Evas *
ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
- int x, int y, int w, int h)
+ int x, int y, int w, int h)
{
return ecore_evas_gl_x11_options_new(disp_name, parent, x, y, w, h, NULL);
}
{
ee->engine.x.screen_num = 1; /* FIXME: get real scren # */
/* FIXME: round trip in ecore_x_window_argb_get */
- if (ecore_x_window_argb_get(ee->engine.x.win_root))
- {
+ if (ecore_x_window_argb_get(ee->engine.x.win_root))
+ {
ee->prop.window = _ecore_evas_x_gl_window_new
(ee, ee->engine.x.win_root, x, y, w, h, 0, 1, opt);
- }
- else
+ }
+ else
ee->prop.window = _ecore_evas_x_gl_window_new
(ee, ee->engine.x.win_root, x, y, w, h, 0, 0, opt);
}
}
if (getenv("DESKTOP_STARTUP_ID"))
{
- ecore_x_netwm_startup_id_set(ee->prop.window,
- getenv("DESKTOP_STARTUP_ID"));
- /* NB: on linux this may simply empty the env as opposed to completely
- * unset it to being empty - unsure as solartis libc crashes looking
- * for the '=' char */
-// putenv((char*)"DESKTOP_STARTUP_ID=");
+ ecore_x_netwm_startup_id_set(ee->prop.window,
+ getenv("DESKTOP_STARTUP_ID"));
+ /* NB: on linux this may simply empty the env as opposed to completely
+ * unset it to being empty - unsure as solartis libc crashes looking
+ * for the '=' char */
+// putenv((char*)"DESKTOP_STARTUP_ID=");
}
ecore_x_icccm_hints_set(ee->prop.window,
#else
EAPI Ecore_Evas *
ecore_evas_gl_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
- int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+ int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
{
return NULL;
}
einfo->callback.pre_swap = pre_cb;
einfo->callback.pre_swap = post_cb;
einfo->callback.data = data;
- 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);
}
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
EAPI Ecore_Evas *
ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
- int x, int y, int w, int h)
+ int x, int y, int w, int h)
{
Evas_Engine_Info_XRender_X11 *einfo;
Ecore_Evas *ee;
ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
- ecore_x_netwm_startup_id_set(ee->prop.window,
- getenv("DESKTOP_STARTUP_ID"));
- /* NB: on linux this may simply empty the env as opposed to completely
- * unset it to being empty - unsure as solartis libc crashes looking
- * for the '=' char */
-// putenv((char*)"DESKTOP_STARTUP_ID=");
+ ecore_x_netwm_startup_id_set(ee->prop.window,
+ getenv("DESKTOP_STARTUP_ID"));
+ /* NB: on linux this may simply empty the env as opposed to completely
+ * unset it to being empty - unsure as solartis libc crashes looking
+ * for the '=' char */
+// putenv((char*)"DESKTOP_STARTUP_ID=");
}
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
xcb_screen_iterator_t iter;
- xcb_screen_t *screen;
+ xcb_screen_t *screen;
- /* FIXME: this is inefficient as its a round trip */
- screen = ecore_x_default_screen_get();
+ /* FIXME: this is inefficient as its a round trip */
+ screen = ecore_x_default_screen_get();
iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
- if (iter.rem > 1)
- {
+ if (iter.rem > 1)
+ {
xcb_get_geometry_cookie_t cookie;
xcb_get_geometry_reply_t *reply;
- Ecore_X_Window *roots;
- int num;
- uint8_t i;
+ Ecore_X_Window *roots;
+ int num;
+ uint8_t i;
- num = 0;
+ num = 0;
cookie = xcb_get_geometry_unchecked(ecore_x_connection_get(), parent);
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
- if (reply)
- {
- for (i = 0; i < num; xcb_screen_next (&iter), i++)
- {
- if (reply->root == roots[i])
- {
- screen = iter.data;
- break;
- }
- }
+ if (reply)
+ {
+ for (i = 0; i < num; xcb_screen_next (&iter), i++)
+ {
+ if (reply->root == roots[i])
+ {
+ screen = iter.data;
+ break;
+ }
+ }
free(reply);
- }
- free(roots);
- }
+ }
+ free(roots);
+ }
else
{
reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
if (reply) free(reply);
}
- }
- einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB;
- einfo->info.connection = ecore_x_connection_get();
- einfo->info.screen = screen;
- einfo->info.visual = screen->root_visual;
+ }
+ einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB;
+ einfo->info.connection = ecore_x_connection_get();
+ einfo->info.screen = screen;
+ einfo->info.visual = screen->root_visual;
# elif BUILD_ECORE_EVAS_XRENDER_X11
- int screen;
-
- /* FIXME: this is inefficient as its a round trip */
- screen = DefaultScreen(ecore_x_display_get());
- if (ScreenCount(ecore_x_display_get()) > 1)
- {
- Ecore_X_Window *roots;
- int num, i;
-
- num = 0;
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
- XWindowAttributes at;
-
- if (XGetWindowAttributes(ecore_x_display_get(),
- parent, &at))
- {
- for (i = 0; i < num; i++)
- {
- if (at.root == roots[i])
- {
- screen = i;
- break;
- }
- }
- }
- free(roots);
- }
- }
- einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB;
- einfo->info.connection = ecore_x_display_get();
- einfo->info.screen = NULL;
- einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
+ int screen;
+
+ /* FIXME: this is inefficient as its a round trip */
+ screen = DefaultScreen(ecore_x_display_get());
+ if (ScreenCount(ecore_x_display_get()) > 1)
+ {
+ Ecore_X_Window *roots;
+ int num, i;
+
+ num = 0;
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
+ XWindowAttributes at;
+
+ if (XGetWindowAttributes(ecore_x_display_get(),
+ parent, &at))
+ {
+ for (i = 0; i < num; i++)
+ {
+ if (at.root == roots[i])
+ {
+ screen = i;
+ break;
+ }
+ }
+ }
+ free(roots);
+ }
+ }
+ einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB;
+ einfo->info.connection = ecore_x_display_get();
+ einfo->info.screen = NULL;
+ einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
# endif /* BUILD_ECORE_EVAS_XRENDER_(XCB|X11) */
- einfo->info.drawable = ee->prop.window;
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ einfo->info.drawable = ee->prop.window;
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
ecore_evas_free(ee);
if (parent != 0)
{
/* FIXME: round trip in ecore_x_window_argb_get */
- if (ecore_x_window_argb_get(parent))
- {
- ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
- }
- else
- ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
+ if (ecore_x_window_argb_get(parent))
+ {
+ ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
+ }
+ else
+ ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
}
else
ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
- ecore_x_netwm_startup_id_set(ee->prop.window,
- getenv("DESKTOP_STARTUP_ID"));
- /* NB: on linux this may simply empty the env as opposed to completely
- * unset it to being empty - unsure as solartis libc crashes looking
- * for the '=' char */
-// putenv((char*)"DESKTOP_STARTUP_ID=");
+ ecore_x_netwm_startup_id_set(ee->prop.window,
+ getenv("DESKTOP_STARTUP_ID"));
+ /* NB: on linux this may simply empty the env as opposed to completely
+ * unset it to being empty - unsure as solartis libc crashes looking
+ * for the '=' char */
+// putenv((char*)"DESKTOP_STARTUP_ID=");
}
einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
- if (ScreenCount(ecore_x_display_get()) > 1)
- {
- Ecore_X_Window *roots;
- int num, i;
-
- num = 0;
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
- XWindowAttributes at;
-
- if (XGetWindowAttributes(ecore_x_display_get(),
- parent, &at))
- {
- for (i = 0; i < num; i++)
- {
- if (at.root == roots[i])
- break;
- }
- }
- free(roots);
- }
- }
-
- if (redraw_debug < 0)
- {
- if (getenv("REDRAW_DEBUG"))
- redraw_debug = atoi(getenv("REDRAW_DEBUG"));
- else
- redraw_debug = 0;
- }
- einfo->info.display = ecore_x_display_get();
- einfo->info.drawable = ee->prop.window;
-
- if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+ if (ScreenCount(ecore_x_display_get()) > 1)
+ {
+ Ecore_X_Window *roots;
+ int num, i;
+
+ num = 0;
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
+ XWindowAttributes at;
+
+ if (XGetWindowAttributes(ecore_x_display_get(),
+ parent, &at))
+ {
+ for (i = 0; i < num; i++)
+ {
+ if (at.root == roots[i])
+ break;
+ }
+ }
+ free(roots);
+ }
+ }
+
+ if (redraw_debug < 0)
+ {
+ if (getenv("REDRAW_DEBUG"))
+ redraw_debug = atoi(getenv("REDRAW_DEBUG"));
+ else
+ redraw_debug = 0;
+ }
+ einfo->info.display = ecore_x_display_get();
+ einfo->info.drawable = ee->prop.window;
+
+ if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
ecore_evas_free(ee);
ee->engine.x.direct_resize = on;
if (ee->prop.avoid_damage)
{
- if (ee->engine.x.direct_resize)
- {
+ if (ee->engine.x.direct_resize)
+ {
/* turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
*/
- }
- else
- {
+ }
+ else
+ {
/* turn this off too- bg pixmap is controlled by avoid damage directly
- ee->engine.x.using_bg_pixmap = 0;
- ecore_x_window_pixmap_set(ee->prop.window, 0);
- ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
+ ee->engine.x.using_bg_pixmap = 0;
+ ecore_x_window_pixmap_set(ee->prop.window, 0);
+ ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
*/
- }
+ }
}
}
#else
winp = malloc(sizeof(Ecore_X_Window));
if (winp)
{
- *winp = win;
- ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
+ *winp = win;
+ ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
ecore_x_input_multi_select(win);
- ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
}
}
#else
// if (parent != 0)
// {
// /* FIXME: round trip in ecore_x_window_argb_get */
- // if (ecore_x_window_argb_get(parent))
- // {
- // ee->engine.x.win = ecore_x_window_argb_new(parent, x, y, w, h);
- // argb = 1;
- // }
- // else
- // ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+ // if (ecore_x_window_argb_get(parent))
+ // {
+ // ee->engine.x.win = ecore_x_window_argb_new(parent, x, y, w, h);
+ // argb = 1;
+ // }
+ // else
+ // ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
// }
// else
ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
if (getenv("DESKTOP_STARTUP_ID"))
{
- ecore_x_netwm_startup_id_set(ee->prop.window,
- getenv("DESKTOP_STARTUP_ID"));
- /* NB: on linux this may simply empty the env as opposed to completely
- * unset it to being empty - unsure as solartis libc crashes looking
- * for the '=' char */
- // putenv((char*)"DESKTOP_STARTUP_ID=");
+ ecore_x_netwm_startup_id_set(ee->prop.window,
+ getenv("DESKTOP_STARTUP_ID"));
+ /* NB: on linux this may simply empty the env as opposed to completely
+ * unset it to being empty - unsure as solartis libc crashes looking
+ * for the '=' char */
+ // putenv((char*)"DESKTOP_STARTUP_ID=");
}
einfo = (Evas_Engine_Info_Software_8_X11 *)evas_engine_info_get(ee->evas);
if (einfo)
{
- xcb_screen_iterator_t iter;
- xcb_screen_t *screen;
-
- /* FIXME: this is inefficient as its a round trip */
- //einfo->info.backend = 1;
- screen = ecore_x_default_screen_get();
- iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
- if (iter.rem > 1)
- {
- xcb_get_geometry_cookie_t cookie;
- xcb_get_geometry_reply_t *reply;
- Ecore_X_Window *roots;
- int num;
- uint8_t i;
-
- num = 0;
- cookie = xcb_get_geometry_unchecked(ecore_x_connection_get(), parent);
- roots = ecore_x_window_root_list(&num);
- if (roots)
- {
- reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
-
- if (reply)
- {
- for (i = 0; i < num; xcb_screen_next (&iter), i++)
- {
- if (reply->root == roots[i])
- {
- screen = iter.data;
- break;
- }
- }
- free(reply);
- }
- free(roots);
- }
- else
- {
- reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
- if (reply) free(reply);
- }
- }
-
- if (redraw_debug < 0)
- {
- if (getenv("REDRAW_DEBUG"))
- redraw_debug = atoi(getenv("REDRAW_DEBUG"));
- else
- redraw_debug = 0;
- }
- einfo->info.connection = ecore_x_connection_get();
- einfo->info.screen = screen;
- einfo->info.drawable = ee->prop.window;
- if (argb)
- {
- /* FIXME: round trip */
- xcb_get_geometry_cookie_t cookie_geom;
- xcb_get_window_attributes_cookie_t cookie_attr;
- xcb_get_geometry_reply_t *reply_geom;
- xcb_get_window_attributes_reply_t *reply_attr;
-
- cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
- cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
-
- reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
- reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
- if (reply_attr && reply_geom)
- {
- einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
- einfo->info.colormap = reply_attr->colormap;
- einfo->info.depth = reply_geom->depth;
- einfo->info.destination_alpha = 1;
- free(reply_geom);
- free(reply_attr);
- }
- }
- else
- {
- xcb_screen_t *screen;
-
- screen = ecore_x_default_screen_get();
- einfo->info.visual = xcb_visualtype_get(screen, screen->root_visual);
- einfo->info.colormap = screen->default_colormap;
- einfo->info.depth = screen->root_depth;
- einfo->info.destination_alpha = 0;
- }
- einfo->info.rotation = 0;
- einfo->info.debug = redraw_debug;
+ xcb_screen_iterator_t iter;
+ xcb_screen_t *screen;
+
+ /* FIXME: this is inefficient as its a round trip */
+ //einfo->info.backend = 1;
+ screen = ecore_x_default_screen_get();
+ iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
+ if (iter.rem > 1)
+ {
+ xcb_get_geometry_cookie_t cookie;
+ xcb_get_geometry_reply_t *reply;
+ Ecore_X_Window *roots;
+ int num;
+ uint8_t i;
+
+ num = 0;
+ cookie = xcb_get_geometry_unchecked(ecore_x_connection_get(), parent);
+ roots = ecore_x_window_root_list(&num);
+ if (roots)
+ {
+ reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
+
+ if (reply)
+ {
+ for (i = 0; i < num; xcb_screen_next (&iter), i++)
+ {
+ if (reply->root == roots[i])
+ {
+ screen = iter.data;
+ break;
+ }
+ }
+ free(reply);
+ }
+ free(roots);
+ }
+ else
+ {
+ reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
+ if (reply) free(reply);
+ }
+ }
+
+ if (redraw_debug < 0)
+ {
+ if (getenv("REDRAW_DEBUG"))
+ redraw_debug = atoi(getenv("REDRAW_DEBUG"));
+ else
+ redraw_debug = 0;
+ }
+ einfo->info.connection = ecore_x_connection_get();
+ einfo->info.screen = screen;
+ einfo->info.drawable = ee->prop.window;
+ if (argb)
+ {
+ /* FIXME: round trip */
+ xcb_get_geometry_cookie_t cookie_geom;
+ xcb_get_window_attributes_cookie_t cookie_attr;
+ xcb_get_geometry_reply_t *reply_geom;
+ xcb_get_window_attributes_reply_t *reply_attr;
+
+ cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+ cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
+
+ reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
+ reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
+ if (reply_attr && reply_geom)
+ {
+ einfo->info.visual = xcb_visualtype_get(ecore_x_default_screen_get(), reply_attr->visual);
+ einfo->info.colormap = reply_attr->colormap;
+ einfo->info.depth = reply_geom->depth;
+ einfo->info.destination_alpha = 1;
+ free(reply_geom);
+ free(reply_attr);
+ }
+ }
+ else
+ {
+ xcb_screen_t *screen;
+
+ screen = ecore_x_default_screen_get();
+ einfo->info.visual = xcb_visualtype_get(screen, screen->root_visual);
+ einfo->info.colormap = screen->default_colormap;
+ einfo->info.depth = screen->root_depth;
+ einfo->info.destination_alpha = 0;
+ }
+ einfo->info.rotation = 0;
+ einfo->info.debug = redraw_debug;
if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
{
ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
ee->engine.x.direct_resize = on;
if (ee->prop.avoid_damage)
{
- if (ee->engine.x.direct_resize)
- {
- /* turn this off for now
- ee->engine.x.using_bg_pixmap = 1;
- ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
- */
- }
- else
- {
- /* turn this off too- bg pixmap is controlled by avoid damage directly
- ee->engine.x.using_bg_pixmap = 0;
- ecore_x_window_pixmap_set(ee->engine.x.win, 0);
- ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
- */
- }
+ if (ee->engine.x.direct_resize)
+ {
+ /* turn this off for now
+ ee->engine.x.using_bg_pixmap = 1;
+ ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
+ */
+ }
+ else
+ {
+ /* turn this off too- bg pixmap is controlled by avoid damage directly
+ ee->engine.x.using_bg_pixmap = 0;
+ ecore_x_window_pixmap_set(ee->engine.x.win, 0);
+ ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
+ */
+ }
}
#else
return;
winp = malloc(sizeof(Ecore_X_Window));
if (winp)
{
- *winp = win;
- ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
+ *winp = win;
+ ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
ecore_x_input_multi_select(win);
- ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
+ ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
}
#else
return;