summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJi-Youn Park <jy0703.park@samsung.com>2016-11-21 20:21:15 +0830
committerJi-Youn Park <jy0703.park@samsung.com>2016-11-21 20:21:15 +0830
commitbfea8c8fca10f2979ae0baf74e16240b33a322ec (patch)
tree0a4256526aea117e41a008fc8980c9ff8f475b4c
parentc34e4b6312e8f1ff6bb67bac93d79061d1bcb728 (diff)
efl_ui_win: add function client can start moving or resizing the window.
The result of this API can only guarantee that the request has been forwared to the server, In fact, there is no guarantee that the request can be processed by the server. In order to use this API correctly, avoid the following conditions. (The following situations will return a failure) 1. Calling a function in the absence of a touch(mouse) down event. 2. Calling the function twice more than once before the touch(mouse) up event. 3. Calling the function when the elm win already resizing or moving the window. 4. Calling the function using a combination of unsupported modes. Right usage 1. touch(mouse) down event 2. efl_ui_win_move_resize_start only once using the supported mode combination. 3. touch(mouse) up event If a touch(mouse) up event occurs after calling the function, it automatically ends the window move and resize operation. Since there are some non-exclusive modes, you can use a combination of modes.(ELM_WIN_MOVE_RESIZE_MOVE is exclusive with others) However, Some combination of mode is limited for technical reasons. At present, only the following nine combinations are allowed. For more information, see the Elm.Win.Move_Resize_Mode. 1. EFL_UI_WIN_MOVE_RESIZE_MOVE 2. EFL_UI_WIN_MOVE_RESIZE_TOP 3. EFL_UI_WIN_MOVE_RESIZE_BOTTOM 4. EFL_UI_WIN_MOVE_RESIZE_LEFT 5. EFL_UI_WIN_MOVE_RESIZE_RIGHT 6. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT 7. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT 8. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT 9. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT
-rw-r--r--src/bin/elementary/test_win_state.c154
-rw-r--r--src/lib/elementary/efl_ui_win.c72
-rw-r--r--src/lib/elementary/efl_ui_win.eo71
3 files changed, 296 insertions, 1 deletions
diff --git a/src/bin/elementary/test_win_state.c b/src/bin/elementary/test_win_state.c
index c4b07f42c7..76864cb21e 100644
--- a/src/bin/elementary/test_win_state.c
+++ b/src/bin/elementary/test_win_state.c
@@ -11,6 +11,9 @@ typedef struct _Testitem
11 11
12static int rotate_with_resize = 0; 12static int rotate_with_resize = 0;
13static Eina_Bool fullscreen = EINA_FALSE; 13static Eina_Bool fullscreen = EINA_FALSE;
14static Eina_Bool floating = EINA_FALSE;
15
16static Evas_Object *win;
14 17
15static void 18static void
16my_bt_38_alpha_on(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 19my_bt_38_alpha_on(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
@@ -134,6 +137,14 @@ my_ck_38_borderless(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
134} 137}
135 138
136static void 139static void
140my_ck_38_floating(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
141{
142 Evas_Object *win = data;
143 floating = elm_check_state_get(obj);
144 elm_win_floating_mode_set(win, floating);
145}
146
147static void
137my_win_move(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) 148my_win_move(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
138{ 149{
139 Evas_Coord x, y; 150 Evas_Coord x, y;
@@ -241,10 +252,62 @@ _win_hide(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNU
241 printf("win: hide\n"); 252 printf("win: hide\n");
242} 253}
243 254
255static void
256_bt_pressed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
257{
258 int param = (int)(uintptr_t)(data);
259 Eina_Bool res = EINA_FALSE;
260
261 printf("pressed event on Button:%d\n", param);
262
263 switch (param)
264 {
265 case 1:
266 printf("Top Left\n");
267 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT);
268 break;
269 case 2:
270 printf("Top\n");
271 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP);
272 break;
273 case 3:
274 printf("Top Right\n");
275 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT);
276 break;
277 case 4:
278 printf("Left\n");
279 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_LEFT);
280 break;
281 case 5:
282 printf("Move win\n");
283 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_MOVE);
284 break;
285 case 6:
286 printf("Right\n");
287 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_RIGHT);
288 break;
289 case 7:
290 printf("Bottom Left\n");
291 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT);
292 break;
293 case 8:
294 printf("Bottom\n");
295 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM);
296 break;
297 case 9:
298 printf("Bottom Right\n");
299 res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT);
300 break;
301 default:
302 printf("No action\n");
303 }
304 printf("result = %d\n", res);
305}
306
244void 307void
245test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 308test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
246{ 309{
247 Evas_Object *win, *bg, *sl, *bx, *bx2, *bt, *ck; 310 Evas_Object *bg, *sl, *bx, *bx2, *bt, *ck, *tb;
248 311
249 win = elm_win_add(NULL, "window-states", ELM_WIN_BASIC); 312 win = elm_win_add(NULL, "window-states", ELM_WIN_BASIC);
250 elm_win_title_set(win, "Window States"); 313 elm_win_title_set(win, "Window States");
@@ -427,6 +490,15 @@ test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
427 evas_object_show(ck); 490 evas_object_show(ck);
428 elm_box_pack_end(bx, ck); 491 elm_box_pack_end(bx, ck);
429 492
493 ck = elm_check_add(win);
494 elm_object_text_set(ck, "floating");
495 elm_check_state_set(ck, floating);
496 evas_object_smart_callback_add(ck, "changed", my_ck_38_floating, win);
497 evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
498 evas_object_size_hint_align_set(ck, 0.02, 0.99);
499 evas_object_show(ck);
500 elm_box_pack_end(bx, ck);
501
430 bx2 = elm_box_add(win); 502 bx2 = elm_box_add(win);
431 elm_box_horizontal_set(bx2, EINA_TRUE); 503 elm_box_horizontal_set(bx2, EINA_TRUE);
432 elm_box_homogeneous_set(bx2, EINA_TRUE); 504 elm_box_homogeneous_set(bx2, EINA_TRUE);
@@ -476,6 +548,86 @@ test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
476 elm_box_pack_end(bx, bx2); 548 elm_box_pack_end(bx, bx2);
477 evas_object_show(bx2); 549 evas_object_show(bx2);
478 550
551 tb = elm_table_add(win);
552 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
553 evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
554
555 evas_object_show(tb);
556
557 bt = elm_button_add(win);
558 elm_object_text_set(bt, "Top Left");
559 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
560 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
561 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)1);
562 elm_table_pack(tb, bt, 0, 0, 1, 1);
563 evas_object_show(bt);
564
565 bt = elm_button_add(win);
566 elm_object_text_set(bt, "Top");
567 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
568 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
569 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)2);
570 elm_table_pack(tb, bt, 1, 0, 1, 1);
571 evas_object_show(bt);
572
573 bt = elm_button_add(win);
574 elm_object_text_set(bt, "Top Right");
575 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
576 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
577 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)3);
578 elm_table_pack(tb, bt, 2, 0, 1, 1);
579 evas_object_show(bt);
580
581 bt = elm_button_add(win);
582 elm_object_text_set(bt, "Left");
583 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
584 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
585 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)4);
586 elm_table_pack(tb, bt, 0, 1, 1, 1);
587 evas_object_show(bt);
588
589 bt = elm_button_add(win);
590 elm_object_text_set(bt, "Move");
591 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
592 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
593 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)5);
594 elm_table_pack(tb, bt, 1, 1, 1, 1);
595 evas_object_show(bt);
596
597 bt = elm_button_add(win);
598 elm_object_text_set(bt, "Right");
599 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
600 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
601 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)6);
602 elm_table_pack(tb, bt, 2, 1, 1, 1);
603 evas_object_show(bt);
604
605 bt = elm_button_add(win);
606 elm_object_text_set(bt, "Bot Left");
607 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
608 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
609 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)7);
610 elm_table_pack(tb, bt, 0, 2, 1, 1);
611 evas_object_show(bt);
612
613 bt = elm_button_add(win);
614 elm_object_text_set(bt, "Bottom");
615 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
616 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
617 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)8);
618 elm_table_pack(tb, bt, 1, 2, 1, 1);
619 evas_object_show(bt);
620
621 bt = elm_button_add(win);
622 elm_object_text_set(bt, "Bot Right");
623 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
624 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
625 evas_object_smart_callback_add(bt, "pressed", _bt_pressed, (void *)9);
626 elm_table_pack(tb, bt, 2, 2, 1, 1);
627 evas_object_show(bt);
628
629 elm_box_pack_end(bx, tb);
630
479 evas_object_resize(win, 280, 400); 631 evas_object_resize(win, 280, 400);
480 evas_object_show(win); 632 evas_object_show(win);
481} 633}
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 03e385d457..bff4075c38 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2124,6 +2124,15 @@ _win_event_del_cb(void *data, const Efl_Event *ev)
2124} 2124}
2125 2125
2126static void 2126static void
2127_elm_win_cb_mouse_up(void *data, const Efl_Event *ev EINA_UNUSED)
2128{
2129 DBG("Evas mouse up event");
2130 /*Currently wayland server didn't send mouse up event after resize the window*/
2131 Efl_Ui_Win_Data *sd = data;
2132 if(sd->resizing) sd->resizing = EINA_FALSE;
2133}
2134
2135static void
2127_deferred_ecore_evas_free(void *data) 2136_deferred_ecore_evas_free(void *data)
2128{ 2137{
2129 ecore_evas_free(data); 2138 ecore_evas_free(data);
@@ -2664,6 +2673,8 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Win_Data *sd)
2664 efl_event_callback_del(obj, EFL_EVENT_CALLBACK_DEL, _win_event_del_cb, sd); 2673 efl_event_callback_del(obj, EFL_EVENT_CALLBACK_DEL, _win_event_del_cb, sd);
2665 efl_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas); 2674 efl_event_callback_array_del(obj, _elm_win_evas_feed_fake_callbacks(), sd->evas);
2666 2675
2676 efl_event_callback_del(sd->evas, EFL_EVENT_POINTER_UP, _elm_win_cb_mouse_up, sd);
2677
2667 evas_object_del(sd->box); 2678 evas_object_del(sd->box);
2668 evas_object_del(sd->edje); 2679 evas_object_del(sd->edje);
2669 2680
@@ -4922,6 +4933,8 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
4922 efl_event_callback_add(obj, EFL_EVENT_CALLBACK_ADD, _win_event_add_cb, sd); 4933 efl_event_callback_add(obj, EFL_EVENT_CALLBACK_ADD, _win_event_add_cb, sd);
4923 efl_event_callback_add(obj, EFL_EVENT_CALLBACK_DEL, _win_event_del_cb, sd); 4934 efl_event_callback_add(obj, EFL_EVENT_CALLBACK_DEL, _win_event_del_cb, sd);
4924 4935
4936 efl_event_callback_add(sd->evas, EFL_EVENT_POINTER_UP, _elm_win_cb_mouse_up, sd);
4937
4925 evas_object_show(sd->edje); 4938 evas_object_show(sd->edje);
4926 4939
4927 if (type == ELM_WIN_FAKE) 4940 if (type == ELM_WIN_FAKE)
@@ -6340,6 +6353,65 @@ _efl_ui_win_teamwork_uri_open(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, const ch
6340#endif 6353#endif
6341} 6354}
6342 6355
6356EOLIAN static Eina_Bool
6357_efl_ui_win_move_resize_start(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Efl_Ui_Win_Move_Resize_Mode mode)
6358{
6359 Eina_Bool res = EINA_FALSE;
6360
6361#ifdef HAVE_ELEMENTARY_WL2
6362 if (!sd->wl.win) return res;
6363
6364 int i = 0;
6365 //1. move_resize can be start after mouse down event
6366 i = evas_event_down_count_get(sd->evas);
6367
6368 if (i <= 0) return res;
6369
6370 //2. check move_resize start already .
6371 if (sd->resizing) return res;
6372
6373 i = sd->rot / 90;
6374 if (mode == EFL_UI_WIN_MOVE_RESIZE_MOVE)
6375 {
6376 int ox, oy;
6377 sd->resizing = EINA_TRUE;
6378 edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque",
6379 &ox, &oy, NULL, NULL);
6380 ecore_evas_wayland_move(sd->ee, ox, oy);
6381 res = EINA_TRUE;
6382 }
6383 else
6384 {
6385 if(mode == EFL_UI_WIN_MOVE_RESIZE_TOP)
6386 sd->resize_location = _border_side[(0 + i) % 4].location;
6387 else if (mode == EFL_UI_WIN_MOVE_RESIZE_BOTTOM)
6388 sd->resize_location = _border_side[(2 + i) % 4].location;
6389 else if (mode == EFL_UI_WIN_MOVE_RESIZE_LEFT)
6390 sd->resize_location = _border_side[(1 + i) % 4].location;
6391 else if (mode == EFL_UI_WIN_MOVE_RESIZE_RIGHT)
6392 sd->resize_location = _border_side[(3 + i) % 4].location;
6393 else if (mode == (EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT))
6394 sd->resize_location = _border_corner[(0 + i) % 4].location;
6395 else if (mode == (EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT))
6396 sd->resize_location = _border_corner[(3 + i) % 4].location;
6397 else if (mode == (EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT))
6398 sd->resize_location = _border_corner[(1 + i) % 4].location;
6399 else if (mode == (EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT))
6400 sd->resize_location = _border_corner[(2 + i) % 4].location;
6401 else
6402 sd->resize_location = 0;
6403
6404 if (sd->resize_location > 0)
6405 {
6406 sd->resizing = EINA_TRUE;
6407 ecore_evas_wayland_resize(sd->ee, sd->resize_location);
6408 res = EINA_TRUE;
6409 }
6410 }
6411#endif
6412 return res;
6413}
6414
6343/* legacy APIs */ 6415/* legacy APIs */
6344 6416
6345EAPI void 6417EAPI void
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index 727422dfc7..f7b4f3abcd 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -140,6 +140,34 @@ enum Efl.Ui.Win.Urgent_Mode
140 urgent [[The window is a urgent window.]] 140 urgent [[The window is a urgent window.]]
141} 141}
142 142
143enum Efl.Ui.Win.Move_Resize_Mode
144{
145 [[Define the move or resize mode of window.
146 The user can request the server to start moving or resizing the window by combining this modes.
147 However, only limited combinations are allowd.
148
149 Currently, only the following 9 combinations are allowed (ELM_WIN_MOVE_RESIZE_MOVE should be used alone),
150 and possibly more combinations may be added in the future.
151
152 1. EFL_UI_WIN_MOVE_RESIZE_MOVE
153 2. EFL_UI_WIN_MOVE_RESIZE_TOP
154 3. EFL_UI_WIN_MOVE_RESIZE_BOTTOM
155 4. EFL_UI_WIN_MOVE_RESIZE_LEFT
156 5. EFL_UI_WIN_MOVE_RESIZE_RIGHT
157 6. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT
158 7. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT
159 8. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT
160 9. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT
161 ]]
162
163 legacy: efl_ui_win_move_resize;
164 move = 0, [[start moving window]]
165 top = (1 << 1), [[start resizing window to the top]]
166 bottom = (1 << 2), [[start resizing window to the bottom]]
167 left = (1 << 3), [[start resizing window to the left]]
168 right = (1 << 4) [[start resizing window to the right]]
169}
170
143class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window, 171class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
144 Elm.Interface.Atspi_Widget_Action, Efl.Pack, 172 Elm.Interface.Atspi_Widget_Action, Efl.Pack,
145 Efl.Input.State, Efl.Input.Interface, Efl.Screen, 173 Efl.Input.State, Efl.Input.Interface, Efl.Screen,
@@ -808,6 +836,49 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
808 @in uri: string; [[This is the uri to open]] 836 @in uri: string; [[This is the uri to open]]
809 } 837 }
810 } 838 }
839 move_resize_start {
840 [[Start moving or resizing the window.
841
842 The user can request the server to start moving or resizing the window by combining Elm.Win.Move_Resize_Mode.
843 The result of this API can only guarantee that the request has been forwared to the server,
844 In fact, there is no guarantee that the request can be processed by the server.
845
846 In order to use this API correctly, avoid the following conditions.
847 (The following situations will return a failure)
848
849 1. Calling a function in the absence of a touch(mouse) down event.
850 2. Calling the function twice more than once before the touch(mouse) up event.
851 3. Calling the function when the elm win already resizing or moving the window.
852 4. Calling the function using a combination of unsupported modes.
853
854 Right usage
855 1. touch(mouse) down event
856 2. efl_ui_win_move_resize_start only once using the supported mode combination.
857 3. touch(mouse) up event
858
859 If a touch(mouse) up event occurs after calling the function, it automatically ends the window move and resize operation.
860
861 Since there are some non-exclusive modes, you can use a combination of modes.(ELM_WIN_MOVE_RESIZE_MOVE is exclusive with others)
862 However, Some combination of mode is limited for technical reasons.
863 At present, only the following nine combinations are allowed.
864 For more information, see the Elm.Win.Move_Resize_Mode.
865
866 1. EFL_UI_WIN_MOVE_RESIZE_MOVE
867 2. EFL_UI_WIN_MOVE_RESIZE_TOP
868 3. EFL_UI_WIN_MOVE_RESIZE_BOTTOM
869 4. EFL_UI_WIN_MOVE_RESIZE_LEFT
870 5. EFL_UI_WIN_MOVE_RESIZE_RIGHT
871 6. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT
872 7. EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT
873 8. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT
874 9. EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT
875
876 ]]
877 return: bool; [[$true = success to send request to server, $false = error]]
878 params {
879 @in mode: Efl.Ui.Win.Move_Resize_Mode; [[According to the move resize mode, it can request move resize to the server differently.]]
880 }
881 }
811 } 882 }
812 implements { 883 implements {
813 class.constructor; 884 class.constructor;