aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/elementary/src/lib/elm_win.c
diff options
context:
space:
mode:
authorDoyoun Kang <doyoun.kang@samsung.com>2012-09-14 13:06:57 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-09-14 13:06:57 +0000
commit2e8cbfe9b43220a88b1024a1fe412bc0009e28d4 (patch)
tree612f573f633922c0d5d1583d8f8f4621963f6398 /legacy/elementary/src/lib/elm_win.c
parentfix chglog person (diff)
downloadefl-2e8cbfe9b43220a88b1024a1fe412bc0009e28d4.tar.gz
From: Doyoun Kang <doyoun.kang@samsung.com>
Subject: [E-devel] [patch] Add APIs for floating mode I added APIs for supporting the floating mode - elm_win_floating_mode_set, elm_win_floating_mode_get. The floating mode will be used on mobile environment. For example, if the video-player window set the floating mode, then e (enlightenment window manager) changes it's geometry and handles it like a popup. Please check these APIs and give an advice for me. SVN revision: 76667
Diffstat (limited to 'legacy/elementary/src/lib/elm_win.c')
-rw-r--r--legacy/elementary/src/lib/elm_win.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c
index 28d6c85b41..ae0ecde8e0 100644
--- a/legacy/elementary/src/lib/elm_win.c
+++ b/legacy/elementary/src/lib/elm_win.c
@@ -144,6 +144,7 @@ struct _Elm_Win_Smart_Data
Eina_Bool fullscreen : 1;
Eina_Bool maximized : 1;
Eina_Bool skip_focus : 1;
+ Eina_Bool floating : 1;
};
static const char SIG_DELETE_REQUEST[] = "delete,request";
@@ -4035,3 +4036,35 @@ elm_win_trap_set(const Elm_Win_Trap *t)
trap = t;
return EINA_TRUE;
}
+
+EAPI void
+elm_win_floating_mode_set(Evas_Object *obj, Eina_Bool floating)
+{
+ ELM_WIN_CHECK(obj);
+ ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+
+ if (floating == sd->floating) return;
+ sd->floating = floating;
+#ifdef HAVE_ELEMENTARY_X
+ _elm_win_xwindow_get(sd);
+ if (sd->x.xwin)
+ {
+ if (sd->floating)
+ ecore_x_e_illume_window_state_set
+ (sd->x.xwin, ECORE_X_ILLUME_WINDOW_STATE_FLOATING);
+ else
+ ecore_x_e_illume_window_state_set
+ (sd->x.xwin, ECORE_X_ILLUME_WINDOW_STATE_NORMAL);
+ }
+#endif
+}
+
+EAPI Eina_Bool
+elm_win_floating_mode_get(const Evas_Object *obj)
+{
+ ELM_WIN_CHECK(obj) EINA_FALSE;
+ ELM_WIN_DATA_GET_OR_RETURN_VAL(obj, sd, EINA_FALSE);
+
+ return sd->floating;
+}
+