zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e3fa213d100ddb733d66830bb72525df07813c2b

commit e3fa213d100ddb733d66830bb72525df07813c2b
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Mar 4 13:37:24 2019 -0500

    efl.ui.win: remove all legacy types and functions from eo file
    
    Summary:
    most of the eo methods here will be marked beta, preventing them from
    generating legacy code
    
    ref T7511
    Depends on D8082
    
    Reviewers: cedric
    
    Reviewed By: cedric
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl_api
    
    Maniphest Tasks: T7511
    
    Differential Revision: https://phab.enlightenment.org/D8083
---
 src/bin/elementary/test_efl_ui_text.c              |   8 +-
 src/bin/elementary/test_photocam.c                 |   2 +-
 src/bin/elementary/test_ui_button.c                |   2 +-
 src/bin/elementary/test_ui_clock.c                 |   2 +-
 src/bin/elementary/test_ui_datepicker.c            |   2 +-
 src/bin/elementary/test_ui_pager.c                 |   2 +-
 src/bin/elementary/test_ui_pager_scroll.c          |   2 +-
 src/bin/elementary/test_ui_panel.c                 |   4 +-
 src/bin/elementary/test_ui_panes.c                 |   2 +-
 src/bin/elementary/test_ui_progressbar.c           |   2 +-
 src/bin/elementary/test_ui_relative_layout.c       |   2 +-
 src/bin/elementary/test_ui_scroller.c              |   2 +-
 src/bin/elementary/test_ui_slider.c                |   2 +-
 src/bin/elementary/test_ui_slider_interval.c       |   2 +-
 src/bin/elementary/test_ui_spin.c                  |   2 +-
 src/bin/elementary/test_ui_spin_button.c           |   2 +-
 src/bin/elementary/test_ui_tab_pager.c             |   2 +-
 src/bin/elementary/test_ui_tags.c                  |   2 +-
 src/bin/elementary/test_ui_timepicker.c            |   2 +-
 src/bin/elementary/test_win_dialog.c               |   6 +-
 src/bin/elementary/test_win_indicator.c            |  10 +-
 src/bin/elementary/test_win_stack.c                |   4 +-
 src/bin/elementary/test_win_state.c                |  18 +-
 src/examples/elementary/efl_canvas_layout_text.c   |   2 +-
 src/examples/elementary/efl_ui_grid_example_1.c    |   2 +-
 .../elementary/efl_ui_relative_layout_example_01.c |   2 +-
 .../elementary/efl_ui_relative_layout_example_02.c |   2 +-
 src/examples/elementary/efl_ui_theme_example_01.c  |   2 +-
 src/examples/elementary/efl_ui_theme_example_02.c  |   2 +-
 src/examples/elementary/toolbar_cxx_example_01.cc  |   2 +-
 src/lib/elementary/efl_ui_win.c                    | 488 +++++++++++--
 src/lib/elementary/efl_ui_win.eo                   |  35 +-
 src/lib/elementary/efl_ui_win_inlined.c            |   2 +-
 src/lib/elementary/efl_ui_win_socket.c             |   2 +-
 src/lib/elementary/elm_win_legacy.h                | 793 +++++++++++++++++++--
 src/tests/elementary/efl_ui_test_image.c           |   2 +-
 src/tests/elementary/efl_ui_test_image_zoomable.c  |   2 +-
 src/tests/elementary/efl_ui_test_layout.c          |  10 +-
 src/tests/elementary/efl_ui_test_relative_layout.c |   2 +-
 src/tests/elementary/efl_ui_test_widget.c          |   2 +-
 src/tests/elementary/suite_helpers.c               |   2 +-
 41 files changed, 1212 insertions(+), 226 deletions(-)

diff --git a/src/bin/elementary/test_efl_ui_text.c 
b/src/bin/elementary/test_efl_ui_text.c
index 9cc2a322f4..d7aa2a44e4 100644
--- a/src/bin/elementary/test_efl_ui_text.c
+++ b/src/bin/elementary/test_efl_ui_text.c
@@ -41,7 +41,7 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, voi
    char *markup;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-         efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+         efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
          efl_text_set(efl_added, "Efl Canvas_Layout"),
          efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
@@ -145,7 +145,7 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *eve
    Eo *bt;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-         efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+         efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
          efl_text_set(efl_added, "Efl Ui Text"),
          efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
@@ -204,7 +204,7 @@ test_efl_ui_text_inputfield(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED
    Eo *win, *bx, *en;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-         efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+         efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
          efl_text_set(efl_added, "Efl Ui Text Input Field"),
          efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
@@ -294,7 +294,7 @@ test_ui_text_item_factory(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
    Eina_File *f;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-         efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+         efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
          efl_text_set(efl_added, "Efl Ui Text Item Factory"),
          efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_photocam.c 
b/src/bin/elementary/test_photocam.c
index f00662069f..44da46a18d 100644
--- a/src/bin/elementary/test_photocam.c
+++ b/src/bin/elementary/test_photocam.c
@@ -805,7 +805,7 @@ test_image_zoomable_animated(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSE
    char buf[PATH_MAX];
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Image_Zoomable animation"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_button.c 
b/src/bin/elementary/test_ui_button.c
index f89a188407..7c5cce3c34 100644
--- a/src/bin/elementary/test_ui_button.c
+++ b/src/bin/elementary/test_ui_button.c
@@ -28,7 +28,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event
    char buf[PATH_MAX];
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Button"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE)
                 );
diff --git a/src/bin/elementary/test_ui_clock.c 
b/src/bin/elementary/test_ui_clock.c
index 4a0fa1182b..d759250ef2 100644
--- a/src/bin/elementary/test_ui_clock.c
+++ b/src/bin/elementary/test_ui_clock.c
@@ -48,7 +48,7 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_
    Evas_Object *win, *bx;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Clock"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_datepicker.c 
b/src/bin/elementary/test_ui_datepicker.c
index 1eb04612b1..6c2e631e41 100644
--- a/src/bin/elementary/test_ui_datepicker.c
+++ b/src/bin/elementary/test_ui_datepicker.c
@@ -18,7 +18,7 @@ test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
    Eo *win, *bx;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Datepicker"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_pager.c 
b/src/bin/elementary/test_ui_pager.c
index cebbbad641..a5714ec5a1 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -678,7 +678,7 @@ void test_ui_pager(void *data EINA_UNUSED,
    int i;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Pager"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_pager_scroll.c 
b/src/bin/elementary/test_ui_pager_scroll.c
index 7a0bfb83eb..33c24be5b0 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -859,7 +859,7 @@ void test_ui_pager_scroll(void *data EINA_UNUSED,
    int i;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Pager"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_panel.c 
b/src/bin/elementary/test_ui_panel.c
index e73a3186d6..6b612e49fb 100644
--- a/src/bin/elementary/test_ui_panel.c
+++ b/src/bin/elementary/test_ui_panel.c
@@ -10,7 +10,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_
    Eo *win, *table, *panel;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                     efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                     efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                      efl_text_set(efl_added, "Efl.Ui.Panel"),
                      efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
@@ -103,7 +103,7 @@ test_ui_panel2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event
    Eo *win, *box, *check, *btn, *table, *list, *panel;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                     efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                     efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                      efl_text_set(efl_added, "Efl.Ui.Panel"),
                      efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_panes.c 
b/src/bin/elementary/test_ui_panes.c
index 3dcf010929..2c3e274f9b 100644
--- a/src/bin/elementary/test_ui_panes.c
+++ b/src/bin/elementary/test_ui_panes.c
@@ -9,7 +9,7 @@ test_panes_minsize(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
    Eo *win, *panes, *panes_h;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Panes"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE)
                 );
diff --git a/src/bin/elementary/test_ui_progressbar.c 
b/src/bin/elementary/test_ui_progressbar.c
index 16848ef5b1..3300a037e3 100644
--- a/src/bin/elementary/test_ui_progressbar.c
+++ b/src/bin/elementary/test_ui_progressbar.c
@@ -118,7 +118,7 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, void *event_inf
    pd = (pbdata *)calloc(1, sizeof(pbdata));
 
    pd->win = win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                           efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                           efl_ui_win_type_set(efl_added, 
EFL_UI_WIN_TYPE_BASIC),
                            efl_text_set(efl_added, "Efl.Ui.Progressbar"),
                            efl_ui_win_autodel_set(efl_added, EINA_TRUE),
                            efl_event_callback_add(efl_added, 
EFL_UI_WIN_EVENT_DELETE_REQUEST,
diff --git a/src/bin/elementary/test_ui_relative_layout.c 
b/src/bin/elementary/test_ui_relative_layout.c
index 24546cad14..825af48e62 100644
--- a/src/bin/elementary/test_ui_relative_layout.c
+++ b/src/bin/elementary/test_ui_relative_layout.c
@@ -264,7 +264,7 @@ test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, vo
    Eo *win, *vbox, *f, *hbox;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Relative_Layout"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_scroller.c 
b/src/bin/elementary/test_ui_scroller.c
index 3a43a43902..ee751d2369 100644
--- a/src/bin/elementary/test_ui_scroller.c
+++ b/src/bin/elementary/test_ui_scroller.c
@@ -31,7 +31,7 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void
    int i, j;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl Ui Scroller"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
    efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400));
diff --git a/src/bin/elementary/test_ui_slider.c 
b/src/bin/elementary/test_ui_slider.c
index 66bfe0f2f8..661d63eb5b 100644
--- a/src/bin/elementary/test_ui_slider.c
+++ b/src/bin/elementary/test_ui_slider.c
@@ -33,7 +33,7 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event
    double step;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Slider"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_slider_interval.c 
b/src/bin/elementary/test_ui_slider_interval.c
index 09589a7689..5fa9350d13 100644
--- a/src/bin/elementary/test_ui_slider_interval.c
+++ b/src/bin/elementary/test_ui_slider_interval.c
@@ -33,7 +33,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void
    double step;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Slider_Interval"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_spin.c 
b/src/bin/elementary/test_ui_spin.c
index 85945a3101..33826a0568 100644
--- a/src/bin/elementary/test_ui_spin.c
+++ b/src/bin/elementary/test_ui_spin.c
@@ -37,7 +37,7 @@ test_ui_spin(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_i
    Eo *win, *bx, *sp;
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Spin"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_spin_button.c 
b/src/bin/elementary/test_ui_spin_button.c
index 0e008203c5..6015d32a60 100644
--- a/src/bin/elementary/test_ui_spin_button.c
+++ b/src/bin/elementary/test_ui_spin_button.c
@@ -28,7 +28,7 @@ test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *
      eina_array_push(array, &values[i]);
 
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Spin_Button"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_tab_pager.c 
b/src/bin/elementary/test_ui_tab_pager.c
index af0b900fcf..227963e62e 100644
--- a/src/bin/elementary/test_ui_tab_pager.c
+++ b/src/bin/elementary/test_ui_tab_pager.c
@@ -123,7 +123,7 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *ev
    int i;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Tab_Pager"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE),
                  efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, 
ad));
diff --git a/src/bin/elementary/test_ui_tags.c 
b/src/bin/elementary/test_ui_tags.c
index 2c8b3e6fb5..27153e0071 100644
--- a/src/bin/elementary/test_ui_tags.c
+++ b/src/bin/elementary/test_ui_tags.c
@@ -59,7 +59,7 @@ test_ui_tags(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_i
    char buf[PATH_MAX];
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Tags"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_ui_timepicker.c 
b/src/bin/elementary/test_ui_timepicker.c
index cb88ef508b..81f1e6f85f 100644
--- a/src/bin/elementary/test_ui_timepicker.c
+++ b/src/bin/elementary/test_ui_timepicker.c
@@ -19,7 +19,7 @@ test_ui_timepicker(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
    Eo *win, *bx;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Timepicker"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_win_dialog.c 
b/src/bin/elementary/test_win_dialog.c
index 1aaa844c24..bbe82c87f1 100644
--- a/src/bin/elementary/test_win_dialog.c
+++ b/src/bin/elementary/test_win_dialog.c
@@ -29,7 +29,7 @@ _bt2_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_
    Eina_Size2D size = { 300, 150 };
 
    dia = efl_add(EFL_UI_WIN_CLASS, parent,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
                  efl_ui_win_name_set(efl_added, "window-dia-2"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE),
                  efl_text_set(efl_added, "A Fixed Size Dialog"));
@@ -76,7 +76,7 @@ _bt3_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_
    Efl_Canvas_Object *dia, *lb, *parent = data;
 
    dia = efl_add(EFL_UI_WIN_CLASS, parent,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
                  efl_ui_win_name_set(efl_added, "window-dia-3"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE),
                  efl_text_set(efl_added, "Min/Max Size Dialog"));
@@ -102,7 +102,7 @@ _bt4_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *even
    Efl_Canvas_Object *dia, *lb;
 
    dia = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
                  efl_ui_win_name_set(efl_added, "window-dia-4"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE),
                  efl_text_set(efl_added, "Min/Max Size Dialog")
diff --git a/src/bin/elementary/test_win_indicator.c 
b/src/bin/elementary/test_win_indicator.c
index 1b72b0d311..71922302c1 100644
--- a/src/bin/elementary/test_win_indicator.c
+++ b/src/bin/elementary/test_win_indicator.c
@@ -56,25 +56,25 @@ _create_indicator(void)
 static void
 _off_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-       efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_OFF);
+       efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_OFF);
 }
 
 static void
 _opaque_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-       efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_BG_OPAQUE);
+       efl_ui_win_indicator_mode_set(data, 
EFL_UI_WIN_INDICATOR_MODE_BG_OPAQUE);
 }
 
 static void
 _transparent_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-       efl_ui_win_indicator_mode_set(data, 
EFL_UI_WIN_INDICATOR_BG_TRANSPARENT);
+       efl_ui_win_indicator_mode_set(data, 
EFL_UI_WIN_INDICATOR_MODE_BG_TRANSPARENT);
 }
 
 static void
 _hidden_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-       efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_HIDDEN);
+       efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_HIDDEN);
 }
 
 static void
@@ -92,7 +92,7 @@ test_win_indicator(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *e
 
    // FIXME: Resizing window should no cause sizing issues!
    win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Win.Indicator"),
                  efl_gfx_hint_size_max_set(efl_added, EINA_SIZE2D(300, -1)),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
diff --git a/src/bin/elementary/test_win_stack.c 
b/src/bin/elementary/test_win_stack.c
index d13072d041..85ee109a65 100644
--- a/src/bin/elementary/test_win_stack.c
+++ b/src/bin/elementary/test_win_stack.c
@@ -20,13 +20,13 @@ _win_new(Evas_Object *stack_top, const char *title)
    if (level >= 3)
      win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
                    efl_ui_win_name_set(efl_added, "window-stack"),
-                   efl_ui_win_type_set(efl_added, ELM_WIN_NAVIFRAME_BASIC),
+                   efl_ui_win_type_set(efl_added, 
EFL_UI_WIN_TYPE_NAVIFRAME_BASIC),
                    efl_text_set(efl_added, title),
                    efl_ui_win_autodel_set(efl_added, EINA_TRUE));
    else
      win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
                    efl_ui_win_name_set(efl_added, "window-stack"),
-                   efl_ui_win_type_set(efl_added, ELM_WIN_DIALOG_BASIC),
+                   efl_ui_win_type_set(efl_added, 
EFL_UI_WIN_TYPE_DIALOG_BASIC),
                    efl_text_set(efl_added, title),
                    efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/bin/elementary/test_win_state.c 
b/src/bin/elementary/test_win_state.c
index b4d084e733..f1b9af34cc 100644
--- a/src/bin/elementary/test_win_state.c
+++ b/src/bin/elementary/test_win_state.c
@@ -263,39 +263,39 @@ _bt_pressed(void *data, Evas_Object *obj, void 
*event_info EINA_UNUSED)
      {
       case 1:
         printf("Top Left\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | 
EFL_UI_WIN_MOVE_RESIZE_LEFT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | 
ELM_WIN_MOVE_RESIZE_LEFT);
         break;
       case 2:
         printf("Top\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP);
         break;
       case 3:
         printf("Top Right\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | 
EFL_UI_WIN_MOVE_RESIZE_RIGHT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | 
ELM_WIN_MOVE_RESIZE_RIGHT);
         break;
       case 4:
         printf("Left\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_LEFT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_LEFT);
         break;
       case 5:
         printf("Move win\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_MOVE);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_MOVE);
         break;
       case 6:
         printf("Right\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_RIGHT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_RIGHT);
         break;
       case 7:
         printf("Bottom Left\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | 
EFL_UI_WIN_MOVE_RESIZE_LEFT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | 
ELM_WIN_MOVE_RESIZE_LEFT);
         break;
       case 8:
         printf("Bottom\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM);
         break;
       case 9:
         printf("Bottom Right\n");
-        res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | 
EFL_UI_WIN_MOVE_RESIZE_RIGHT);
+        res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | 
ELM_WIN_MOVE_RESIZE_RIGHT);
         break;
       default:
         printf("No action\n");
diff --git a/src/examples/elementary/efl_canvas_layout_text.c 
b/src/examples/elementary/efl_canvas_layout_text.c
index 91eff503e0..bb4dc0f379 100644
--- a/src/examples/elementary/efl_canvas_layout_text.c
+++ b/src/examples/elementary/efl_canvas_layout_text.c
@@ -121,7 +121,7 @@ efl_main(void *data EINA_UNUSED,
    Eo *win;
 
    win = efl_add(EFL_UI_WIN_CLASS, NULL,
-         efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+         efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
          efl_text_set(efl_added, "Efl Canvas_Layout"),
          efl_ui_win_autodel_set(efl_added, EINA_TRUE),
          efl_event_callback_add(efl_added, EFL_UI_WIN_EVENT_DELETE_REQUEST, 
_on_win_delete, NULL));
diff --git a/src/examples/elementary/efl_ui_grid_example_1.c 
b/src/examples/elementary/efl_ui_grid_example_1.c
index b2960bb04b..43ea195e14 100644
--- a/src/examples/elementary/efl_ui_grid_example_1.c
+++ b/src/examples/elementary/efl_ui_grid_example_1.c
@@ -39,7 +39,7 @@ elm_main(int argc, char **argv)
    Grid_Event_Data *gd = calloc(sizeof(Grid_Event_Data *), 1);
 
    win =  efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-      efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+      efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
       efl_text_set(efl_added, "Efl.Ui.Grid"),
       efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/examples/elementary/efl_ui_relative_layout_example_01.c 
b/src/examples/elementary/efl_ui_relative_layout_example_01.c
index 36ebd3f545..731eeb9d08 100644
--- a/src/examples/elementary/efl_ui_relative_layout_example_01.c
+++ b/src/examples/elementary/efl_ui_relative_layout_example_01.c
@@ -16,7 +16,7 @@ elm_main(int argc, char **argv)
    Eo *win, *layout, *btn1, *btn2, *btn3;
 
    win =  efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                  efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                  efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Efl.Ui.Relative_Layout"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/examples/elementary/efl_ui_relative_layout_example_02.c 
b/src/examples/elementary/efl_ui_relative_layout_example_02.c
index db21b15aba..a32da8d44e 100644
--- a/src/examples/elementary/efl_ui_relative_layout_example_02.c
+++ b/src/examples/elementary/efl_ui_relative_layout_example_02.c
@@ -16,7 +16,7 @@ elm_main(int argc, char **argv)
    Eo *win, *layout, *btn1, *btn2;
 
    win =  efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                  efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                  efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                   efl_text_set(efl_added, "Efl.Ui.Relative_Layout"),
                   efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 
diff --git a/src/examples/elementary/efl_ui_theme_example_01.c 
b/src/examples/elementary/efl_ui_theme_example_01.c
index 601dd5c8af..3eda0342c0 100644
--- a/src/examples/elementary/efl_ui_theme_example_01.c
+++ b/src/examples/elementary/efl_ui_theme_example_01.c
@@ -52,7 +52,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    efl_ui_theme_extension_add(default_theme, EXAMPLE_EDJ_FILE_PATH);
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Theme example"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE)
                 );
diff --git a/src/examples/elementary/efl_ui_theme_example_02.c 
b/src/examples/elementary/efl_ui_theme_example_02.c
index a8c81de1dc..4bc76d7203 100644
--- a/src/examples/elementary/efl_ui_theme_example_02.c
+++ b/src/examples/elementary/efl_ui_theme_example_02.c
@@ -52,7 +52,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
    efl_ui_theme_overlay_add(default_theme, EXAMPLE_EDJ_FILE_PATH);
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Efl.Ui.Theme example"),
                  efl_ui_win_autodel_set(efl_added, EINA_TRUE)
                 );
diff --git a/src/examples/elementary/toolbar_cxx_example_01.cc 
b/src/examples/elementary/toolbar_cxx_example_01.cc
index f5c47cb0eb..c4bab13db8 100644
--- a/src/examples/elementary/toolbar_cxx_example_01.cc
+++ b/src/examples/elementary/toolbar_cxx_example_01.cc
@@ -22,7 +22,7 @@ elm_main(int argc, char* argv[])
       {
         win_1.text_set("Toolbar");
         win_1.win_name_set("toolbar");
-        win_1.win_type_set(EFL_UI_WIN_BASIC);
+        win_1.win_type_set(EFL_UI_WIN_TYPE_BASIC);
       });
 
 #if 0
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index e5ebbd2dcd..f29365d485 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -53,7 +53,7 @@ static int _paused_windows = 0;
 #define TRAP(sd, name, ...)                                             \
   do                                                                    \
     {                                                                   \
-       if (sd->type != ELM_WIN_FAKE)                                    \
+       if (sd->type != EFL_UI_WIN_TYPE_FAKE)                                   
 \
          if ((!trap) || (!trap->name) ||                                \
              ((trap->name) &&                                           \
               (trap->name(sd->trap_data, sd->obj, ## __VA_ARGS__))))    \
@@ -385,6 +385,66 @@ static inline void 
_elm_win_need_frame_adjust(Efl_Ui_Win_Data *sd, const char *e
 static void _elm_win_resize_objects_eval(Evas_Object *obj, Eina_Bool 
force_resize);
 static void _elm_win_frame_obj_update(Efl_Ui_Win_Data *sd, Eina_Bool force);
 
+static inline Efl_Ui_Win_Type
+_elm_win_type_to_efl_ui_win_type(Elm_Win_Type type)
+{
+   switch (type)
+     {
+#define CONVERT_TYPE(TYPE) case ELM_WIN_##TYPE: return EFL_UI_WIN_TYPE_##TYPE
+      CONVERT_TYPE(BASIC);
+      CONVERT_TYPE(DIALOG_BASIC);
+      CONVERT_TYPE(DESKTOP);
+      CONVERT_TYPE(DOCK);
+      CONVERT_TYPE(TOOLBAR);
+      CONVERT_TYPE(MENU);
+      CONVERT_TYPE(UTILITY);
+      CONVERT_TYPE(SPLASH);
+      CONVERT_TYPE(DROPDOWN_MENU);
+      CONVERT_TYPE(POPUP_MENU);
+      CONVERT_TYPE(TOOLTIP);
+      CONVERT_TYPE(NOTIFICATION);
+      CONVERT_TYPE(COMBO);
+      CONVERT_TYPE(DND);
+      CONVERT_TYPE(INLINED_IMAGE);
+      CONVERT_TYPE(SOCKET_IMAGE);
+      CONVERT_TYPE(FAKE);
+      CONVERT_TYPE(NAVIFRAME_BASIC);
+      default: break;
+     }
+   return EFL_UI_WIN_TYPE_UNKNOWN;
+#undef CONVERT_TYPE
+}
+
+static inline Elm_Win_Type
+_efl_ui_win_type_to_elm_win_type(Efl_Ui_Win_Type type)
+{
+   switch (type)
+     {
+#define CONVERT_TYPE(TYPE) case EFL_UI_WIN_TYPE_##TYPE: return ELM_WIN_##TYPE
+      CONVERT_TYPE(BASIC);
+      CONVERT_TYPE(DIALOG_BASIC);
+      CONVERT_TYPE(DESKTOP);
+      CONVERT_TYPE(DOCK);
+      CONVERT_TYPE(TOOLBAR);
+      CONVERT_TYPE(MENU);
+      CONVERT_TYPE(UTILITY);
+      CONVERT_TYPE(SPLASH);
+      CONVERT_TYPE(DROPDOWN_MENU);
+      CONVERT_TYPE(POPUP_MENU);
+      CONVERT_TYPE(TOOLTIP);
+      CONVERT_TYPE(NOTIFICATION);
+      CONVERT_TYPE(COMBO);
+      CONVERT_TYPE(DND);
+      CONVERT_TYPE(INLINED_IMAGE);
+      CONVERT_TYPE(SOCKET_IMAGE);
+      CONVERT_TYPE(FAKE);
+      CONVERT_TYPE(NAVIFRAME_BASIC);
+      default: break;
+     }
+   return ELM_WIN_UNKNOWN;
+#undef CONVERT_TYPE
+}
+
 #ifdef HAVE_ELEMENTARY_X
 static void _elm_win_xwin_update(Efl_Ui_Win_Data *sd);
 #endif
@@ -1000,7 +1060,7 @@ _elm_win_pre_render(Ecore_Evas *ee)
      {
         int mw, mh;
 
-        if (sd->type != ELM_WIN_FAKE)
+        if (sd->type != EFL_UI_WIN_TYPE_FAKE)
           {
              edje_object_thaw(sd->frame_obj);
              evas_object_show(sd->frame_obj);
@@ -1315,7 +1375,7 @@ _elm_win_focus_in(Ecore_Evas *ee)
 
    _elm_widget_top_win_focused_set(obj, EINA_TRUE);
    ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
-   if (sd->type != ELM_WIN_FAKE)
+   if (sd->type != EFL_UI_WIN_TYPE_FAKE)
      {
         Efl_Ui_Focus_Manager *man = sd->obj;
         while(efl_ui_focus_manager_redirect_get(man))
@@ -1388,7 +1448,7 @@ _elm_win_focus_out(Ecore_Evas *ee)
         efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, 
EINA_FALSE);
      }
 
-   if (sd->type != ELM_WIN_FAKE)
+   if (sd->type != EFL_UI_WIN_TYPE_FAKE)
      {
         Efl_Ui_Focus_Manager *man = sd->obj;
         while(efl_ui_focus_manager_redirect_get(man))
@@ -2943,7 +3003,7 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Win_Data *sd)
 
    /* NB: child deletion handled by parent's smart del */
 
-   if ((sd->type != ELM_WIN_FAKE) && (trap) && (trap->del))
+   if ((sd->type != EFL_UI_WIN_TYPE_FAKE) && (trap) && (trap->del))
      trap->del(sd->trap_data, obj);
 
    if (sd->parent)
@@ -2995,7 +3055,7 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, 
Efl_Ui_Win_Data *sd)
      }
    else
      {
-        if (sd->ee && (sd->type != ELM_WIN_FAKE))
+        if (sd->ee && (sd->type != EFL_UI_WIN_TYPE_FAKE))
           {
              ecore_evas_manual_render_set(sd->ee, EINA_TRUE);
              edje_object_freeze(sd->frame_obj);
@@ -3409,7 +3469,7 @@ _elm_win_xwin_update(Efl_Ui_Win_Data *sd)
 {
    const char *s;
 
-   if (sd->type == ELM_WIN_FAKE) return;
+   if (sd->type == EFL_UI_WIN_TYPE_FAKE) return;
    _internal_elm_win_xwindow_get(sd);
 
    if (!sd->x.xwin) return;  /* nothing more to do */
@@ -4031,40 +4091,40 @@ typedef struct _resize_info {
 } resize_info;
 
 static const resize_info _resize_infos_legacy[8] = {
-   { "elm.event.resize.t",  ELM_CURSOR_TOP_SIDE, EFL_UI_WIN_MOVE_RESIZE_TOP, 1 
XDIR(SIZE_T) },
-   { "elm.event.resize.b",  ELM_CURSOR_BOTTOM_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM, 2 XDIR(SIZE_B) },
-   { "elm.event.resize.l",  ELM_CURSOR_LEFT_SIDE, EFL_UI_WIN_MOVE_RESIZE_LEFT, 
4 XDIR(SIZE_L) },
-   { "elm.event.resize.r",  ELM_CURSOR_RIGHT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_RIGHT, 8 XDIR(SIZE_R) },
-   { "elm.event.resize.tl", ELM_CURSOR_TOP_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT, 5 XDIR(SIZE_TL) },
-   { "elm.event.resize.bl", ELM_CURSOR_BOTTOM_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT, 6 XDIR(SIZE_BL) },
-   { "elm.event.resize.br", ELM_CURSOR_BOTTOM_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT, 10 XDIR(SIZE_BR) 
},
-   { "elm.event.resize.tr", ELM_CURSOR_TOP_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT, 9 XDIR(SIZE_TR) },
+   { "elm.event.resize.t",  ELM_CURSOR_TOP_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP, 1 XDIR(SIZE_T) },
+   { "elm.event.resize.b",  ELM_CURSOR_BOTTOM_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM, 2 XDIR(SIZE_B) },
+   { "elm.event.resize.l",  ELM_CURSOR_LEFT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 4 XDIR(SIZE_L) },
+   { "elm.event.resize.r",  ELM_CURSOR_RIGHT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 8 XDIR(SIZE_R) },
+   { "elm.event.resize.tl", ELM_CURSOR_TOP_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 5 
XDIR(SIZE_TL) },
+   { "elm.event.resize.bl", ELM_CURSOR_BOTTOM_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 6 
XDIR(SIZE_BL) },
+   { "elm.event.resize.br", ELM_CURSOR_BOTTOM_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 10 
XDIR(SIZE_BR) },
+   { "elm.event.resize.tr", ELM_CURSOR_TOP_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 9 
XDIR(SIZE_TR) },
 };
 
 static const resize_info _resize_infos[8] = {
-   { "efl.event.resize.t",  ELM_CURSOR_TOP_SIDE, EFL_UI_WIN_MOVE_RESIZE_TOP, 1 
XDIR(SIZE_T) },
-   { "efl.event.resize.b",  ELM_CURSOR_BOTTOM_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM, 2 XDIR(SIZE_B) },
-   { "efl.event.resize.l",  ELM_CURSOR_LEFT_SIDE, EFL_UI_WIN_MOVE_RESIZE_LEFT, 
4 XDIR(SIZE_L) },
-   { "efl.event.resize.r",  ELM_CURSOR_RIGHT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_RIGHT, 8 XDIR(SIZE_R) },
-   { "efl.event.resize.tl", ELM_CURSOR_TOP_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT, 5 XDIR(SIZE_TL) },
-   { "efl.event.resize.bl", ELM_CURSOR_BOTTOM_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT, 6 XDIR(SIZE_BL) },
-   { "efl.event.resize.br", ELM_CURSOR_BOTTOM_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT, 10 XDIR(SIZE_BR) 
},
-   { "efl.event.resize.tr", ELM_CURSOR_TOP_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT, 9 XDIR(SIZE_TR) },
+   { "efl.event.resize.t",  ELM_CURSOR_TOP_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP, 1 XDIR(SIZE_T) },
+   { "efl.event.resize.b",  ELM_CURSOR_BOTTOM_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM, 2 XDIR(SIZE_B) },
+   { "efl.event.resize.l",  ELM_CURSOR_LEFT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 4 XDIR(SIZE_L) },
+   { "efl.event.resize.r",  ELM_CURSOR_RIGHT_SIDE, 
EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 8 XDIR(SIZE_R) },
+   { "efl.event.resize.tl", ELM_CURSOR_TOP_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 5 
XDIR(SIZE_TL) },
+   { "efl.event.resize.bl", ELM_CURSOR_BOTTOM_LEFT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT, 6 
XDIR(SIZE_BL) },
+   { "efl.event.resize.br", ELM_CURSOR_BOTTOM_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 10 
XDIR(SIZE_BR) },
+   { "efl.event.resize.tr", ELM_CURSOR_TOP_RIGHT_CORNER, 
EFL_UI_WIN_MOVE_RESIZE_MODE_TOP | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT, 9 
XDIR(SIZE_TR) },
 };
 
 static inline Efl_Ui_Win_Move_Resize_Mode
 _move_resize_mode_rotate(int rotation, Efl_Ui_Win_Move_Resize_Mode mode)
 {
    const Efl_Ui_Win_Move_Resize_Mode edges[4] = {
-      EFL_UI_WIN_MOVE_RESIZE_TOP,    EFL_UI_WIN_MOVE_RESIZE_LEFT,
-      EFL_UI_WIN_MOVE_RESIZE_BOTTOM, EFL_UI_WIN_MOVE_RESIZE_RIGHT
+      EFL_UI_WIN_MOVE_RESIZE_MODE_TOP,    EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT,
+      EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM, EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT
    };
 
    const Efl_Ui_Win_Move_Resize_Mode corners[4] = {
-      EFL_UI_WIN_MOVE_RESIZE_TOP    | EFL_UI_WIN_MOVE_RESIZE_LEFT,
-      EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT,
-      EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT,
-      EFL_UI_WIN_MOVE_RESIZE_TOP    | EFL_UI_WIN_MOVE_RESIZE_RIGHT,
+      EFL_UI_WIN_MOVE_RESIZE_MODE_TOP    | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT,
+      EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_LEFT,
+      EFL_UI_WIN_MOVE_RESIZE_MODE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT,
+      EFL_UI_WIN_MOVE_RESIZE_MODE_TOP    | EFL_UI_WIN_MOVE_RESIZE_MODE_RIGHT,
    };
 
    const int i = rotation / 90;
@@ -4078,7 +4138,7 @@ _move_resize_mode_rotate(int rotation, 
Efl_Ui_Win_Move_Resize_Mode mode)
      if (mode == corners[k])
        return corners[(k + i) % 4];
 
-   return EFL_UI_WIN_MOVE_RESIZE_MOVE;
+   return EFL_UI_WIN_MOVE_RESIZE_MODE_MOVE;
 }
 
 static const resize_info *
@@ -4123,7 +4183,7 @@ _move_resize_mode_get(Evas_Object *obj, const char 
*source)
             return _resize_infos[k].mode;
      }
 
-   return EFL_UI_WIN_MOVE_RESIZE_MOVE;
+   return EFL_UI_WIN_MOVE_RESIZE_MODE_MOVE;
 }
 
 static void
@@ -4264,7 +4324,7 @@ _win_move_resize_start(Efl_Ui_Win_Data *sd, 
Efl_Ui_Win_Move_Resize_Mode mode)
         return EINA_FALSE;
      }
 
-   if (mode == EFL_UI_WIN_MOVE_RESIZE_MOVE)
+   if (mode == EFL_UI_WIN_MOVE_RESIZE_MODE_MOVE)
      return _win_move_start(sd);
 
    ri = _resize_info_get(sd->obj, sd->rot, mode);
@@ -4310,7 +4370,7 @@ _elm_win_frame_cb_move_start(void *data,
 {
    ELM_WIN_DATA_GET_OR_RETURN(data, sd);
 
-   _win_move_resize_start(sd, EFL_UI_WIN_MOVE_RESIZE_MOVE);
+   _win_move_resize_start(sd, EFL_UI_WIN_MOVE_RESIZE_MODE_MOVE);
 }
 
 static void
@@ -4321,7 +4381,7 @@ _elm_win_frame_cb_resize_start(void *data, Evas_Object 
*obj EINA_UNUSED,
    Efl_Ui_Win_Move_Resize_Mode mode;
 
    mode = _move_resize_mode_get(sd->obj, source);
-   if (mode == EFL_UI_WIN_MOVE_RESIZE_MOVE) return;
+   if (mode == EFL_UI_WIN_MOVE_RESIZE_MODE_MOVE) return;
 
    _win_move_resize_start(sd, mode);
 }
@@ -4697,7 +4757,7 @@ _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, 
Eina_Bool force_emit, Eina_Bool
    if (!sd->frame_obj)
      {
         if (!efl_finalized_get(sd->obj)) return;
-        if (EINA_LIKELY(sd->type == ELM_WIN_FAKE))
+        if (EINA_LIKELY(sd->type == EFL_UI_WIN_TYPE_FAKE))
           return;
         if (!_elm_config->win_no_border)
           CRI("Window has no frame object!");
@@ -4927,7 +4987,7 @@ _elm_win_need_frame_adjust(Efl_Ui_Win_Data *sd, const 
char *engine)
    sd->csd.wayland = (eina_streq(engine, ELM_WAYLAND_SHM) ||
                       eina_streq(engine, ELM_WAYLAND_EGL));
 
-   if (sd->type == ELM_WIN_FAKE)
+   if (sd->type == EFL_UI_WIN_TYPE_FAKE)
      sd->csd.need = EINA_FALSE;
    else if (eina_streq(s, "on"))
      sd->csd.need = EINA_TRUE;
@@ -5081,7 +5141,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
 
    switch ((int) type)
      {
-      case ELM_WIN_FAKE:
+      case EFL_UI_WIN_TYPE_FAKE:
         tmp_sd.ee = sd->ee;
         break;
       case ELM_WIN_INLINED_IMAGE:
@@ -5431,12 +5491,12 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data 
*sd, const char *name, Efl_U
    SD_CPY(shot.info);
 #undef SD_CPY
 
-   if ((type != ELM_WIN_FAKE) && (trap) && (trap->add))
+   if ((type != EFL_UI_WIN_TYPE_FAKE) && (trap) && (trap->add))
      sd->trap_data = trap->add(obj);
 
    /* complementary actions, which depend on final smart data
     * pointer */
-   if (type == ELM_WIN_INLINED_IMAGE)
+   if (type == EFL_UI_WIN_TYPE_INLINED_IMAGE)
      _win_inlined_image_set(sd);
 #ifdef HAVE_ELEMENTARY_X
    else if ((engine) &&
@@ -5454,7 +5514,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
 
    sd->kbdmode = ELM_WIN_KEYBOARD_UNKNOWN;
    sd->legacy.indmode = ELM_WIN_INDICATOR_UNKNOWN;
-   sd->indimode = EFL_UI_WIN_INDICATOR_OFF;
+   sd->indimode = EFL_UI_WIN_INDICATOR_MODE_OFF;
 
 #ifdef HAVE_ELEMENTARY_X
    _internal_elm_win_xwindow_get(sd);
@@ -5494,7 +5554,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
           }
         ecore_wl2_window_type_set(sd->wl.win, wtype);
      }
-   else if (sd->type == ELM_WIN_FAKE)
+   else if (sd->type == EFL_UI_WIN_TYPE_FAKE)
      {
         const char *env = getenv("WAYLAND_DISPLAY");
         if (env)
@@ -5540,13 +5600,13 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data 
*sd, const char *name, Efl_U
    evas_object_color_set(obj, 0, 0, 0, 0);
    evas_object_pass_events_set(obj, EINA_TRUE);
 
-   if (type == ELM_WIN_INLINED_IMAGE)
+   if (type == EFL_UI_WIN_TYPE_INLINED_IMAGE)
      efl_ui_win_inlined_parent_set(obj, parent);
 
    /* use own version of ecore_evas_object_associate() that does TRAP() */
    ecore_evas_data_set(sd->ee, "elm_win", obj);
 
-   if (type != ELM_WIN_FAKE)
+   if (type != EFL_UI_WIN_TYPE_FAKE)
      {
         evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
            _elm_win_obj_callback_changed_size_hints, NULL);
@@ -5571,7 +5631,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
    ecore_evas_callback_resize_set(sd->ee, _elm_win_resize);
    ecore_evas_callback_move_set(sd->ee, _elm_win_move);
    ecore_evas_callback_pre_render_set(sd->ee, _elm_win_pre_render);
-   if (type != ELM_WIN_FAKE)
+   if (type != EFL_UI_WIN_TYPE_FAKE)
      {
          ecore_evas_callback_mouse_in_set(sd->ee, _elm_win_mouse_in);
          ecore_evas_callback_mouse_out_set(sd->ee, _elm_win_mouse_out);
@@ -5600,7 +5660,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
    _elm_win_xwin_update(sd);
 #endif
 
-   if (type != ELM_WIN_FAKE)
+   if (type != EFL_UI_WIN_TYPE_FAKE)
      {
         //Prohibiting auto-rendering, until elm_win is shown.
         if (_elm_win_auto_norender_withdrawn(obj))
@@ -5627,7 +5687,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
      ERR("failed to grab F12 key to elm widgets (dot) tree generation");
 #endif
 
-   if (type != ELM_WIN_FAKE)
+   if (type != EFL_UI_WIN_TYPE_FAKE)
      {
         if ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_ON) ||
             ((_elm_config->softcursor_mode == ELM_SOFTCURSOR_MODE_AUTO) &&
@@ -5665,7 +5725,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
    _elm_win_apply_alpha(obj, sd);
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if ((type != ELM_WIN_FAKE) && (type != ELM_WIN_INLINED_IMAGE))
+   if ((type != EFL_UI_WIN_TYPE_FAKE) && (type != 
EFL_UI_WIN_TYPE_INLINED_IMAGE))
      {
         if ((engine) &&
             ((!strcmp(engine, ELM_WAYLAND_SHM) ||
@@ -5693,7 +5753,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
 #endif
 
    /* do not append to list; all windows render as black rects */
-   if (type != ELM_WIN_FAKE)
+   if (type != EFL_UI_WIN_TYPE_FAKE)
      {
         const char *element = "base";
         const char *style;
@@ -5711,15 +5771,15 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data 
*sd, const char *name, Efl_U
         if (!style) style = "default";
         switch (type)
           {
-           case EFL_UI_WIN_DIALOG_BASIC:    element = "dialog"; break;
-           case EFL_UI_WIN_NAVIFRAME_BASIC: element = "naviframe"; break;
+           case EFL_UI_WIN_TYPE_DIALOG_BASIC:    element = "dialog"; break;
+           case EFL_UI_WIN_TYPE_NAVIFRAME_BASIC: element = "naviframe"; break;
            default: break;
           }
 
         if (!_elm_config->win_no_border)
           _elm_win_frame_add(sd, element, style);
 
-        if (sd->indimode != EFL_UI_WIN_INDICATOR_OFF)
+        if (sd->indimode != EFL_UI_WIN_INDICATOR_MODE_OFF)
           _indicator_add(sd);
 
         if (_elm_config->focus_highlight_enable)
@@ -5740,7 +5800,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
    efl_event_callback_array_add(obj, _elm_win_tracking(), sd);
    evas_object_show(sd->legacy.edje);
 
-   if (type == ELM_WIN_FAKE)
+   if (type == EFL_UI_WIN_TYPE_FAKE)
      {
         _elm_win_resize_job(obj);
         _elm_win_move(sd->ee);
@@ -5756,9 +5816,9 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Efl_U
      {
         switch (type)
           {
-           case EFL_UI_WIN_UNKNOWN:
-           case EFL_UI_WIN_BASIC:
-           case EFL_UI_WIN_DIALOG_BASIC:
+           case EFL_UI_WIN_TYPE_UNKNOWN:
+           case EFL_UI_WIN_TYPE_BASIC:
+           case EFL_UI_WIN_TYPE_DIALOG_BASIC:
              _elm_win_standard_init(obj);
              break;
            default: break;
@@ -5812,7 +5872,7 @@ EOLIAN static void
 _efl_ui_win_efl_object_destructor(Eo *obj, Efl_Ui_Win_Data *pd EINA_UNUSED)
 {
 #ifdef HAVE_ELEMENTARY_WL2
-   if (pd->type == ELM_WIN_FAKE)
+   if (pd->type == EFL_UI_WIN_TYPE_FAKE)
      {
         if (pd->wl.win)
           ecore_wl2_window_free(pd->wl.win);
@@ -6218,7 +6278,7 @@ _efl_ui_win_fullscreen_set(Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd, Eina_Bool f
         // these engines... can ONLY be fullscreen
         return;
      }
-   else if (sd->type == ELM_WIN_FAKE)
+   else if (sd->type == EFL_UI_WIN_TYPE_FAKE)
      sd->fullscreen = !!fullscreen;
    else
      {
@@ -6480,8 +6540,8 @@ _efl_ui_win_urgent_set(Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd, Efl_Ui_Win_Urge
 EOLIAN static Efl_Ui_Win_Urgent_Mode
 _efl_ui_win_urgent_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
 {
-   if (sd->urgent) return EFL_UI_WIN_URGENT_URGENT;
-   return EFL_UI_WIN_URGENT_NONE;
+   if (sd->urgent) return EFL_UI_WIN_URGENT_MODE_URGENT;
+   return EFL_UI_WIN_URGENT_MODE_NONE;
 }
 
 EOLIAN static void
@@ -6506,8 +6566,8 @@ _efl_ui_win_modal_set(Eo *obj, Efl_Ui_Win_Data *sd, 
Efl_Ui_Win_Modal_Mode modal)
 EOLIAN static Efl_Ui_Win_Modal_Mode
 _efl_ui_win_modal_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
 {
-   if (sd->modal) return EFL_UI_WIN_MODAL_MODAL;
-   return EFL_UI_WIN_MODAL_NONE;
+   if (sd->modal) return EFL_UI_WIN_MODAL_MODE_MODAL;
+   return EFL_UI_WIN_MODAL_MODE_NONE;
 }
 
 static void
@@ -6767,7 +6827,7 @@ _efl_ui_win_sticky_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd)
 }
 
 EOLIAN static void
-_efl_ui_win_keyboard_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, 
Elm_Win_Keyboard_Mode mode)
+_efl_ui_win_keyboard_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, 
Efl_Ui_Win_Keyboard_Mode mode)
 {
    if (mode == sd->kbdmode) return;
 #ifdef HAVE_ELEMENTARY_X
@@ -6781,7 +6841,7 @@ _efl_ui_win_keyboard_mode_set(Eo *obj EINA_UNUSED, 
Efl_Ui_Win_Data *sd, Elm_Win_
 #endif
 }
 
-EOLIAN static Elm_Win_Keyboard_Mode
+EOLIAN static Efl_Ui_Win_Keyboard_Mode
 _efl_ui_win_keyboard_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
 {
    return sd->kbdmode;
@@ -6794,7 +6854,7 @@ _efl_ui_win_indicator_mode_set(Eo *obj, Efl_Ui_Win_Data 
*sd, Efl_Ui_Win_Indicato
    if (sd->indimode == mode) return;
    sd->indimode = mode;
 
-   if (sd->indimode == EFL_UI_WIN_INDICATOR_OFF)
+   if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_OFF)
      {
         _indicator_del(sd);
         return;
@@ -6804,20 +6864,20 @@ _efl_ui_win_indicator_mode_set(Eo *obj, Efl_Ui_Win_Data 
*sd, Efl_Ui_Win_Indicato
 
    if (elm_widget_is_legacy(obj))
      {
-        if (sd->indimode == EFL_UI_WIN_INDICATOR_BG_OPAQUE)
+        if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_BG_OPAQUE)
           edje_object_signal_emit(sd->frame_obj, 
"elm,action,indicator,bg_opaque", "elm");
-        else if (sd->indimode == EFL_UI_WIN_INDICATOR_BG_TRANSPARENT)
+        else if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_BG_TRANSPARENT)
           edje_object_signal_emit(sd->frame_obj, 
"elm,action,indicator,bg_transparent", "elm");
-        else if (sd->indimode == EFL_UI_WIN_INDICATOR_HIDDEN)
+        else if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_HIDDEN)
           edje_object_signal_emit(sd->frame_obj, 
"elm,action,indicator,hidden", "elm");
      }
    else
      {
-        if (sd->indimode == EFL_UI_WIN_INDICATOR_BG_OPAQUE)
+        if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_BG_OPAQUE)
           edje_object_signal_emit(sd->frame_obj, 
"efl,action,indicator,bg_opaque", "efl");
-        else if (sd->indimode == EFL_UI_WIN_INDICATOR_BG_TRANSPARENT)
+        else if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_BG_TRANSPARENT)
           edje_object_signal_emit(sd->frame_obj, 
"efl,action,indicator,bg_transparent", "efl");
-        else if (sd->indimode == EFL_UI_WIN_INDICATOR_HIDDEN)
+        else if (sd->indimode == EFL_UI_WIN_INDICATOR_MODE_HIDDEN)
           edje_object_signal_emit(sd->frame_obj, 
"efl,action,indicator,hidden", "efl");
      }
 
@@ -8401,7 +8461,7 @@ elm_win_modal_set(Evas_Object *obj, Eina_Bool modal)
 {
    Efl_Ui_Win_Modal_Mode modality;
 
-   modality = modal ? EFL_UI_WIN_MODAL_MODAL : EFL_UI_WIN_MODAL_NONE;
+   modality = modal ? EFL_UI_WIN_MODAL_MODE_MODAL : EFL_UI_WIN_MODAL_MODE_NONE;
    efl_ui_win_modal_set(obj, modality);
 }
 
@@ -8411,7 +8471,7 @@ elm_win_modal_get(const Evas_Object *obj)
    Efl_Ui_Win_Modal_Mode modality;
 
    modality = efl_ui_win_modal_get(obj);
-   return (modality != EFL_UI_WIN_MODAL_NONE);
+   return (modality != EFL_UI_WIN_MODAL_MODE_NONE);
 }
 
 EAPI void
@@ -8781,7 +8841,7 @@ _elm_win_legacy_init(Efl_Ui_Win_Data *sd)
      edje_object_part_swallow(sd->legacy.edje, "efl.contents", sd->legacy.box);
 
    evas_object_geometry_set(sd->legacy.edje, 0, 0, 1, 1);
-   if (sd->type != ELM_WIN_FAKE)
+   if (sd->type != EFL_UI_WIN_TYPE_FAKE)
      {
         edje_object_update_hints_set(sd->legacy.edje, EINA_TRUE);
         evas_object_event_callback_add(sd->legacy.edje, 
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
@@ -8933,7 +8993,7 @@ EAPI void
 elm_win_type_set(Evas_Object *obj, Elm_Win_Type type)
 {
    ERR("Calling deprecrated function '%s'", __FUNCTION__);
-   efl_ui_win_type_set(obj, type);
+   efl_ui_win_type_set(obj, _elm_win_type_to_efl_ui_win_type(type));
 }
 
 EAPI void
@@ -8987,8 +9047,45 @@ _efl_ui_win_legacy_efl_object_finalize(Eo *obj, void *pd 
EINA_UNUSED)
    return obj;
 }
 
+
+Efl_Object *_efl_ui_win_legacy_efl_object_finalize(Eo *obj, void *pd);
+
+
+static Eina_Bool
+_efl_ui_win_legacy_class_initializer(Efl_Class *klass)
+{
+   const Efl_Object_Ops *opsp = NULL;
+
+   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef EFL_UI_WIN_LEGACY_EXTRA_OPS
+#define EFL_UI_WIN_LEGACY_EXTRA_OPS
+#endif
+
+   EFL_OPS_DEFINE(ops,
+      EFL_OBJECT_OP_FUNC(efl_finalize, _efl_ui_win_legacy_efl_object_finalize),
+      EFL_UI_WIN_LEGACY_EXTRA_OPS
+   );
+   opsp = &ops;
+
+   return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _efl_ui_win_legacy_class_desc = {
+   EO_VERSION,
+   "Efl.Ui.Win_Legacy",
+   EFL_CLASS_TYPE_REGULAR,
+   0,
+   _efl_ui_win_legacy_class_initializer,
+   _efl_ui_win_legacy_class_constructor,
+   NULL
+};
+
+EFL_DEFINE_CLASS(efl_ui_win_legacy_class_get, &_efl_ui_win_legacy_class_desc, 
EFL_UI_WIN_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
+
+
 EAPI Evas_Object *
-elm_win_add(Evas_Object *parent, const char *name, Efl_Ui_Win_Type type)
+elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
 {
    const Efl_Class *klass = EFL_UI_WIN_LEGACY_CLASS;
 
@@ -9011,7 +9108,7 @@ elm_win_fake_add(Ecore_Evas *ee)
    return elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, NULL,
                         _fake_canvas_set(efl_added, ee),
                         efl_ui_win_name_set(efl_added, NULL),
-                        efl_ui_win_type_set(efl_added, ELM_WIN_FAKE));
+                        efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_FAKE));
 }
 
 EAPI Evas_Object *
@@ -9022,7 +9119,7 @@ elm_win_util_standard_add(const char *name, const char 
*title)
    win = elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, NULL,
                         efl_text_set(efl_added, title),
                         efl_ui_win_name_set(efl_added, name),
-                        efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC));
+                        efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC));
    if (!win) return NULL;
 
    _elm_win_standard_init(win);
@@ -9037,11 +9134,244 @@ elm_win_util_dialog_add(Evas_Object *parent, const 
char *name, const char *title
    win = elm_legacy_add(EFL_UI_WIN_LEGACY_CLASS, parent,
                         efl_text_set(efl_added, title),
                         efl_ui_win_name_set(efl_added, name),
-                        efl_ui_win_type_set(efl_added, 
EFL_UI_WIN_DIALOG_BASIC));
+                        efl_ui_win_type_set(efl_added, 
EFL_UI_WIN_TYPE_DIALOG_BASIC));
    if (!win) return NULL;
 
    _elm_win_standard_init(win);
    return win;
 }
 
-#include "efl_ui_win_legacy.eo.c"
+
+EAPI void
+elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode)
+{
+   efl_ui_win_keyboard_mode_set(obj, mode);
+}
+
+EAPI Elm_Win_Keyboard_Mode
+elm_win_keyboard_mode_get(const Evas_Object *obj)
+{
+   return efl_ui_win_keyboard_mode_get(obj);
+}
+
+EAPI void
+elm_win_screen_constrain_set(Evas_Object *obj, Eina_Bool constrain)
+{
+   efl_ui_win_screen_constrain_set(obj, constrain);
+}
+
+EAPI Eina_Bool
+elm_win_screen_constrain_get(const Evas_Object *obj)
+{
+   return efl_ui_win_screen_constrain_get(obj);
+}
+
+EAPI void
+elm_win_prop_focus_skip_set(Evas_Object *obj, Eina_Bool skip)
+{
+   efl_ui_win_prop_focus_skip_set(obj, skip);
+}
+
+EAPI void
+elm_win_autohide_set(Evas_Object *obj, Eina_Bool autohide)
+{
+   efl_ui_win_autohide_set(obj, autohide);
+}
+
+EAPI Eina_Bool
+elm_win_autohide_get(const Evas_Object *obj)
+{
+   return efl_ui_win_autohide_get(obj);
+}
+
+EAPI void
+elm_win_exit_on_close_set(Evas_Object *obj, const Eina_Value *exit_code)
+{
+   efl_ui_win_exit_on_close_set(obj, exit_code);
+}
+
+EAPI const Eina_Value *
+elm_win_exit_on_close_get(const Evas_Object *obj)
+{
+   return efl_ui_win_exit_on_close_get(obj);
+}
+
+EAPI void
+elm_win_icon_object_set(Evas_Object *obj, Evas_Object *icon)
+{
+   efl_ui_win_icon_object_set(obj, icon);
+}
+
+EAPI const Evas_Object *
+elm_win_icon_object_get(const Evas_Object *obj)
+{
+   return efl_ui_win_icon_object_get(obj);
+}
+
+EAPI void
+elm_win_iconified_set(Evas_Object *obj, Eina_Bool iconified)
+{
+   efl_ui_win_minimized_set(obj, iconified);
+}
+
+EAPI Eina_Bool
+elm_win_iconified_get(const Evas_Object *obj)
+{
+   return efl_ui_win_minimized_get(obj);
+}
+
+EAPI void
+elm_win_maximized_set(Evas_Object *obj, Eina_Bool maximized)
+{
+   efl_ui_win_maximized_set(obj, maximized);
+}
+
+EAPI Eina_Bool
+elm_win_maximized_get(const Evas_Object *obj)
+{
+   return efl_ui_win_maximized_get(obj);
+}
+
+EAPI void
+elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen)
+{
+   efl_ui_win_fullscreen_set(obj, fullscreen);
+}
+
+EAPI Eina_Bool
+elm_win_fullscreen_get(const Evas_Object *obj)
+{
+   return efl_ui_win_fullscreen_get(obj);
+}
+
+EAPI void
+elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky)
+{
+   efl_ui_win_sticky_set(obj, sticky);
+}
+
+EAPI Eina_Bool
+elm_win_sticky_get(const Evas_Object *obj)
+{
+   return efl_ui_win_sticky_get(obj);
+}
+
+EAPI void
+elm_win_noblank_set(Evas_Object *obj, Eina_Bool noblank)
+{
+   efl_ui_win_noblank_set(obj, noblank);
+}
+
+EAPI Eina_Bool
+elm_win_noblank_get(const Evas_Object *obj)
+{
+   return efl_ui_win_noblank_get(obj);
+}
+
+EAPI void
+elm_win_borderless_set(Evas_Object *obj, Eina_Bool borderless)
+{
+   efl_ui_win_borderless_set(obj, borderless);
+}
+
+EAPI Eina_Bool
+elm_win_borderless_get(const Evas_Object *obj)
+{
+   return efl_ui_win_borderless_get(obj);
+}
+
+EAPI void
+elm_win_role_set(Evas_Object *obj, const char *role)
+{
+   efl_ui_win_role_set(obj, role);
+}
+
+EAPI const char *
+elm_win_role_get(const Evas_Object *obj)
+{
+   return efl_ui_win_role_get(obj);
+}
+
+EAPI const char *
+elm_win_name_get(const Evas_Object *obj)
+{
+   return efl_ui_win_name_get(obj);
+}
+
+EAPI Elm_Win_Type
+elm_win_type_get(const Evas_Object *obj)
+{
+   return _efl_ui_win_type_to_elm_win_type(efl_ui_win_type_get(obj));
+}
+
+EAPI const char *
+elm_win_accel_preference_get(const Evas_Object *obj)
+{
+   return efl_ui_win_accel_preference_get(obj);
+}
+
+EAPI void
+elm_win_alpha_set(Evas_Object *obj, Eina_Bool alpha)
+{
+   efl_ui_win_alpha_set(obj, alpha);
+}
+
+EAPI Eina_Bool
+elm_win_alpha_get(const Evas_Object *obj)
+{
+   return efl_ui_win_alpha_get(obj);
+}
+
+EAPI void
+elm_win_activate(Evas_Object *obj)
+{
+   efl_ui_win_activate(obj);
+}
+
+EAPI void
+elm_win_center(Evas_Object *obj, Eina_Bool h, Eina_Bool v)
+{
+   efl_ui_win_center(obj, h, v);
+}
+
+EAPI Eina_Bool
+elm_win_move_resize_start(Evas_Object *obj, Elm_Win_Move_Resize_Mode mode)
+{
+   return efl_ui_win_move_resize_start(obj, mode);
+}
+
+EAPI void
+elm_win_focus_highlight_animate_set(Efl_Ui_Win *obj, Eina_Bool animate)
+{
+   efl_ui_win_focus_highlight_animate_set(obj, animate);
+}
+
+EAPI Eina_Bool
+elm_win_focus_highlight_animate_get(const Efl_Ui_Win *obj)
+{
+   return efl_ui_win_focus_highlight_animate_get(obj);
+}
+
+EAPI void
+elm_win_focus_highlight_enabled_set(Efl_Ui_Win *obj, Eina_Bool enabled)
+{
+   efl_ui_win_focus_highlight_enabled_set(obj, enabled);
+}
+
+EAPI Eina_Bool
+elm_win_focus_highlight_enabled_get(const Efl_Ui_Win *obj)
+{
+   return efl_ui_win_focus_highlight_enabled_get(obj);
+}
+
+EAPI Eina_Bool
+elm_win_focus_highlight_style_set(Efl_Ui_Win *obj, const char *style)
+{
+   return efl_ui_win_focus_highlight_style_set(obj, style);
+}
+
+EAPI const char *
+elm_win_focus_highlight_style_get(const Efl_Ui_Win *obj)
+{
+   return efl_ui_win_focus_highlight_style_get(obj);
+}
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index 0eeac1970c..301435f2d3 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -10,7 +10,6 @@ enum Efl.Ui.Win_Type
 
      Currently, only the X11 backed engines use them.
    ]]
-   legacy: efl_ui_win;
 
    unknown = -1, [[Default, unknown, type]]
    basic, [[A normal window. Indicates a normal, top-level window. Almost every
@@ -38,6 +37,10 @@ enum Efl.Ui.Win_Type
                    a new E-Mail received.]]
    combo, [[A window holding the contents of a combo box. Not usually used in
             the EFL.]]
+   dnd,
+   inlined_image,
+   socket_image,
+   fake,
    /* Some types have been removed from EO. Skipping to 17. */
    naviframe_basic = 17 [[Used for naviframe style replacement with a back
                           button instead of a close button.
@@ -52,7 +55,6 @@ enum Efl.Ui.Win_Keyboard_Mode
      When the application window is being managed by Illume it may request
      any of the following layouts for the virtual keyboard.
    ]]
-   legacy: efl_ui_win_keyboard;
 
    unknown, [[Unknown keyboard state]]
    off, [[Request to deactivate the keyboard]]
@@ -75,7 +77,6 @@ enum Efl.Ui.Win_Keyboard_Mode
 enum Efl.Ui.Win_Indicator_Mode
 {
    [[Defines the type indicator that can be shown]]
-   legacy: efl_ui_win_indicator;
 
    off, [[Request to deactivate the indicator]]
    bg_opaque, [[The indicator icon is opaque, as is the indicator background.
@@ -93,7 +94,6 @@ enum Efl.Ui.Win_Keygrab_Mode
    [[Define the keygrab modes of window. A window may send commands to the
      Keyrouter according this mode, and perform different actions.]]
 
-   legacy: efl_ui_win_keygrab;
    unknown = 0, [[Unknown keygrab mode]]
    shared = (1 << 8), [[Get the grabbed-key together with the other client
                         windows]]
@@ -110,7 +110,6 @@ enum Efl.Ui.Win_Keygrab_Mode
 enum Efl.Ui.Win_Modal_Mode
 {
    [[Defines the mode of a modal window]]
-   legacy: efl_ui_win_modal;
 
    none, [[The window is not modal window.]]
    modal [[The window is modal window.]]
@@ -119,7 +118,6 @@ enum Efl.Ui.Win_Modal_Mode
 enum Efl.Ui.Win_Urgent_Mode
 {
    [[Defines the mode of a urgent window.]]
-   legacy: efl_ui_win_urgent;
 
    none,  [[The window is not a urgent window.]]
    urgent [[The window is a urgent window.]]
@@ -147,7 +145,6 @@ enum Efl.Ui.Win_Move_Resize_Mode
 
      @since 1.19
    ]]
-   legacy: efl_ui_win_move_resize;
 
    move = 1,           [[Start moving window]]
    top = (1 << 1),     [[Start resizing window to the top]]
@@ -163,7 +160,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
                   Efl.Ui.Widget_Focus_Manager, Efl.Ui.Focus.Manager_Window_Root
 {
    [[Efl UI window class]]
-   legacy_prefix: elm_win;
    methods {
       @property indicator_mode {
            [[In some environments you may have an indicator that
@@ -178,10 +174,8 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
            @since 1.18
          ]]
          set {
-            legacy: null;
          }
          get {
-            legacy: null;
          }
          values {
             type: Efl.Ui.Win_Indicator_Mode; [[The mype, one of 
@Efl.Ui.Win_Indicator_Mode.]]
@@ -211,10 +205,8 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
             allow_270: bool; [[Rotated 270 degrees CCW (i.e. 90 CW).]]
          }
          set {
-            legacy: null;
          }
          get {
-            legacy: null;
             return: bool; [[Returns $false if available rotations were
                             not specified.]]
          }
@@ -222,10 +214,8 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
       @property wm_available_profiles {
          [[Available profiles on a window.]]
          set {
-            legacy: null;
          }
          get {
-            legacy: null;
          }
          values {
             profiles: const(array<string>); [[A list of profiles.]]
@@ -347,11 +337,9 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
       @property minimized {
          set {
             [[Set the minimized state of a window.]]
-            legacy: elm_win_iconified_set;
          }
          get {
             [[Get the minimized state of a window.]]
-            legacy: elm_win_iconified_get;
          }
          values {
             state: bool; [[If $true, the window is minimized.]]
@@ -398,11 +386,9 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
       @property urgent {
          set {
             [[Set the urgent state of a window.]]
-            legacy: null;
          }
          get {
             [[Get the urgent state of a window.]]
-            legacy: null;
          }
          values {
             urgent: Efl.Ui.Win_Urgent_Mode;
@@ -412,11 +398,9 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
       @property modal {
          set {
             [[Set the modal state of a window.]]
-            legacy: null;
          }
          get {
             [[Get the modal state of a window.]]
-            legacy: null;
          }
          values {
             modal: Efl.Ui.Win_Modal_Mode; [[The mode of a window, one of 
@Efl.Ui.Win_Modal_Mode.]]
@@ -471,7 +455,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
          ]]
          set {
             [[Set the role of the window.]]
-            legacy: elm_win_role_set;
          }
          get {
             [[Get the role of the window.
@@ -480,7 +463,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
               freed or modified. It will also be invalid if a new role
               is set or if the window is destroyed.
             ]]
-            legacy: elm_win_role_get;
          }
          values {
             role: string; [[The role to set.]]
@@ -498,11 +480,9 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
          ]]
          set {
             [[Name can only be set before finalize.]]
-            legacy: null;
          }
          get {
             [[ @since 1.18 ]]
-            legacy: elm_win_name_get;
          }
          values {
             name: string @nullable; [[Window name]]
@@ -520,11 +500,9 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
          ]]
          set {
             [[Type can on be set before finalize.]]
-            legacy: null;
          }
          get {
             [[If the object is not window object, returns $unknown.]]
-            legacy: elm_win_type_get;
          }
          values {
             type: Efl.Ui.Win_Type(Efl.Ui.Win_Type.unknown); [[Window type]]
@@ -579,7 +557,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
             accel: string; [[Acceleration]]
          }
          set {
-            legacy: null;
          }
          get {
             [[This will return the value of "accel_preference" when the window
@@ -730,7 +707,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
             @in grab_mode: Efl.Ui.Win_Keygrab_Mode; [[Describes how the key 
should
                  be grabbed, wrt. focus and stacking.]]
          }
-         legacy: null;
       }
       keygrab_unset {
          [[Unset keygrab value of the window
@@ -745,7 +721,6 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
             @in not_modifiers: Efl.Input.Modifier; [[A combination of modifier 
keys
                  that must not be present to trigger the event. Not supported 
yet.]]
          }
-         legacy: null;
       }
       move_resize_start {
          [[Start moving or resizing the window.
@@ -855,10 +830,8 @@ class @beta Efl.Ui.Win extends Efl.Ui.Widget implements 
Efl.Canvas.Scene, Efl.Ac
            The value will automatically change when the WM of this window 
changes its rotation. This rotation is automatically applied to all 
@Efl.Ui.Layout objects.
          ]]
          set {
-          legacy: null;
          }
          get {
-          legacy: null;
          }
          values {
            rotation : Efl.Orient; [[The rotation of the window]]
diff --git a/src/lib/elementary/efl_ui_win_inlined.c 
b/src/lib/elementary/efl_ui_win_inlined.c
index 54407b7705..403dde50cc 100644
--- a/src/lib/elementary/efl_ui_win_inlined.c
+++ b/src/lib/elementary/efl_ui_win_inlined.c
@@ -36,7 +36,7 @@ _efl_ui_win_inlined_inlined_parent_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Win_Inl
 EOLIAN static Efl_Object *
 _efl_ui_win_inlined_efl_object_finalize(Eo *obj, Efl_Ui_Win_Inlined_Data *pd 
EINA_UNUSED)
 {
-   efl_ui_win_type_set(obj, ELM_WIN_INLINED_IMAGE);
+   efl_ui_win_type_set(obj, EFL_UI_WIN_TYPE_INLINED_IMAGE);
    obj = efl_finalize(efl_super(obj, MY_CLASS));
 
    return obj;
diff --git a/src/lib/elementary/efl_ui_win_socket.c 
b/src/lib/elementary/efl_ui_win_socket.c
index 14ddfdc83f..544eddefbc 100644
--- a/src/lib/elementary/efl_ui_win_socket.c
+++ b/src/lib/elementary/efl_ui_win_socket.c
@@ -21,7 +21,7 @@ typedef struct
 EOLIAN static Efl_Object *
 _efl_ui_win_socket_efl_object_finalize(Eo *obj, Efl_Ui_Win_Socket_Data *pd 
EINA_UNUSED)
 {
-   efl_ui_win_type_set(obj, ELM_WIN_SOCKET_IMAGE);
+   efl_ui_win_type_set(obj, EFL_UI_WIN_TYPE_SOCKET_IMAGE);
    obj = efl_finalize(efl_super(obj, MY_CLASS));
 
    return obj;
diff --git a/src/lib/elementary/elm_win_legacy.h 
b/src/lib/elementary/elm_win_legacy.h
index ef4f74fa14..613e0eb74b 100644
--- a/src/lib/elementary/elm_win_legacy.h
+++ b/src/lib/elementary/elm_win_legacy.h
@@ -1,5 +1,3 @@
-#include "efl_ui_win.eo.legacy.h"
-
 /**
  * @brief In some environments, like phones, you may have an indicator that
  * shows battery status, reception, time etc. This is the indicator.
@@ -50,59 +48,145 @@ typedef enum
   ELM_ILLUME_COMMAND_CLOSE /** Closes the currently active window */
 } Elm_Illume_Command;
 
-typedef Efl_Ui_Win_Type       Elm_Win_Type;
-
-#define ELM_WIN_UNKNOWN              EFL_UI_WIN_UNKNOWN
-#define ELM_WIN_BASIC                EFL_UI_WIN_BASIC
-#define ELM_WIN_DIALOG_BASIC         EFL_UI_WIN_DIALOG_BASIC
-#define ELM_WIN_DESKTOP              EFL_UI_WIN_DESKTOP
-#define ELM_WIN_DOCK                 EFL_UI_WIN_DOCK
-#define ELM_WIN_TOOLBAR              EFL_UI_WIN_TOOLBAR
-#define ELM_WIN_MENU                 EFL_UI_WIN_MENU
-#define ELM_WIN_UTILITY              EFL_UI_WIN_UTILITY
-#define ELM_WIN_SPLASH               EFL_UI_WIN_SPLASH
-#define ELM_WIN_DROPDOWN_MENU        EFL_UI_WIN_DROPDOWN_MENU
-#define ELM_WIN_POPUP_MENU           EFL_UI_WIN_POPUP_MENU
-#define ELM_WIN_TOOLTIP              EFL_UI_WIN_TOOLTIP
-#define ELM_WIN_NOTIFICATION         EFL_UI_WIN_NOTIFICATION
-#define ELM_WIN_COMBO                EFL_UI_WIN_COMBO
-/**
- * Used to indicate the window is a representation of an object being
- * dragged across different windows, or even applications. Typically
- * used with elm_win_override_set().
- */
-#define ELM_WIN_DND                  13
-#define ELM_WIN_INLINED_IMAGE        14
-#define ELM_WIN_SOCKET_IMAGE         15
-#define ELM_WIN_FAKE                 16 /**< See elm_win_fake_add(). @since 
1.13 */
-#define ELM_WIN_NAVIFRAME_BASIC      EFL_UI_WIN_NAVIFRAME_BASIC
-
-typedef Efl_Ui_Win_Keyboard_Mode        Elm_Win_Keyboard_Mode;
-
-#define ELM_WIN_KEYBOARD_UNKNOWN        EFL_UI_WIN_KEYBOARD_UNKNOWN
-#define ELM_WIN_KEYBOARD_OFF            EFL_UI_WIN_KEYBOARD_OFF
-#define ELM_WIN_KEYBOARD_ON             EFL_UI_WIN_KEYBOARD_ON
-#define ELM_WIN_KEYBOARD_ALPHA          EFL_UI_WIN_KEYBOARD_ALPHA
-#define ELM_WIN_KEYBOARD_NUMERIC        EFL_UI_WIN_KEYBOARD_NUMERIC
-#define ELM_WIN_KEYBOARD_PIN            EFL_UI_WIN_KEYBOARD_PIN
-#define ELM_WIN_KEYBOARD_PHONE_NUMBER   EFL_UI_WIN_KEYBOARD_PHONE_NUMBER
-#define ELM_WIN_KEYBOARD_HEX            EFL_UI_WIN_KEYBOARD_HEX
-#define ELM_WIN_KEYBOARD_TERMINAL       EFL_UI_WIN_KEYBOARD_TERMINAL
-#define ELM_WIN_KEYBOARD_PASSWORD       EFL_UI_WIN_KEYBOARD_PASSWORD
-#define ELM_WIN_KEYBOARD_IP             EFL_UI_WIN_KEYBOARD_IP
-#define ELM_WIN_KEYBOARD_HOST           EFL_UI_WIN_KEYBOARD_HOST
-#define ELM_WIN_KEYBOARD_FILE           EFL_UI_WIN_KEYBOARD_FILE
-#define ELM_WIN_KEYBOARD_URL            EFL_UI_WIN_KEYBOARD_URL
-#define ELM_WIN_KEYBOARD_KEYPAD         EFL_UI_WIN_KEYBOARD_KEYPAD
-#define ELM_WIN_KEYBOARD_J2ME           EFL_UI_WIN_KEYBOARD_J2ME
-
-typedef Efl_Ui_Win_Keygrab_Mode         Elm_Win_Keygrab_Mode;
-
-#define ELM_WIN_KEYGRAB_UNKNOWN              EFL_UI_WIN_KEYGRAB_UNKNOWN
-#define ELM_WIN_KEYGRAB_SHARED               EFL_UI_WIN_KEYGRAB_SHARED
-#define ELM_WIN_KEYGRAB_TOPMOST              EFL_UI_WIN_KEYGRAB_TOPMOST
-#define ELM_WIN_KEYGRAB_EXCLUSIVE            EFL_UI_WIN_KEYGRAB_EXCLUSIVE
-#define ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE   
EFL_UI_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE
+
+/**
+ * @brief Defines the types of window that can be created
+ *
+ * These are hints set on a window so that a running Window Manager knows how
+ * the window should be handled and/or what kind of decorations it should have.
+ *
+ * Currently, only the X11 backed engines use them.
+ *
+ * @ingroup Elm_Win
+ */
+typedef enum
+{
+  ELM_WIN_UNKNOWN = -1 /* +1 */, /**< Default, unknown, type */
+  ELM_WIN_BASIC, /**< A normal window. Indicates a normal, top-level window.
+                     * Almost every window will be created with this type. */
+  ELM_WIN_DIALOG_BASIC, /**< Used for simple dialog windows. */
+  ELM_WIN_DESKTOP, /**< For special desktop windows, like a background window
+                       * holding desktop icons. */
+  ELM_WIN_DOCK, /**< The window is used as a dock or panel. Usually would be
+                    * kept on top of any other window by the Window Manager. */
+  ELM_WIN_TOOLBAR, /**< The window is used to hold a floating toolbar, or
+                       * similar. */
+  ELM_WIN_MENU, /**< Similar to @.toolbar. */
+  ELM_WIN_UTILITY, /**< A persistent utility window, like a toolbox or
+                       * palette. */
+  ELM_WIN_SPLASH, /**< Splash window for a starting up application. */
+  ELM_WIN_DROPDOWN_MENU, /**< The window is a dropdown menu, as when an
+                             *  entry in a menubar is clicked. This hint exists
+                             * for completion only, as the EFL way of
+                             * implementing a menu would not normally use a
+                             * separate window for its contents. */
+  ELM_WIN_POPUP_MENU, /**< Like @.dropdown_menu, but for the menu triggered
+                          * by right-clicking an object. */
+  ELM_WIN_TOOLTIP, /**< The window is a tooltip. A short piece of explanatory
+                       * text that typically appear after the mouse cursor
+                       * hovers over an object for a while. Typically not very
+                       * commonly used in the EFL. */
+  ELM_WIN_NOTIFICATION, /**< A notification window, like a warning about
+                            * battery life or a new E-Mail received. */
+  ELM_WIN_COMBO, /**< A window holding the contents of a combo box. Not
+                     * usually used in the EFL. */
+
+/**
+* Used to indicate the window is a representation of an object being
+* dragged across different windows, or even applications. Typically
+* used with elm_win_override_set().
+*/
+  ELM_WIN_DND,
+  ELM_WIN_INLINED_IMAGE,
+  ELM_WIN_SOCKET_IMAGE,
+  ELM_WIN_FAKE, /**< See elm_win_fake_add(). @since 1.13 */
+
+  ELM_WIN_NAVIFRAME_BASIC, /**< Used for naviframe style replacement with
+                                   * a back button instead of a close button.
+                                   *
+                                   * @since 1.19 */
+} Elm_Win_Type;
+
+/**
+ * @brief The different layouts that can be requested for the virtual keyboard.
+ *
+ * When the application window is being managed by Illume it may request any of
+ * the following layouts for the virtual keyboard.
+ *
+ * @ingroup Elm_Win
+ */
+typedef enum
+{
+  ELM_WIN_KEYBOARD_UNKNOWN = 0, /**< Unknown keyboard state */
+  ELM_WIN_KEYBOARD_OFF, /**< Request to deactivate the keyboard */
+  ELM_WIN_KEYBOARD_ON, /**< Enable keyboard with default layout */
+  ELM_WIN_KEYBOARD_ALPHA, /**< Alpha (a-z) keyboard layout */
+  ELM_WIN_KEYBOARD_NUMERIC, /**< Numeric keyboard layout */
+  ELM_WIN_KEYBOARD_PIN, /**< PIN keyboard layout */
+  ELM_WIN_KEYBOARD_PHONE_NUMBER, /**< Phone keyboard layout */
+  ELM_WIN_KEYBOARD_HEX, /**< Hexadecimal numeric keyboard layout */
+  ELM_WIN_KEYBOARD_TERMINAL, /**< Full (QWERTY) keyboard layout */
+  ELM_WIN_KEYBOARD_PASSWORD, /**< Password keyboard layout */
+  ELM_WIN_KEYBOARD_IP, /**< IP keyboard layout */
+  ELM_WIN_KEYBOARD_HOST, /**< Host keyboard layout */
+  ELM_WIN_KEYBOARD_FILE, /**< File keyboard layout */
+  ELM_WIN_KEYBOARD_URL, /**< URL keyboard layout */
+  ELM_WIN_KEYBOARD_KEYPAD, /**< Keypad layout */
+  ELM_WIN_KEYBOARD_J2ME /**< J2ME keyboard layout */
+} Elm_Win_Keyboard_Mode;
+
+/** Define the keygrab modes of window. A window may send commands to the
+ * Keyrouter according this mode, and perform different actions.
+ *
+ * @ingroup Elm_Win
+ */
+typedef enum
+{
+  ELM_WIN_KEYGRAB_UNKNOWN = 0, /**< Unknown keygrab mode */
+  ELM_WIN_KEYGRAB_SHARED = 256 /* 1 >> 8 */, /**< Get the grabbed-key
+                                                 * together with the other
+                                                 * client windows */
+  ELM_WIN_KEYGRAB_TOPMOST = 512 /* 1 >> 9 */, /**< Get the grabbed-key only
+                                                  * when window is top of the
+                                                  * stack */
+  ELM_WIN_KEYGRAB_EXCLUSIVE = 1024 /* 1 >> 10 */, /**< Get the grabbed-key
+                                                      * exclusively regardless
+                                                      * of window's position */
+  ELM_WIN_KEYGRAB_OVERRIDE_EXCLUSIVE = 2048 /* 1 >> 11 */ /**< Get the 
grabbed-key exclusively
+                                                              * regardless of 
window's position.
+                                                              * This is 
overrided by grabs from the
+                                                              * other client 
window */
+} Elm_Win_Keygrab_Mode;
+
+
+/**
+ * @brief Define the move or resize mode of window.
+ *
+ * The user can request the display server to start moving or resizing the
+ * window by combining these modes. However only limited combinations are
+ * allowed.
+ *
+ * Currently, only the following 9 combinations are permitted. More
+ * combinations may be added in future: 1. move, 2. top, 3. bottom, 4. left, 5.
+ * right, 6. top | left, 7. top | right, 8. bottom | left, 9. bottom | right.
+ *
+ * @since 1.19
+ *
+ * @ingroup Elm_Win
+ */
+typedef enum
+{
+  ELM_WIN_MOVE_RESIZE_MOVE = 1, /**< Start moving window */
+  ELM_WIN_MOVE_RESIZE_TOP = 2 /* 1 >> 1 */, /**< Start resizing window to the
+                                                * top */
+  ELM_WIN_MOVE_RESIZE_BOTTOM = 4 /* 1 >> 2 */, /**< Start resizing window to
+                                                   * the bottom */
+  ELM_WIN_MOVE_RESIZE_LEFT = 8 /* 1 >> 3 */, /**< Start resizing window to
+                                                 * the left */
+  ELM_WIN_MOVE_RESIZE_RIGHT = 16 /* 1 >> 4 */ /**< Start resizing window to
+                                                  * the right */
+} Elm_Win_Move_Resize_Mode;
+
 
 /**
  * Adds a window object. If this is the first window created, pass NULL as
@@ -1264,3 +1348,602 @@ EAPI void 
elm_win_wm_rotation_available_rotations_set(Elm_Win *obj, const int *r
  * @ingroup Efl_Ui_Win
  */
 EAPI Eina_Bool elm_win_wm_rotation_available_rotations_get(const Elm_Win *obj, 
int **rotations, unsigned int *count);
+
+
+/**
+ * @brief Constrain the maximum width and height of a window to the width and
+ * height of the screen.
+ *
+ * When @c constrain is @c true, @c obj will never resize larger than the
+ * screen.
+ *
+ * @param[in] obj The object.
+ * @param[in] constrain @c true to restrict the window's maximum size.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_screen_constrain_set(Evas_Object *obj, Eina_Bool constrain);
+
+/**
+ * @brief Get the constraints on the maximum width and height of a window
+ * relative to the width and height of the screen.
+ *
+ * When this function returns @c true, @c obj will never resize larger than the
+ * screen.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true to restrict the window's maximum size.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_screen_constrain_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the window to be skipped by keyboard focus.
+ *
+ * This sets the window to be skipped by normal keyboard input. This means a
+ * window manager will be asked not to focus this window as well as omit it
+ * from things like the taskbar, pager, "alt-tab" list etc. etc.
+ *
+ * Call this and enable it on a window BEFORE you show it for the first time,
+ * otherwise it may have no effect.
+ *
+ * Use this for windows that have only output information or might only be
+ * interacted with by the mouse or touchscreen, never for typing. This may have
+ * side-effects like making the window non-accessible in some cases unless the
+ * window is specially handled. Use this with care.
+ *
+ * @param[in] obj The object.
+ * @param[in] skip The skip flag state ($true if it is to be skipped).
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_prop_focus_skip_set(Evas_Object *obj, Eina_Bool skip);
+
+/**
+ * @brief Window's autohide state.
+ *
+ * When closing the window in any way outside of the program control, like
+ * pressing the X button in the titlebar or using a command from the Window
+ * Manager, a "delete,request" signal is emitted to indicate that this event
+ * occurred and the developer can take any action, which may include, or not,
+ * destroying the window object.
+ *
+ * When this property is set to @c true, the window will be automatically
+ * hidden when this event occurs, after the signal is emitted. If this property
+ * is @c false nothing will happen, beyond the event emission.
+ *
+ * C applications can use this option along with the quit policy
+ * @c ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN which allows exiting EFL's main loop
+ * when all the windows are hidden.
+ *
+ * @note @c autodel and @c autohide are not mutually exclusive. The window will
+ * be deleted if both are set to @c true.
+ *
+ * @param[in] obj The object.
+ * @param[in] autohide If @c true, the window will automatically hide itself
+ * when closed.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_autohide_set(Evas_Object *obj, Eina_Bool autohide);
+
+/**
+ * @brief Window's autohide state.
+ *
+ * When closing the window in any way outside of the program control, like
+ * pressing the X button in the titlebar or using a command from the Window
+ * Manager, a "delete,request" signal is emitted to indicate that this event
+ * occurred and the developer can take any action, which may include, or not,
+ * destroying the window object.
+ *
+ * When this property is set to @c true, the window will be automatically
+ * hidden when this event occurs, after the signal is emitted. If this property
+ * is @c false nothing will happen, beyond the event emission.
+ *
+ * C applications can use this option along with the quit policy
+ * @c ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN which allows exiting EFL's main loop
+ * when all the windows are hidden.
+ *
+ * @note @c autodel and @c autohide are not mutually exclusive. The window will
+ * be deleted if both are set to @c true.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window will automatically hide itself when closed.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_autohide_get(const Evas_Object *obj);
+
+/**
+ * @brief Set a window object's icon.
+ *
+ * This sets an image to be used as the icon for the given window, in the
+ * window manager decoration part. The exact pixel dimensions of the object
+ * (not object size) will be used and the image pixels will be used as-is when
+ * this function is called. If the image object has been updated, then call
+ * this function again to source the image pixels and place them in the
+ * window's icon. Note that only objects of type @ref Efl_Canvas_Image or
+ * @ref Efl_Ui_Image are allowed.
+ *
+ * @param[in] obj The object.
+ * @param[in] icon The image object to use for an icon.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_icon_object_set(Evas_Object *obj, Evas_Object *icon);
+
+/**
+ * @brief Get the icon object used for the window.
+ *
+ * The object returns is the one marked by @ref elm_win_icon_object_set as the
+ * object to use for the window icon.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The Evas image object to use for an icon.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI const Evas_Object *elm_win_icon_object_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the iconified state of a window.
+ *
+ * @param[in] obj The object.
+ * @param[in] iconified If @c true, the window is iconified.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_iconified_set(Evas_Object *obj, Eina_Bool iconified);
+
+/**
+ * @brief Get the iconified state of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window is iconified.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_iconified_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the maximized state of a window.
+ *
+ * @param[in] obj The object.
+ * @param[in] maximized If @c true, the window is maximized.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_maximized_set(Evas_Object *obj, Eina_Bool maximized);
+
+/**
+ * @brief Get the maximized state of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window is maximized.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_maximized_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the fullscreen state of a window.
+ *
+ * @param[in] obj The object.
+ * @param[in] fullscreen If @c true, the window is fullscreen.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen);
+
+/**
+ * @brief Get the fullscreen state of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window is fullscreen.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_fullscreen_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the sticky state of the window.
+ *
+ * Hints the Window Manager that the window in @c obj should be left fixed at
+ * its position even when the virtual desktop it's on moves or changes.
+ *
+ * @param[in] obj The object.
+ * @param[in] sticky If @c true, the window's sticky state is enabled.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky);
+
+/**
+ * @brief Get the sticky state of the window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window's sticky state is enabled.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_sticky_get(const Evas_Object *obj);
+
+
+
+
+
+/**
+ * @brief Set the noblank property of a window.
+ *
+ * The "noblank" property is a way to request the display on which the window
+ * is shown does not blank, go to screensaver or otherwise hide or obscure the
+ * window. It is intended for uses such as media playback on a television where
+ * a user may not want to be interrupted by an idle screen. The noblank
+ * property may have no effect if the window is iconified/minimized or hidden.
+ *
+ * @param[in] obj The object.
+ * @param[in] noblank If @c true, the window is set to noblank.
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_noblank_set(Evas_Object *obj, Eina_Bool noblank);
+
+/**
+ * @brief Get the noblank property of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window is set to noblank.
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_noblank_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the borderless state of a window.
+ *
+ * This function requests the Window Manager not to draw any decoration around
+ * the window.
+ *
+ * @param[in] obj The object.
+ * @param[in] borderless If @c true, the window is borderless.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_borderless_set(Evas_Object *obj, Eina_Bool borderless);
+
+/**
+ * @brief Get the borderless state of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, the window is borderless.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_borderless_get(const Evas_Object *obj);
+
+/**
+ * @brief The role of the window.
+ *
+ * It is a hint of how the Window Manager should handle it. Unlike
+ * @ref elm_win_type_get and @ref elm_win_name_get this can be changed at
+ * runtime.
+ *
+ * Set the role of the window.
+ *
+ * @param[in] obj The object.
+ * @param[in] role The role to set.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_role_set(Evas_Object *obj, const char *role);
+
+/**
+ * @brief The role of the window.
+ *
+ * It is a hint of how the Window Manager should handle it. Unlike
+ * @ref elm_win_type_get and @ref elm_win_name_get this can be changed at
+ * runtime.
+ *
+ * Get the role of the window.
+ *
+ * The returned string is an internal one and should not be freed or modified.
+ * It will also be invalid if a new role is set or if the window is destroyed.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The role to set.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI const char *elm_win_role_get(const Evas_Object *obj);
+
+
+/**
+ * @brief The window name.
+ *
+ * The meaning of name depends on the underlying windowing system.
+ *
+ * The window name is a construction property that can only be set at creation
+ * time, before finalize. In C this means inside @c efl_add().
+ *
+ * @note Once set, it cannot be modified afterwards.
+ *
+ * No description supplied.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Window name
+ *
+ * @since 1.18
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI const char *elm_win_name_get(const Evas_Object *obj);
+
+
+/**
+ * @brief The type of the window.
+ *
+ * It is a hint of how the Window Manager should handle it.
+ *
+ * The window type is a construction property that can only be set at creation
+ * time, before finalize. In C this means inside @c efl_add().
+ *
+ * @note Once set, it cannot be modified afterward.
+ *
+ * If the object is not window object, returns @c unknown.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Window type
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Elm_Win_Type elm_win_type_get(const Evas_Object *obj);
+
+
+/**
+ * @brief The hardware acceleration preference for this window.
+ *
+ * This is a constructor function and can only be called before
+ * @ref Efl.Object.finalize.
+ *
+ * This property overrides the global EFL configuration option
+ * "accel_preference" for this single window, and accepts the same syntax.
+ *
+ * The @c accel string is a freeform C string that indicates what kind of
+ * acceleration is preferred. Here "acceleration" generally refers to rendering
+ * and the hardware with which the unit application renders GUIs. This may or
+ * may not be honored but a best attempt will be made. Known strings are as
+ * follows:
+ *
+ * "gl", "opengl" - try use OpenGL. "3d" - try to use a 3d acceleration unit.
+ * "hw", "hardware", "accel" - try any acceleration unit (best possible) "none"
+ * - use no acceleration but software instead (since 1.16)
+ *
+ * Since 1.14, it is also possible to specify some GL properties for the GL
+ * window surface. This allows applications to use GLView with depth, stencil
+ * and MSAA buffers with direct rendering. The new accel preference string
+ * format is thus "{HW Accel}[:depth{value}[:stencil{value}[:msaa{str}$]$]$]".
+ *
+ * Accepted values for depth are for instance "depth", "depth16", "depth24".
+ * Accepted values for stencil are "stencil", "stencil1", "stencil8". For MSAA,
+ * only predefined strings are accepted: "msaa", "msaa_low", "msaa_mid" and
+ * "msaa_high". The selected configuration is not guaranteed and is only valid
+ * in case of GL acceleration. Only the base acceleration string will be saved
+ * (e.g. "gl" or "hw").
+ *
+ * Full examples include:
+ *
+ * "gl", - try to use OpenGL "hw:depth:stencil", - use HW acceleration with
+ * default depth and stencil buffers "opengl:depth24:stencil8:msaa_mid" - use
+ * OpenGL with 24-bit depth, 8-bit stencil and a medium number of MSAA samples
+ * in the backbuffer.
+ *
+ * Note that this option may be overriden by environment variables or the
+ * configuration option "accel_preference_override".
+ *
+ * This will return the value of "accel_preference" when the window was
+ * created.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Acceleration
+ *
+ * @since 1.18
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI const char *elm_win_accel_preference_get(const Evas_Object *obj);
+
+/**
+ * @brief Set the alpha channel state of a window.
+ *
+ * If @c alpha is true, the alpha channel of the canvas will be enabled
+ * possibly making parts of the window completely or partially transparent.
+ * This is also subject to the underlying system supporting it, for example a
+ * system using a compositing manager.
+ *
+ * @note Alpha window can be enabled automatically by window theme style's
+ * property. If "alpha" data.item is "1" or "true" in window style(eg.
+ * elm/win/base/default), the window is switched to alpha automatically without
+ * the explicit api call.
+ *
+ * @param[in] obj The object.
+ * @param[in] alpha @c true if the window alpha channel is enabled, @c false
+ * otherwise.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_alpha_set(Evas_Object *obj, Eina_Bool alpha);
+
+/**
+ * @brief Get the alpha channel state of a window.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true if the window alpha channel is enabled, @c false otherwise.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_alpha_get(const Evas_Object *obj);
+
+/**
+ * @brief Activate a window object.
+ *
+ * This function sends a request to the Window Manager to activate the window
+ * pointed by @c obj. If honored by the WM, the window will receive the
+ * keyboard focus.
+ *
+ * @note This is just a request that a Window Manager may ignore, so calling
+ * this function does not ensure in any way that the window will be the active
+ * one afterwards.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_activate(Evas_Object *obj);
+
+/**
+ * @brief Center a window on the screen.
+ *
+ * This function centers window @c obj horizontally and/or vertically based on
+ * the values of @c h and @c v.
+ *
+ * @note This is just a request that a Window Manager may ignore, so calling
+ * this function does not ensure in any way that the window will be centered
+ * afterwards.
+ *
+ * @param[in] obj The object.
+ * @param[in] h If @c true, center horizontally. If @c false, do not change
+ * horizontal location.
+ * @param[in] v If @c true, center vertically. If @c false, do not change
+ * vertical location.
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI void elm_win_center(Evas_Object *obj, Eina_Bool h, Eina_Bool v);
+
+
+
+/**
+ * @brief Start moving or resizing the window.
+ *
+ * The user can request the display server to start moving or resizing the
+ * window by combining modes from @ref Efl_Ui_Win_Move_Resize_Mode. This API
+ * can only be called if none of the following conditions is true:
+ *
+ * 1. Called in the absence of a pointer down event, 2. Called more than once
+ * before a pointer up event, 3. Called when the window is already being
+ * resized or moved, 4. Called with an unsupported combination of modes.
+ *
+ * Right usage: 1. Pointer (mouse or touch) down event, 2.
+ * @ref elm_win_move_resize_start called only once with a supported mode, 3.
+ * Pointer (mouse or touch) up event.
+ *
+ * If a pointer up event occurs after calling the function, it automatically
+ * ends the window move and resize operation.
+ *
+ * Currently, only the following 9 combinations are allowed, and possibly more
+ * combinations may be added in the future: 1. @ref ELM_WIN_MOVE_RESIZE_MOVE
+ * 2. @ref ELM_WIN_MOVE_RESIZE_TOP 3. @ref ELM_WIN_MOVE_RESIZE_BOTTOM 4.
+ * @ref ELM_WIN_MOVE_RESIZE_LEFT 5. @ref ELM_WIN_MOVE_RESIZE_RIGHT 6.
+ * @ref ELM_WIN_MOVE_RESIZE_TOP | @ref ELM_WIN_MOVE_RESIZE_LEFT 7.
+ * @ref ELM_WIN_MOVE_RESIZE_TOP | @ref ELM_WIN_MOVE_RESIZE_RIGHT 8.
+ * @ref ELM_WIN_MOVE_RESIZE_BOTTOM | @ref ELM_WIN_MOVE_RESIZE_LEFT 9.
+ * @ref ELM_WIN_MOVE_RESIZE_BOTTOM | @ref ELM_WIN_MOVE_RESIZE_RIGHT
+ *
+ * In particular move and resize cannot happen simultaneously.
+ *
+ * @note the result of this API can only guarantee that the request has been
+ * forwarded to the server, but there is no guarantee that the request can be
+ * processed by the display server.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The requested move or resize mode.
+ *
+ * @return @c true if the request was successfully sent to the display server,
+ * @c false in case of error.
+ *
+ * @since 1.19
+ *
+ * @ingroup Elm_Win_Group
+ */
+EAPI Eina_Bool elm_win_move_resize_start(Evas_Object *obj, 
Elm_Win_Move_Resize_Mode mode);
+
+/**
+ * @brief Set the animate status for the focus highlight for this window.
+ *
+ * This function will enable or disable the animation of focus highlight only
+ * for the given window, regardless of the global setting for it.
+ *
+ * @param[in] animate The enabled value for the highlight animation.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI void elm_win_focus_highlight_animate_set(Elm_Win *obj, Eina_Bool animate);
+
+/**
+ * @brief Get the animate value of the focus highlight for this window.
+ *
+ * @return The enabled value for the highlight animation.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI Eina_Bool elm_win_focus_highlight_animate_get(const Elm_Win *obj);
+
+/**
+ * @brief Set the enabled status for the focus highlight in a window.
+ *
+ * This function will enable or disable the focus highlight only for the given
+ * window, regardless of the global setting for it.
+ *
+ * @param[in] enabled The enabled value for the highlight.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI void elm_win_focus_highlight_enabled_set(Elm_Win *obj, Eina_Bool enabled);
+
+/**
+ * @brief Get the enabled value of the focus highlight for this window.
+ *
+ * @return The enabled value for the highlight.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Elm_Win *obj);
+
+/**
+ * @brief Set the style for the focus highlight on this window.
+ *
+ * Sets the style to use for theming the highlight of focused objects on the
+ * given window. If @c style is NULL, the default will be used.
+ *
+ * @param[in] style The style or @c null if none.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI Eina_Bool elm_win_focus_highlight_style_set(Elm_Win *obj, const char 
*style);
+
+/**
+ * @brief Get the style set for the focus highlight object.
+ *
+ * @return The style or @c null if none.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI const char *elm_win_focus_highlight_style_get(const Elm_Win *obj);
diff --git a/src/tests/elementary/efl_ui_test_image.c 
b/src/tests/elementary/efl_ui_test_image.c
index 6c5e9f8bb5..244f1047e4 100644
--- a/src/tests/elementary/efl_ui_test_image.c
+++ b/src/tests/elementary/efl_ui_test_image.c
@@ -13,7 +13,7 @@ EFL_START_TEST(efl_ui_image_test_icon)
    Eina_Bool ok;
    const char *icon_name;
 
-   win = win_add(NULL, "image", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "image", EFL_UI_WIN_TYPE_BASIC);
 
    image = efl_add(EFL_UI_IMAGE_CLASS, win);
    efl_gfx_entity_visible_set(image, EINA_TRUE);
diff --git a/src/tests/elementary/efl_ui_test_image_zoomable.c 
b/src/tests/elementary/efl_ui_test_image_zoomable.c
index cbb16ad169..d9d9e1032c 100644
--- a/src/tests/elementary/efl_ui_test_image_zoomable.c
+++ b/src/tests/elementary/efl_ui_test_image_zoomable.c
@@ -13,7 +13,7 @@ EFL_START_TEST(efl_ui_test_image_zoomable_icon)
    Eina_Bool ok;
    const char *icon_name;
 
-   win = win_add(NULL, "photocam", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "photocam", EFL_UI_WIN_TYPE_BASIC);
 
    img_zoomable = efl_add(EFL_UI_IMAGE_ZOOMABLE_CLASS, win);
    efl_gfx_entity_visible_set(img_zoomable, EINA_TRUE);
diff --git a/src/tests/elementary/efl_ui_test_layout.c 
b/src/tests/elementary/efl_ui_test_layout.c
index 7aac2adc54..8f52408cc4 100644
--- a/src/tests/elementary/efl_ui_test_layout.c
+++ b/src/tests/elementary/efl_ui_test_layout.c
@@ -28,7 +28,7 @@ EFL_START_TEST(efl_ui_layout_test_property_bind)
    const char *part_text;
    const char text_value[] = "A random string for elm_layout_property_bind 
test";
 
-   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
 
    ly = efl_add(EFL_UI_LAYOUT_CLASS, win);
    snprintf(buf, sizeof(buf), "%s/objects/test.edj", ELM_TEST_DATA_DIR);
@@ -58,7 +58,7 @@ EFL_START_TEST(efl_ui_layout_test_layout_api_size_min)
    Evas_Object *win;
    Eina_Size2D res;
 
-   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
    /* this is just a test to not get segfaults in those calls */
    Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
    res = efl_layout_calc_size_min(layout, EINA_SIZE2D(2, 2));
@@ -71,7 +71,7 @@ EFL_START_TEST(efl_ui_layout_test_layout_api_update_hints)
 {
    Evas_Object *win;
 
-   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
    /* this is just a test to not get segfaults in those calls */
    Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
    efl_layout_calc_auto_update_hints_set(layout, EINA_TRUE);
@@ -83,7 +83,7 @@ EFL_START_TEST(efl_ui_layout_test_layout_force)
 {
    Evas_Object *win;
 
-   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
    /* this is just a test to not get segfaults in those calls */
    Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
    efl_layout_calc_force(layout);
@@ -95,7 +95,7 @@ EFL_START_TEST(efl_ui_layout_test_layout_theme)
    Evas_Object *win;
    const char *klass, *group, *style;
 
-   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
    Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win,
      efl_ui_layout_theme_set(efl_added, "win", "background", NULL)
    );
diff --git a/src/tests/elementary/efl_ui_test_relative_layout.c 
b/src/tests/elementary/efl_ui_test_relative_layout.c
index 0471154338..540e77fa11 100644
--- a/src/tests/elementary/efl_ui_test_relative_layout.c
+++ b/src/tests/elementary/efl_ui_test_relative_layout.c
@@ -209,7 +209,7 @@ static void
 layout_setup()
 {
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC));
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC));
 
    layout = efl_add(EFL_UI_RELATIVE_LAYOUT_CLASS, win,
                     efl_gfx_entity_size_set(efl_added, EINA_SIZE2D(200, 200)));
diff --git a/src/tests/elementary/efl_ui_test_widget.c 
b/src/tests/elementary/efl_ui_test_widget.c
index 89a429b406..ad1a60fa0e 100644
--- a/src/tests/elementary/efl_ui_test_widget.c
+++ b/src/tests/elementary/efl_ui_test_widget.c
@@ -18,7 +18,7 @@ static void
 _small_ui(State *s)
 {
    s->win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
-                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                  efl_text_set(efl_added, "Hello World"));
 
    s->ic = efl_add(EFL_UI_IMAGE_CLASS, s->win,
diff --git a/src/tests/elementary/suite_helpers.c 
b/src/tests/elementary/suite_helpers.c
index 50208b79ec..682a30753e 100644
--- a/src/tests/elementary/suite_helpers.c
+++ b/src/tests/elementary/suite_helpers.c
@@ -181,7 +181,7 @@ _elm_suite_win_create()
    if (legacy_mode)
      win = elm_win_add(NULL, "elm_suite", ELM_WIN_BASIC);
    else
-     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC));
+     win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC));
    if (!buffer) return win;
    loop = efl_add(efl_loop_realized_class_get(), win);
    timer = efl_add(EFL_LOOP_TIMER_CLASS, loop,

-- 


Reply via email to