parent
695b9f3805
commit
ee3ae8e835
|
@ -1998,6 +1998,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
|
||||||
#ifdef BUILD_ECORE_X
|
#ifdef BUILD_ECORE_X
|
||||||
Evas_Engine_Info_Software_X11 *einfo;
|
Evas_Engine_Info_Software_X11 *einfo;
|
||||||
Ecore_Evas *ee;
|
Ecore_Evas *ee;
|
||||||
|
int argb = 0;
|
||||||
int rmethod;
|
int rmethod;
|
||||||
static int redraw_debug = -1;
|
static int redraw_debug = -1;
|
||||||
|
|
||||||
|
@ -2036,7 +2037,18 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, w, h);
|
evas_output_viewport_set(ee->evas, 0, 0, w, h);
|
||||||
|
|
||||||
ee->engine.x.win_root = parent;
|
ee->engine.x.win_root = parent;
|
||||||
ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
|
if (parent != 0)
|
||||||
|
{
|
||||||
|
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->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
|
||||||
if (getenv("DESKTOP_STARTUP_ID"))
|
if (getenv("DESKTOP_STARTUP_ID"))
|
||||||
{
|
{
|
||||||
ecore_x_netwm_startup_id_set(ee->engine.x.win,
|
ecore_x_netwm_startup_id_set(ee->engine.x.win,
|
||||||
|
@ -2088,10 +2100,27 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
|
||||||
redraw_debug = 0;
|
redraw_debug = 0;
|
||||||
}
|
}
|
||||||
einfo->info.display = ecore_x_display_get();
|
einfo->info.display = ecore_x_display_get();
|
||||||
einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
|
|
||||||
einfo->info.colormap = DefaultColormap(ecore_x_display_get(), screen);
|
|
||||||
einfo->info.drawable = ee->engine.x.win;
|
einfo->info.drawable = ee->engine.x.win;
|
||||||
einfo->info.depth = DefaultDepth(ecore_x_display_get(), screen);
|
if (argb)
|
||||||
|
{
|
||||||
|
XWindowAttributes at;
|
||||||
|
|
||||||
|
if (XGetWindowAttributes(ecore_x_display_get(), ee->engine.x.win,
|
||||||
|
&at))
|
||||||
|
{
|
||||||
|
einfo->info.visual = at.visual;
|
||||||
|
einfo->info.colormap = at.colormap;
|
||||||
|
einfo->info.depth = at.depth;
|
||||||
|
einfo->info.destination_alpha = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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.destination_alpha = 0;
|
||||||
|
}
|
||||||
einfo->info.rotation = 0;
|
einfo->info.rotation = 0;
|
||||||
einfo->info.debug = redraw_debug;
|
einfo->info.debug = redraw_debug;
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
|
|
Loading…
Reference in New Issue