if (bdata->image) return;
if (ee->prop.focused) return;
ee->prop.focused = EINA_TRUE;
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
evas_focus_in(ee->evas);
if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
}
Ecore_Evas *ee;
ee = data;
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
}
Ecore_Evas *ee;
ee = data;
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 0;
if (ee->func.fn_hide) ee->func.fn_hide(ee);
}
ee->prop.override = EINA_TRUE;
ee->prop.maximized = EINA_FALSE;
ee->prop.fullscreen = EINA_FALSE;
- ee->prop.withdrawn = EINA_FALSE;
+ ee->prop.withdrawn = EINA_TRUE;
ee->prop.sticky = EINA_FALSE;
/* init evas here */
ee->prop.request_pos = EINA_FALSE;
ee->prop.sticky = EINA_FALSE;
ee->prop.window = 0;
+ ee->prop.withdrawn = EINA_TRUE;
printf("Create New Evas\n");
ee->prop.layer = 4;
ee->prop.request_pos = 0;
ee->prop.sticky = 0;
+ ee->prop.withdrawn = EINA_TRUE;
ee->alpha = EINA_FALSE;
ee->can_async_render = 1;
ee->prop.layer = 4;
ee->prop.request_pos = 0;
ee->prop.sticky = 0;
+ ee->prop.withdrawn = EINA_TRUE;
ee->alpha = EINA_FALSE;
ee->can_async_render = 1;
{
if ((!ee) || (ee->visible)) return;
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
}
{
if ((!ee) || (!ee->visible)) return;
evas_sync(ee->evas);
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 0;
ee->should_be_visible = 0;
if (ee->func.fn_hide) ee->func.fn_hide(ee);
ee->prop.override = EINA_TRUE;
ee->prop.maximized = EINA_FALSE;
ee->prop.fullscreen = EINA_FALSE;
- ee->prop.withdrawn = EINA_FALSE;
+ ee->prop.withdrawn = EINA_TRUE;
ee->prop.sticky = EINA_FALSE;
bdata->image = o;
case OP_SHOW:
if (!ee->visible)
{
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
}
case OP_HIDE:
if (ee->visible)
{
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 0;
if (ee->func.fn_hide) ee->func.fn_hide(ee);
}
_ecore_evas_show(Ecore_Evas *ee)
{
if (ee->prop.focused) return;
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->prop.focused = EINA_TRUE;
evas_focus_in(ee->evas);
if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
static void
_ecore_evas_hide(Ecore_Evas *ee)
{
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
if (ee->prop.focused)
{
ee->prop.focused = EINA_FALSE;
ee->prop.override = EINA_TRUE;
ee->prop.maximized = EINA_TRUE;
ee->prop.fullscreen = EINA_FALSE;
- ee->prop.withdrawn = EINA_FALSE;
+ ee->prop.withdrawn = EINA_TRUE;
ee->prop.sticky = EINA_FALSE;
/* init evas here */
static void
_ecore_evas_show(Ecore_Evas *ee)
{
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
if (ee->prop.focused) return;
ee->prop.focused = EINA_TRUE;
evas_focus_in(ee->evas);
ee->prop.override = EINA_TRUE;
ee->prop.maximized = EINA_TRUE;
ee->prop.fullscreen = EINA_FALSE;
- ee->prop.withdrawn = EINA_FALSE;
+ ee->prop.withdrawn = EINA_TRUE;
ee->prop.sticky = EINA_FALSE;
ee->prop.window = 0;
static void
_ecore_evas_show(Ecore_Evas *ee)
{
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
if (ee->prop.focused) return;
ee->prop.focused = EINA_TRUE;
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
ee->prop.override = EINA_TRUE;
ee->prop.maximized = EINA_TRUE;
ee->prop.fullscreen = fullscreen;
- ee->prop.withdrawn = EINA_FALSE;
+ ee->prop.withdrawn = EINA_TRUE;
ee->prop.sticky = EINA_FALSE;
ee->prop.window = 0;
ee->alpha = alpha;
ee->prop.request_pos = EINA_FALSE;
ee->prop.sticky = EINA_FALSE;
ee->prop.draw_frame = frame;
+ ee->prop.withdrawn = EINA_TRUE;
ee->alpha = EINA_FALSE;
/* NB: Disabled for right now as it causes textgrid (terminology)
evas_object_resize(wdata->frame, ee->w + fw, ee->h + fh);
}
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
}
if (wdata->win)
ecore_wl_window_hide(wdata->win);
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 0;
ee->should_be_visible = 0;
_ecore_evas_wl_common_frame_callback_clean(ee);
ee->prop.request_pos = EINA_FALSE;
ee->prop.sticky = EINA_FALSE;
ee->prop.draw_frame = frame;
+ ee->prop.withdrawn = EINA_TRUE;
ee->alpha = EINA_FALSE;
if (getenv("ECORE_EVAS_FORCE_SYNC_RENDER"))
evas_object_resize(wdata->frame, ee->w + fw, ee->h + fh);
}
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
}
if (wdata->win)
ecore_wl_window_hide(wdata->win);
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
ee->visible = 0;
ee->should_be_visible = 0;
_ecore_evas_wl_common_frame_callback_clean(ee);
ee = ecore_event_window_match((Ecore_Window)e->window);
if (!ee) return 1; /* pass on event */
if ((Ecore_Window)e->window != ee->prop.window) return 1;
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
if (ee->visible) return 0; /* dont pass it on */
ee->visible = 1;
if (ee->func.fn_show) ee->func.fn_show(ee);
ee = ecore_event_window_match((Ecore_Window)e->window);
if (!ee) return 1; /* pass on event */
if ((Ecore_Window)e->window != ee->prop.window) return 1;
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
if (!ee->visible) return 0; /* dont pass it on */
ee->visible = 0;
if (ee->func.fn_hide) ee->func.fn_hide(ee);
ee->prop.sticky = EINA_FALSE;
/* FIXME: sticky to add */
ee->prop.window = 0;
+ ee->prop.withdrawn = EINA_TRUE;
/* init evas here */
ee->evas = evas_new();
}
if ((first_map_bug) && (!strcmp(ee->driver, "opengl_x11")))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
+ if (ee->prop.override)
+ {
+ ee->prop.withdrawn = EINA_FALSE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
+ }
if (ee->visible) return ECORE_CALLBACK_PASS_ON;
// if (ee->visible) return ECORE_CALLBACK_DONE;
// printf("SHOW EVENT %p\n", ee);
if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
ee->in = EINA_FALSE;
}
+ if (ee->prop.override)
+ {
+ ee->prop.withdrawn = EINA_TRUE;
+ if (ee->func.fn_state_change) ee->func.fn_state_change(ee);
+ }
if (!ee->visible) return ECORE_CALLBACK_PASS_ON;
// if (!ee->visible) return ECORE_CALLBACK_DONE;
// printf("HIDE EVENT %p\n", ee);
ee->prop.layer = 4;
ee->prop.request_pos = EINA_FALSE;
ee->prop.sticky = 0;
+ ee->prop.withdrawn = EINA_TRUE;
edata->state.sticky = 0;
if (getenv("ECORE_EVAS_FORCE_SYNC_RENDER"))
ee->prop.layer = 4;
ee->prop.request_pos = EINA_FALSE;
ee->prop.sticky = 0;
+ ee->prop.withdrawn = EINA_TRUE;
edata->state.sticky = 0;
/* init evas here */