From 3046b8ac4c30c8a6fc27337005056b4e5c678b08 Mon Sep 17 00:00:00 2001 From: Ji-Youn Park Date: Thu, 19 May 2016 17:19:40 +0830 Subject: [PATCH] elm_win: add elm_win_indcator_overlap mode into window's eo. elm_window will be changed to control layout related with conformant. one of features is overlap between indicator and layout. --- src/lib/elementary/elm_win.c | 14 +++++++ src/lib/elementary/elm_win.eo | 74 +++++++++++++++++++++++------------ 2 files changed, 64 insertions(+), 24 deletions(-) diff --git a/src/lib/elementary/elm_win.c b/src/lib/elementary/elm_win.c index 4fa67c9be0..9a49dc154b 100644 --- a/src/lib/elementary/elm_win.c +++ b/src/lib/elementary/elm_win.c @@ -5172,6 +5172,20 @@ _elm_win_indicator_opacity_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd) return sd->ind_o_mode; } +EOLIAN static void +_elm_win_indicator_overlap_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED, Elm_Win_Indicator_Overlap_Mode mode EINA_UNUSED) +{ + //TODO: this mode will be implemented after removing the conformant. + return; +} + +EOLIAN static Elm_Win_Indicator_Overlap_Mode +_elm_win_indicator_overlap_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd EINA_UNUSED) +{ + //TODO: this mode will be implemented after removing the conformant. + return ELM_WIN_INDICATOR_OVERLAP_UNKNOWN; +} + EOLIAN static void _elm_win_screen_position_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, int *x, int *y) { diff --git a/src/lib/elementary/elm_win.eo b/src/lib/elementary/elm_win.eo index 428cac41da..469d9dfbcb 100644 --- a/src/lib/elementary/elm_win.eo +++ b/src/lib/elementary/elm_win.eo @@ -104,8 +104,9 @@ enum Elm.Win.Indicator_Mode Sometimes you don't want it because you provide the same functionality inside your app, so this will request that the indicator is hidden in - this circumstance if you use ELM_ILLUME_INDICATOR_HIDE. The default - is to have the indicator shown. + this circumstance. The default is depend on the environments. + For example, like phones, default is to have the indicator shown. + But like TV, default is to have the indicator hidden. ]] legacy: elm_win_indicator; @@ -126,6 +127,20 @@ enum Elm.Win.Indicator_Opacity_Mode transparent [[Transparentizes the indicator]] } +enum Elm.Win.Indicator_Overlap_Mode +{ + [[Defines the overlap modes of indicator that can be shown. + Using this mode, user can determine whether the content of window + overlaps with indicator or not.]] + legacy: elm_win_indicator; + + overlap_unknown, [[Unknown indicator overlap mode]] + overlap, [[Indicator can be overlapped with the content of window. + Content can be placed under the indicator in z-order.]] + nooverlap, [[Indicator can not be overlapped with the content of window. + The Y coordinate of content is same as (Y coordinate of indicator + indicator height)]] +} + /** */ enum Elm.Win.Keygrab_Mode @@ -168,6 +183,39 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window, eo_prefix: elm_obj_win; event_prefix: elm_win; methods { + @property indicator_mode { + set { + [[Sets the indicator mode of the window.]] + } + get { + [[Get the indicator mode of the window.]] + } + values { + mode: Elm.Win.Indicator_Mode; [[The mode, one of #Elm_Win_Indicator_Mode.]] + } + } + @property indicator_opacity { + set { + [[Sets the indicator opacity mode of the window.]] + } + get { + [[Get the indicator opacity mode of the window.]] + } + values { + mode: Elm.Win.Indicator_Opacity_Mode; [[The mode, one of #Elm_Win_Indicator_Opacity_Mode.]] + } + } + @property indicator_overlap { + set { + [[Sets the indicator overlap mode of the window.]] + } + get { + [[Get the indicator overlap mode of the window.]] + } + values { + mode: Elm.Win.Indicator_Overlap_Mode; [[The mode, one of #Elm_Win_Indicator_Overlap_Mode.]] + } + } @property keyboard_win { set { [[Sets whether the window is a keyboard.]] @@ -614,17 +662,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window, otherwise it is width divided by height.]] } } - @property indicator_opacity { - set { - [[Sets the indicator opacity mode of the window.]] - } - get { - [[Get the indicator opacity mode of the window.]] - } - values { - mode: Elm.Win.Indicator_Opacity_Mode; [[The mode, one of #Elm_Win_Indicator_Opacity_Mode.]] - } - } @property demand_attention { set { [[Set the demand_attention state of a window.]] @@ -758,17 +795,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window, set: bool; [[$true to set manual rotation done mode, $false otherwise.]] } } - @property indicator_mode { - set { - [[Sets the indicator mode of the window.]] - } - get { - [[Get the indicator mode of the window.]] - } - values { - mode: Elm.Win.Indicator_Mode; [[The mode, one of #Elm_Win_Indicator_Mode.]] - } - } @property conformant { set { [[Set if this window is an illume conformant window.]]