forked from enlightenment/efl
elm/wayland: Implement borderless_set for wayland.
Also add a checkbox to the "Window States" test of elementary_test.
This commit is contained in:
parent
267462dd00
commit
9768137b79
|
@ -120,6 +120,14 @@ my_ck_38_fullscreen(void *data, Evas_Object *obj, void *event_info __UNUSED__)
|
||||||
elm_win_fullscreen_set(win, fullscreen);
|
elm_win_fullscreen_set(win, fullscreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
my_ck_38_borderless(void *data, Evas_Object *obj, void *event_info __UNUSED__)
|
||||||
|
{
|
||||||
|
Evas_Object *win = data;
|
||||||
|
Eina_Bool borderless = elm_check_state_get(obj);
|
||||||
|
elm_win_borderless_set(win, borderless);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
my_win_move(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
my_win_move(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
||||||
{
|
{
|
||||||
|
@ -258,6 +266,15 @@ test_win_state(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i
|
||||||
evas_object_show(ck);
|
evas_object_show(ck);
|
||||||
elm_box_pack_end(bx, ck);
|
elm_box_pack_end(bx, ck);
|
||||||
|
|
||||||
|
ck = elm_check_add(win);
|
||||||
|
elm_object_text_set(ck, "borderless");
|
||||||
|
elm_check_state_set(ck, fullscreen);
|
||||||
|
evas_object_smart_callback_add(ck, "changed", my_ck_38_borderless, win);
|
||||||
|
evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(ck, 0.02, 0.99);
|
||||||
|
evas_object_show(ck);
|
||||||
|
elm_box_pack_end(bx, ck);
|
||||||
|
|
||||||
bx2 = elm_box_add(win);
|
bx2 = elm_box_add(win);
|
||||||
elm_box_horizontal_set(bx2, EINA_TRUE);
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
||||||
elm_box_homogeneous_set(bx2, EINA_TRUE);
|
elm_box_homogeneous_set(bx2, EINA_TRUE);
|
||||||
|
|
|
@ -2313,6 +2313,7 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd,
|
||||||
const char *style)
|
const char *style)
|
||||||
{
|
{
|
||||||
Evas_Object *obj = sd->obj;
|
Evas_Object *obj = sd->obj;
|
||||||
|
int w, h;
|
||||||
short layer;
|
short layer;
|
||||||
|
|
||||||
// FIXME: Don't use hardcoded framespace values, get it from theme
|
// FIXME: Don't use hardcoded framespace values, get it from theme
|
||||||
|
@ -2352,11 +2353,15 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd,
|
||||||
edje_object_part_text_escaped_set
|
edje_object_part_text_escaped_set
|
||||||
(sd->frame_obj, "elm.text.title", sd->title);
|
(sd->frame_obj, "elm.text.title", sd->title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h);
|
||||||
|
ecore_evas_resize(sd->ee, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_win_frame_del(Elm_Win_Smart_Data *sd)
|
_elm_win_frame_del(Elm_Win_Smart_Data *sd)
|
||||||
{
|
{
|
||||||
|
int w, h;
|
||||||
if (sd->frame_obj)
|
if (sd->frame_obj)
|
||||||
{
|
{
|
||||||
edje_object_signal_callback_del
|
edje_object_signal_callback_del
|
||||||
|
@ -2384,6 +2389,10 @@ _elm_win_frame_del(Elm_Win_Smart_Data *sd)
|
||||||
evas_object_del(sd->frame_obj);
|
evas_object_del(sd->frame_obj);
|
||||||
sd->frame_obj = NULL;
|
sd->frame_obj = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
|
||||||
|
ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h);
|
||||||
|
ecore_evas_resize(sd->ee, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ELM_DEBUG
|
#ifdef ELM_DEBUG
|
||||||
|
@ -3330,6 +3339,21 @@ _borderless_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
|
||||||
Eina_Bool borderless = va_arg(*list, int);
|
Eina_Bool borderless = va_arg(*list, int);
|
||||||
Elm_Win_Smart_Data *sd = _pd;
|
Elm_Win_Smart_Data *sd = _pd;
|
||||||
|
|
||||||
|
if (borderless)
|
||||||
|
{
|
||||||
|
if (EE_ENGINE_COMPARE(sd->ee, ELM_WAYLAND_SHM) ||
|
||||||
|
EE_ENGINE_COMPARE(sd->ee, ELM_WAYLAND_EGL))
|
||||||
|
_elm_win_frame_del(sd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (EE_ENGINE_COMPARE(sd->ee, ELM_WAYLAND_SHM) ||
|
||||||
|
EE_ENGINE_COMPARE(sd->ee, ELM_WAYLAND_EGL))
|
||||||
|
_elm_win_frame_add(sd, "default");
|
||||||
|
|
||||||
|
evas_object_show(sd->frame_obj);
|
||||||
|
}
|
||||||
|
|
||||||
TRAP(sd, borderless_set, borderless);
|
TRAP(sd, borderless_set, borderless);
|
||||||
#ifdef HAVE_ELEMENTARY_X
|
#ifdef HAVE_ELEMENTARY_X
|
||||||
_elm_win_xwin_update(sd);
|
_elm_win_xwin_update(sd);
|
||||||
|
|
Loading…
Reference in New Issue