platform/upstream/enlightenment.git
6 months agoe_client: Add null check of ec 02/308902/1 accepted/tizen/7.0/unified/20240403.012847
Junseok Kim [Tue, 2 Apr 2024 11:25:04 +0000 (20:25 +0900)]
e_client: Add null check of ec

Change-Id: I4c3113f996c6d5d362037b1a1730c9bf85a61dcf

6 months agoe_client: Correct the order of the newly visible E_Client 00/308900/1
Junseok Kim [Tue, 2 Apr 2024 10:54:45 +0000 (19:54 +0900)]
e_client: Correct the order of the newly visible E_Client

When adding a newly visible "EC" to the focus history, add it after the client that has higher layer.

Change-Id: I3839dcb2cf6eedfbfced998f593bcfbcdd22cd98

6 months agoe_policy_visibility: modify code to consider the child's launch cancel while waiting... 67/308767/2 accepted/tizen/7.0/unified/20240401.090757
Doyoun Kang [Mon, 1 Apr 2024 00:39:21 +0000 (09:39 +0900)]
e_policy_visibility: modify code to consider the child's launch cancel while waiting uniconify of child

If the child window is to be hidden (by visibility) while the parent window is waiting for uniconify of child window,
then the uniconify_render timeout is occurred because the parent cannot get the "e,action,launch,done" signal of the child window.
So, we add "e,action,launch,cancel" signal event and use this to prevent the timeout of above case.

Change-Id: I97145aab138ce0485767c90836805ade10704415

6 months agoe_service_gesture: Delete cleanup_timer when the last touched finger is up 29/308729/1 accepted/tizen/7.0/unified/20240401.045108
duna.oh [Fri, 29 Mar 2024 06:49:49 +0000 (15:49 +0900)]
e_service_gesture: Delete cleanup_timer when the last touched finger is up

< Normal scenario >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up - delete cleanup_timer
2nd finger touch up - pressed_fingers is zero and _gesture_cleanup() is called

< Issue scenario >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up - delete cleanup_timer
2nd finger touch up - pressed_fingers is not zero (somehow) -> clean_timer
                      is not triggered -> pressed_fingers is NOT set to zero

< TO-BE >
1st finger touch down - add cleanup_timer
2nd finger touch down
1st finger touch up
2nd finger touch up - pressed_fingers is not zero (somehow) -> cleanup_timer
                      will be triggered -> pressed_fingers is set to zero

Change-Id: Id43ef2529adb735fa19d1ca24212f7bfb71d5060

7 months agoe_comp_object: do not set direct render to Evas_Map of the effect object 64/306964/1 accepted/tizen/7.0/unified/20240304.044926
Doyoun Kang [Fri, 1 Mar 2024 00:52:53 +0000 (09:52 +0900)]
e_comp_object: do not set direct render to Evas_Map of the effect object

There was a bug that the keyboard effect didn't run.
This was because the effect object set the evas_map with direct render set.
So, we changed code not to set direct render to the Evas_Map of the effect object.

FYI,
if the direct render is set, Evas_Map is applied only to the image object among smart member objects.
So, only the image objects are rendered and another objects are not rendered.

Change-Id: I675f37f3ff9da036eaf3288e056a34fc385a5999

8 months agoe_client: check visibility of the activated window when focus set to the window 87/305487/2 accepted/tizen/7.0/unified/20240205.015616 accepted/tizen/7.0/unified/20240205.161236
Junseok Kim [Fri, 2 Feb 2024 07:48:45 +0000 (16:48 +0900)]
e_client: check visibility of the activated window when focus set to the window

There was a bug that focus unset by focus calculate after focus set by activate.
(e.g. visible window but out of zone geometry)
This problem occures because the visibility of the activated window is not checked.
For fix this issue, check visibility of the activated window when focus set.

Change-Id: I5bcba59d7ca021e681be7931b279e744b32bfc97

9 months agoe_policy_wl: resize the splash window to screen size if its size is under 1 66/304566/1 accepted/tizen/7.0/unified/20240120.042525
Doyoun Kang [Fri, 19 Jan 2024 10:25:35 +0000 (19:25 +0900)]
e_policy_wl: resize the splash window to screen size if its size is under 1

Change-Id: Ic1493311817e733ef0a3251df390fd14a92bdcc5

9 months agoe_hwc_window: remove dead code 40/303940/3 accepted/tizen/7.0/unified/20240108.164412
Changyeon Lee [Mon, 8 Jan 2024 06:51:27 +0000 (15:51 +0900)]
e_hwc_window: remove dead code

Change-Id: I5816ab9e0c41613ef4faed548ce9fc0789d0efc5

9 months agoe_hwc_window: fix the below_transparent_obj geometry when ec is transformed
Changyeon Lee [Fri, 5 Jan 2024 02:58:08 +0000 (11:58 +0900)]
e_hwc_window: fix the below_transparent_obj geometry when ec is transformed

fix mismatch geometry of ec and the below_transparent_obj

Change-Id: Ifb53f1c1e7f71e0e5a272587a97e6bbe3ec9e115

9 months agoe_hwc_window: do not add the below_transparent_obj to smart member of comp object 24/303924/1
Changyeon Lee [Thu, 4 Jan 2024 08:12:38 +0000 (17:12 +0900)]
e_hwc_window: do not add the below_transparent_obj to smart member of comp object

if color of comp object is set transparent when it is redirected,
the below_transparent_obj is not rendered in evas.

Change-Id: I8498e50effbdc788382a3dea5dd247e45bdab1a3

12 months agoRevert "e_hwc_windows: do not skip animating window in visible list" 05/299905/1 accepted/tizen/7.0/unified/20231013.015725
Changyeon Lee [Wed, 11 Oct 2023 11:06:56 +0000 (20:06 +0900)]
Revert "e_hwc_windows: do not skip animating window in visible list"

This reverts commit aff40cbe7a5f5f6d91b5052837d6a3ac41d18859.

this commit is not needed anymore

bug is fixed with commit 0eb394584

"e_hwc_windows: fix the problem that window located under 24 depth
 window is visible"

Change-Id: Id96c7450cf9232692017434687a1c70f8aea9cf9

12 months agoe_hwc_windows: synchronize present when below_transparent_window is unset 24/299224/1
Changyeon Lee [Thu, 21 Sep 2023 12:51:32 +0000 (21:51 +0900)]
e_hwc_windows: synchronize present when below_transparent_window is unset

if accepted state of hwc_window is changed Device to Client
but below_transparent_obj is displayed, black frame can be shown
even if below window is shown.
for fixing it, hwc synchronize hardware and evas compositing(present)
when below_transparent_window is unset.

Change-Id: I4e2ee5643ae8c882c2ed9aa7705d21e725e639ab

13 months agoAdd e_client_under_position_input_get() 76/283476/3
Artur Świgoń [Thu, 14 Sep 2023 09:40:15 +0000 (11:40 +0200)]
Add e_client_under_position_input_get()

Similarly to e_client_under_position_get(), it performs a hit-test, but input
regions are also considered. If input regions are present, then the specified
position needs to be inside such a region.

Change-Id: Ie75c346ffc6e535fdb678e7b5748435f9a003bbb

13 months agoe_hwc_windows: fix the problem that window located under 24 depth window is visible 62/298862/1 accepted/tizen/7.0/unified/20230918.160929
Changyeon Lee [Wed, 13 Sep 2023 12:56:48 +0000 (21:56 +0900)]
e_hwc_windows: fix the problem that window located under 24 depth window is visible

if tdm backend set target buffer to upper hw layer that used device type window,
window located under 24 depth window can be visible when evas object is visible.

so to fix the problem, hwc set transparent object when bottom ui window is device type
and target window is enabled.

Change-Id: I321b4fc84f3cb0f172d21eca92e9f317e454e77f

13 months agoe_hwc_windows: do not skip animating window in visible list 76/297776/1 accepted/tizen/7.0/unified/20230825.185046
Changyeon Lee [Wed, 23 Aug 2023 09:38:28 +0000 (18:38 +0900)]
e_hwc_windows: do not skip animating window in visible list

animating window can be shown under 24 depth fullscreen window

Change-Id: I24122a8ff2b7467d2c46c85e36723f0a84ae7654

14 months agoe_keyrouter: check validation of key when unsetting keygrab 40/297340/1 accepted/tizen/7.0/unified/20230818.185426
duna.oh [Wed, 16 Aug 2023 10:56:27 +0000 (19:56 +0900)]
e_keyrouter: check validation of key when unsetting keygrab

Change-Id: Ibe190b58eee3b85da41f6d689aee8712884ac721

15 months agoe_devicemgr_inputgen: fix to convert clas to Ecore_Device_Class when deinit generator 32/294832/1 accepted/tizen/7.0/unified/20230628.131353
duna.oh [Mon, 26 Jun 2023 08:01:28 +0000 (17:01 +0900)]
e_devicemgr_inputgen: fix to convert clas to Ecore_Device_Class when deinit generator

There was a bug sending a enum TIZEN_INPUT_DEVICE_MANAGER_CLAS_XXX
to _e_devicemgr_inputgen_list_get() API which takes Ecore_Device_Class type
as a argument.

Change-Id: Iaf6093d73134322a8c2442b022b0d49cda6c5126

15 months agoe_service_gesture: use e_util_timestamp_get() instead of ecore_timer_get() 93/294793/1 accepted/tizen/7.0/unified/20230628.014031
duna.oh [Thu, 22 Jun 2023 01:30:53 +0000 (10:30 +0900)]
e_service_gesture: use e_util_timestamp_get() instead of ecore_timer_get()

Change-Id: I2f54b82ed4a98962557c644d38474ca4f3e921b5

15 months agoe_service_gesture: add 'use_cleanup_timer' config in gesture_service 92/294792/1
duna.oh [Thu, 15 Jun 2023 00:08:58 +0000 (09:08 +0900)]
e_service_gesture: add 'use_cleanup_timer' config in gesture_service

configuration added
- use_cleanup_timer: use timer to cleanup gestures
- cleanup_time: wait for gesture ends after started (60 sec by default)

Change-Id: I9629f5b5ba3c05542bbff8a17268ed867611ffe0

15 months agoe_devicemgr: add E_API enabling to reset input block 91/294791/1
duna.oh [Thu, 15 Jun 2023 04:06:59 +0000 (13:06 +0900)]
e_devicemgr: add E_API enabling to reset input block

Change-Id: I34eb9ed5ade990af920649dd58f8a0dddbe1cd92

16 months agoe_info_server: change win_id type to uint64_t 54/293554/1 accepted/tizen/7.0/unified/20230601.105728
Junkyeong Kim [Wed, 31 May 2023 05:11:33 +0000 (14:11 +0900)]
e_info_server: change win_id type to uint64_t

Change-Id: I9a9ebd80d4d72b118512dc33e32e3cff48f6b0a4

16 months agoe_comp_wl: add checking if e_comp->pointer is null 60/293360/1
duna.oh [Mon, 22 May 2023 05:44:29 +0000 (14:44 +0900)]
e_comp_wl: add checking if e_comp->pointer is null

Change-Id: I9967ef30abb72dd97d59f2bc65b3287e06e3f576

16 months agoe_pointer: add null checking in e_pointer_object_set() 59/293359/1
duna.oh [Mon, 22 May 2023 02:15:09 +0000 (11:15 +0900)]
e_pointer: add null checking in e_pointer_object_set()

Change-Id: I2ff3a61e21a6bcf4d296eb793a8fe1e03099b509

16 months agoe_comp_wl: add break in switch in _e_comp_wl_cursor_timer_control() 58/293358/1
duna.oh [Mon, 22 May 2023 01:56:55 +0000 (10:56 +0900)]
e_comp_wl: add break in switch in _e_comp_wl_cursor_timer_control()

Change-Id: I57182350abbeaedf9484811a5cc601cd3a2598f4

16 months agoe_comp_wl: add null checking in e_comp_wl_input_cursor_timer_enable_set() 57/293357/1
duna.oh [Mon, 22 May 2023 01:00:37 +0000 (10:00 +0900)]
e_comp_wl: add null checking in e_comp_wl_input_cursor_timer_enable_set()

Change-Id: I22c1cfa7b1da182978314cdcbb8e9f28f17f8da9

16 months agoe_client: use e_client_raise during layer set by desk area 43/293243/2 accepted/tizen/7.0/unified/20230526.164239
Junseok Kim [Tue, 9 May 2023 11:15:11 +0000 (20:15 +0900)]
e_client: use e_client_raise during layer set by desk area

There was a bug that client raised to the topmost of the stack even if there're other higher E_Desk_Area.
It caused by stack change without consider E_Desk_Area.
For fix this issue, use e_client_raise instead of evas_object_raise on layer set by desk area.

Change-Id: I72c00a2a8917775641a8ec31d1c7357b408e7db4

16 months agoe_desk_area: maximize client that locked client size when desk area geom apply 42/293242/2
Junseok Kim [Wed, 26 Apr 2023 09:47:36 +0000 (18:47 +0900)]
e_desk_area: maximize client that locked client size when desk area geom apply

Change-Id: I5e600678f09e9488cdf5aceeedf5e7419ac1799a

16 months agoe_desk: remove strdup for prevent memory leak 41/293241/2
Junseok Kim [Wed, 29 Mar 2023 07:32:54 +0000 (16:32 +0900)]
e_desk: remove strdup for prevent memory leak

remove strdup call for prevent memory leak on wtz_splitscreen_region callback
and remove useless checker of the hook result

Change-Id: I91884c140eba316664cd7cf559f719c850974354

16 months agoe_client: remove null check for code readerability 40/293240/2
Junseok Kim [Wed, 29 Mar 2023 07:32:05 +0000 (16:32 +0900)]
e_client: remove null check for code readerability

Change-Id: Icea24fceca635475e33f264ddea40844e3b815dc

16 months agoe_desk_area: rename desk_group into desk_area 39/293239/2
SooChan Lim [Wed, 29 Mar 2023 06:55:46 +0000 (15:55 +0900)]
e_desk_area: rename desk_group into desk_area

Change-Id: I7b3fc33173435e3c27584c0c88e28b04d75407b1

16 months agoe_client: Use desk_group geometry for maximize reference geometry if desk group enabled 38/293238/2
Junseok Kim [Thu, 23 Mar 2023 12:12:30 +0000 (21:12 +0900)]
e_client: Use desk_group geometry for maximize reference geometry if desk group enabled

Change-Id: If4f9c847c19a9151885510df05c6739331b9c5c5

16 months agoe_desk: Duplicate appid string for send hook function 37/293237/2
Junseok Kim [Thu, 23 Mar 2023 02:01:29 +0000 (11:01 +0900)]
e_desk: Duplicate appid string for send hook function

Change-Id: I6e9a489bcb37e9173f2e71370b24f346bc0d434a
NOTE:: the appid MUST be freed on hook function

16 months agoe_desk_group: Add API for resizing method of window in desk_group 36/293236/2
Junseok Kim [Wed, 22 Mar 2023 10:57:04 +0000 (19:57 +0900)]
e_desk_group: Add API for resizing method of window in desk_group

Add API for choose resizing method of window in desk group.

when the e_desk_group_transform_enable_set receives True value,
the window in desk group will be transformed to fit to geometry of desk group same as before.
when disabled, then the window will be resized their client size to fit to geometry of desk group.

NOTE: current maximize size of the window is fit to desk.
e_client_maximized_geometry_set should be called after transform disable to set maximize size as geometry of desk_group.

Change-Id: I4175fe01cb1a4cca6dca5a296a8c27ad3a606ec1

16 months agoe_desk: check edg->name is available when generate splitscreen region 35/293235/2
Junseok Kim [Tue, 21 Mar 2023 11:21:07 +0000 (20:21 +0900)]
e_desk: check edg->name is available when generate splitscreen region

Change-Id: I9cf1fa54c73914069e6e1c8e3bffab6adc6493de

16 months agofollow the changed protocol 34/293234/2
SooChan Lim [Tue, 21 Mar 2023 08:08:14 +0000 (17:08 +0900)]
follow the changed protocol

This is the implementation for the changed wtz_screen interface.

Change-Id: Ifa4c356dbf7ad1c9e16fb299c2d3e9256da544b5

16 months agoe_zone: remove error post when the splitscreen didn't supported 33/293233/2
Junseok Kim [Fri, 17 Mar 2023 03:13:29 +0000 (12:13 +0900)]
e_zone: remove error post when the splitscreen didn't supported

Change-Id: I595bc400ebfc9db99e91b579f796ba042dd70f9f

16 months agoe_desk: Add argument to copy appid to hook function 32/293232/2
Junseok Kim [Fri, 17 Mar 2023 02:47:05 +0000 (11:47 +0900)]
e_desk: Add argument to copy appid to hook function

Change-Id: I51ea559114ce15fd0215503449e22205ff6049da

16 months agoe_desk: create using id 0 instead of id of wtz_splitscreen 31/293231/2
Junseok Kim [Fri, 17 Mar 2023 01:52:30 +0000 (10:52 +0900)]
e_desk: create using id 0 instead of id of wtz_splitscreen

Change-Id: Icc3db894b032152ca4cf82b4dfe3050d0e60b57b

16 months agoe_zone: fix typo 30/293230/2
Junseok Kim [Fri, 17 Mar 2023 01:49:10 +0000 (10:49 +0900)]
e_zone: fix typo

Change-Id: Id5ffc8f30341949b4fbad376629a2cef94683619

16 months agoe_appinfo: change e_appinfo_pid_get to E_API 29/293229/2
Junseok Kim [Tue, 27 Dec 2022 06:30:25 +0000 (15:30 +0900)]
e_appinfo: change e_appinfo_pid_get to E_API

Change-Id: I29cb1661ce84b905906f0969af14d21327f696c3

16 months agoimplement the wtz_shell protocol 28/293228/2
SooChan Lim [Thu, 9 Mar 2023 09:23:22 +0000 (18:23 +0900)]
implement the wtz_shell protocol

This is the first implementation for the wtz_shell and wtz_surface interface.

Change-Id: I37ddcb2d4cacbc4e557b23d64b9f0bb249668f9f

16 months agoimplement the wtz_screen protocol 27/293227/2
SooChan Lim [Tue, 7 Mar 2023 11:56:50 +0000 (20:56 +0900)]
implement the wtz_screen protocol

Change-Id: I258fe058b18b2889cc0dbadd862623425b8c05ba

16 months agoadd E_Desk_Group_Hook 26/293226/2
SooChan Lim [Fri, 10 Mar 2023 08:59:18 +0000 (17:59 +0900)]
add E_Desk_Group_Hook

Change-Id: If73021444670b9c8dc27e3142d4a3d19982da92c

17 months agoe_comp_wl: fix to set ec->pointer_enter_sent in mouse_in/out_send() and out() 10/292910/1 accepted/tizen/7.0/unified/20230525.170520
duna.oh [Tue, 16 May 2023 06:03:00 +0000 (15:03 +0900)]
e_comp_wl: fix to set ec->pointer_enter_sent in mouse_in/out_send() and out()

Change-Id: Ibbfa26825fa0021068e50f24ce6d24aa6a4473f3

17 months agoe_comp_wl: add function to check if cursor timer is needed to apply 70/292870/1
duna.oh [Thu, 11 May 2023 09:43:52 +0000 (18:43 +0900)]
e_comp_wl: add function to check if cursor timer is needed to apply

Change-Id: I2ee45838328a2f18056d6fd89c9717dee0160f64

17 months agoe_comp_wl_input: do not apply cursor timer logic if client has unset cursor 69/292869/1
duna.oh [Thu, 11 May 2023 00:42:58 +0000 (09:42 +0900)]
e_comp_wl_input: do not apply cursor timer logic if client has unset cursor

add has_cursor_unset member variable in E_Client struct.
If ec->has_cursor_unset is TRUE, do not apply cursor timer logic which is
to hide cursor when mouse event doesn't come (idle for such sec.) and to show
cursor when mouse event starts to come.

Change-Id: I2442ac345832b2795bf211db3c6a18f35df76595

17 months agoe_comp_wl: add checking pointer_enter_sent in _e_comp_wl_cursor_reload() 68/292868/1
duna.oh [Wed, 10 May 2023 07:33:29 +0000 (16:33 +0900)]
e_comp_wl: add checking pointer_enter_sent in _e_comp_wl_cursor_reload()

Change-Id: I0b30aeb0e80ed8f2726eaeda42e8e78f1bf5a71f

17 months agoe_comp_wl_input: add checking show_cursor before setting cursor's visible TRUE 67/292867/1
duna.oh [Wed, 10 May 2023 07:02:38 +0000 (16:02 +0900)]
e_comp_wl_input: add checking show_cursor before setting cursor's visible TRUE

Change-Id: I7978a61c6f71cb976c0428c7927e63fe5423ee54

17 months agoe_pointer: refactoring e_pointer_object_set() 66/292866/1
duna.oh [Wed, 10 May 2023 07:00:15 +0000 (16:00 +0900)]
e_pointer: refactoring e_pointer_object_set()

Change-Id: Ic5c9e2a6c50e30e9a6d12e6d9b8b1f38ee0cd095

17 months agoe_comp_wl: add intercept hooks for cursor timer when mouse wheel/down/up 65/292865/1
duna.oh [Wed, 10 May 2023 05:11:02 +0000 (14:11 +0900)]
e_comp_wl: add intercept hooks for cursor timer when mouse wheel/down/up

Change-Id: I00467aa607b43a5f8e463e5e44394b26d7e8eb79

17 months agoRevert "Revert "e_comp_object: make the frame object transparent when it is unredirec... 25/292825/1
Changyeon Lee [Mon, 15 May 2023 03:07:47 +0000 (12:07 +0900)]
Revert "Revert "e_comp_object: make the frame object transparent when it is unredirected""

This reverts commit 521314d7db521047cb2e2aaff06b450046e12e36.

e_comp_object_color_get return user_color of trasnparent if transparent is set

Change-Id: Ic465c0d141994a08ec9684abf6257a8ece77d89e

17 months agoe_input: add checking TOUCH capability in e_input_device_pointer_xy_get() 95/292695/1
duna.oh [Thu, 11 May 2023 08:30:49 +0000 (17:30 +0900)]
e_input: add checking TOUCH capability in e_input_device_pointer_xy_get()

seat->ptr.x/y could be updated by TOUCH or POINTER device.
This patch fixes the bug that if no POINTER device is attached, user couldn't
get the right values of ptr.x/y.

Change-Id: I9a8c7b708882a30a81a02db6ad6f4d2a4a87aed8

17 months agoe_hwc_window: calculate fps of hw cursor 57/292557/1
Changyeon Lee [Tue, 2 May 2023 02:51:09 +0000 (11:51 +0900)]
e_hwc_window: calculate fps of hw cursor

Change-Id: I2679ca9ca30da11cf0983c5e276088ade173281d

17 months agoe_comp_object: add e_comp_object_color_get 36/292536/1
Changyeon Lee [Tue, 9 May 2023 08:28:03 +0000 (17:28 +0900)]
e_comp_object: add e_comp_object_color_get

Change-Id: Iaac99b24ff8b8d13e72bd12d9af7b9ff72af9bdc

17 months agoAdd code to update the layout_apply information 64/292364/2 accepted/tizen/7.0/unified/20230505.170237
Doyoun Kang [Thu, 4 May 2023 08:04:56 +0000 (17:04 +0900)]
Add code to update the layout_apply information

We update the layout_apply value of EC to EINA_TRUE when the user requests to layout_set.
And we change it to EINA_FALSE when the user requests to maximize, unmaximize and
interactive move or resize.

Change-Id: Ib8f3a88d8689aad625b2cdaa453548a98ab39d5b

17 months agowinfo: add layout_apply info to topvwins option 63/292363/2
Doyoun Kang [Thu, 4 May 2023 08:01:59 +0000 (17:01 +0900)]
winfo: add layout_apply info to topvwins option

Change-Id: I1f36b43861a7d73a1b22799cc17fa288c0f09a01

17 months agoe_client: add the layout_apply value and APIs 62/292362/1
Doyoun Kang [Thu, 4 May 2023 07:56:03 +0000 (16:56 +0900)]
e_client: add the layout_apply value and APIs

We added the layout_apply code to maintain the state of layout_set as below.
1. add a layout_apply value in E_Client structure
2. add new APIs for setting/getting the layout_set apply state.
   - void e_client_layout_apply(E_Client *ec, Eina_Bool apply);
   - Eina_Bool e_client_is_layout_apply(E_Client *ec);

Change-Id: Ia785e49749b1f12173e2ba76ff2e16d09c1aca59

17 months agoRevert "e_comp_object: make the frame object transparent when it is unredirected" 44/292344/1
Changyeon Lee [Thu, 4 May 2023 08:19:14 +0000 (17:19 +0900)]
Revert "e_comp_object: make the frame object transparent when it is unredirected"

This reverts commit d4cf397796ff40363042ad4c8abbade4b1facddb.

Change-Id: I8ab5ea025607e46697015426c8a3fba09e4c7c43

17 months agoe_service_gesture: do not raise a gesture without 1st finger event 46/292246/1
duna.oh [Tue, 2 May 2023 04:49:47 +0000 (13:49 +0900)]
e_service_gesture: do not raise a gesture without 1st finger event

e_service_gesture expects multi-touch events coming after 1st finger events.
There was the bug that a gesture started from 2nd finger event and
didn't end properly since 1st finger was consumed by e-mod screen reader.
This patch add prevention check if 1st finger did come or not.

Change-Id: Ied7f991671eceb7c57aa1b78fe5fcf495b1503dd

17 months agoe_comp_object: modify e_comp_intercept_resize 17/292217/1
Doyoun Kang [Fri, 28 Apr 2023 06:36:01 +0000 (15:36 +0900)]
e_comp_object: modify e_comp_intercept_resize

When e calls evas_object_resize, then _e_comp_intercept_resize is called.
In this callback function, if the window is not ready to be resized for
various reasons (such as not yet visible), we should call e_client_size_set
to update ec's size only if the current ec's size and new size are different.
We don't check the maximize state of window because the window size may
change depending on the maximize type.

Change-Id: I536f185ccfd5edfe1d8aeff7917b8cbaaea0cc07

17 months agoe_policy: add callback for E_EVENT_ZONE_USEFUL_GEOMETRY_CHANGE 15/292215/1
Doyoun Kang [Fri, 28 Apr 2023 08:11:14 +0000 (17:11 +0900)]
e_policy: add callback for E_EVENT_ZONE_USEFUL_GEOMETRY_CHANGE

We add a E_EVENT_ZONE_USEFUL_GEOMETRY_CHANGE event callback function.
If the useful geometry of E_Zone is changed, then we re-calculate the
geometry of a maximize state windows.

Change-Id: I9171704936cc53a9dae91874c9b3c3a210ac376c

17 months agoe_client: add e_client_maximize_update function 14/292214/1
Doyoun Kang [Fri, 28 Apr 2023 08:07:53 +0000 (17:07 +0900)]
e_client: add e_client_maximize_update function

Change-Id: I85947a2ef4cb4056baf6a52e68a271152448f622

17 months agoChange maximize type for service windows 13/292213/1
Doyoun Kang [Fri, 28 Apr 2023 07:59:26 +0000 (16:59 +0900)]
Change maximize type for service windows

We changed a maximize type of special windows (such as service windows)
to MAXIMIZE_FULLSCREEN.
For this patch, if the obsctacle windows (ex, taskbar) are exist, the special
windows are maximized regardless of obstacles area.

FYI, normal window's default maximize type is E_MAXIMIZE_EXPAND and it's
maximize geometry is affected by obstacle area.

Change-Id: I02ebd9c12cd29a604bba1534e271d397410a5120

17 months agoe_zone: add Event for useful_geometry_change 12/292212/1
Doyoun Kang [Fri, 28 Apr 2023 05:13:36 +0000 (14:13 +0900)]
e_zone: add Event for useful_geometry_change

We add a new event - E_EVENT_ZONE_USEFUL_GEOMETRY_CHANGE.
This event is generated when an obstacle is added/removed/modified.

Change-Id: I613a335f6040318172476e5cf2b46f0273536355

17 months agoe_client: use e_zone_desk_useful_geometry_get in e_client_maximize 11/292211/1
Doyoun Kang [Fri, 28 Apr 2023 10:35:45 +0000 (19:35 +0900)]
e_client: use e_zone_desk_useful_geometry_get in e_client_maximize

Change-Id: I17b23e7d3c7af3db6d8fa602360cd7e08fa6ab18

17 months agoe_zone: add E_Zone_Obstacle feature 10/292210/1
Doyoun Kang [Fri, 28 Apr 2023 10:30:05 +0000 (19:30 +0900)]
e_zone: add E_Zone_Obstacle feature

Change-Id: I8366c9bff5d9dc3b83b52e8831aa235a485a0858

17 months agoe_comp_wl & e_comp_wl_input: fixed pointer constraints logic using mouse in cb instea... 52/292152/1 accepted/tizen/7.0/unified/20230502.051241
Sungjin Park [Fri, 28 Apr 2023 03:15:50 +0000 (12:15 +0900)]
e_comp_wl & e_comp_wl_input: fixed pointer constraints logic using mouse in cb instead of focus cb

Change-Id: I128f39e302b920e85bb7ab17953a9e359973dc7a
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_object: make the frame object transparent when it is unredirected 09/292109/2
Changyeon Lee [Mon, 24 Apr 2023 07:58:13 +0000 (16:58 +0900)]
e_comp_object: make the frame object transparent when it is unredirected

glTexImage2D is called in next render if the frame object is redirected
because it does not have native buffer and it is visible.

we makes the frame object transparent and evas does not render
the frame object.(glTexImage2D is not called)

this patch optimizes gpu memory usage.

Change-Id: I44a229c4d3e972c4eccf3bfb0b56d73fb6f04e0d

17 months agoe_comp_wl_input: fixed to use client's y position to warp pointer when locked pointer... 73/292073/1
Sungjin Park [Thu, 27 Apr 2023 04:34:19 +0000 (13:34 +0900)]
e_comp_wl_input: fixed to use client's y position to warp pointer when locked pointer is destroyed

Change-Id: I276348fd94fc7b7a0a892d43a1e9fcd36c2d59dc
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl_input: fixed to update region_pending in locked_pointer_set_region callback 71/292071/1
Sungjin Park [Thu, 27 Apr 2023 04:31:14 +0000 (13:31 +0900)]
e_comp_wl_input: fixed to update region_pending in locked_pointer_set_region callback

Change-Id: I02aae0b8083c4a52258cd236b36edb61597371b6
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoecomp_wl & e_comp_wl_input: moved header inclusion to .c file for relative pointer... 61/292061/1
Sungjin Park [Thu, 27 Apr 2023 02:13:52 +0000 (11:13 +0900)]
ecomp_wl & e_comp_wl_input: moved header inclusion to .c file for relative pointer and pointer constraints

Change-Id: Ifb289508648b5ff5d269d727deb02d17ba10a457
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl: prepend mouse move event handler to prevent mouse move propagation when... 13/292013/1
Sungjin Park [Tue, 25 Apr 2023 11:51:34 +0000 (20:51 +0900)]
e_comp_wl: prepend mouse move event handler to prevent mouse move propagation when required

Change-Id: Ic61a340f0fbab911747a46b2ff0fea352a301878
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl_input: set/unset pointer relative motion handler when a pointer constraint... 12/292012/1
Sungjin Park [Tue, 25 Apr 2023 11:49:31 +0000 (20:49 +0900)]
e_comp_wl_input: set/unset pointer relative motion handler when a pointer constraint is activated/deactivated

Change-Id: I5a279f8fe8186912850b50c0c1f09725a2258a4d
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_input_evdev: modified to send pointer relative motion event when required 11/292011/1
Sungjin Park [Tue, 25 Apr 2023 11:38:25 +0000 (20:38 +0900)]
e_input_evdev: modified to send pointer relative motion event when required

Change-Id: I15850efd519d0481ad260b836d08ec844e9d00ab
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_input: added internal APIs to set/get pointer relative motion handler 10/292010/1
Sungjin Park [Tue, 25 Apr 2023 11:36:53 +0000 (20:36 +0900)]
e_input: added internal APIs to set/get pointer relative motion handler

Change-Id: I5e95285611c1f52b9531b1388dc96e3fd325bc40
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl & e_comp_wl_input: added signal emitters for pointer constraints 09/292009/1
Sungjin Park [Tue, 25 Apr 2023 11:25:02 +0000 (20:25 +0900)]
e_comp_wl & e_comp_wl_input: added signal emitters for pointer constraints

Change-Id: I868c98a32d62bbb722950ed40e1f4228ce661364
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl & e_comp_wl_input: added implementation for zwp_pointer_constraints_v1_inte... 08/292008/1
Sungjin Park [Tue, 25 Apr 2023 11:18:24 +0000 (20:18 +0900)]
e_comp_wl & e_comp_wl_input: added implementation for zwp_pointer_constraints_v1_interface

Change-Id: Ib8393b03d78761e97cd92cd2b179d0d877ff1c25
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agoe_comp_wl & e_comp_wl_input: added implementation for zwp_relative_pointer_v1_interface 06/292006/1
Sungjin Park [Tue, 25 Apr 2023 10:52:09 +0000 (19:52 +0900)]
e_comp_wl & e_comp_wl_input: added implementation for zwp_relative_pointer_v1_interface

Change-Id: Ic712d83511d7a3f7bcdc61a5e12640d5f5ad4e6e
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agopackaging: added support for relative pointer and pointer constraints wayland extension 05/292005/1
Sungjin Park [Tue, 25 Apr 2023 07:49:24 +0000 (16:49 +0900)]
packaging: added support for relative pointer and pointer constraints wayland extension

Change-Id: Ib19f6fd473dc3d7356bb107ae80d48ad5a18cec8
Signed-off-by: Sungjin Park <sj76.park@samsung.com>
17 months agovideo: Fix render failure for 1x1 size 88/291788/1
Seunghun Lee [Fri, 21 Apr 2023 05:13:10 +0000 (14:13 +0900)]
video: Fix render failure for 1x1 size

While determining whether the given vertices represent the portrait or
the landscape rectangle, the margin of 1 pixel has been used because
sometimes there has been 1 pixel difference between two adjacent
vertices. This could be because of evas map algorithm, but I'm not sure.

If the dimension of rectangle would be 1x1 it wouldn't be worked, so if
the given vertices represent the rectangle that has 1x1 dimension, then
no margin would be used.

Change-Id: I0c776060ed3124dfd72717e474f193929ae51c6a

18 months agoe_client: inherit parent's zoom when transform core update 72/291672/1
Junseok Kim [Wed, 19 Apr 2023 05:11:05 +0000 (14:11 +0900)]
e_client: inherit parent's zoom when transform core update

Change-Id: I5f0c8415f95eadba1e335eaebe23f0eee8417c74

18 months agoe_policy_wl: send configure event while handling tizen_policy_set_layout request 47/291647/2 accepted/tizen/7.0/unified/20230424.020444
Doyoun Kang [Wed, 19 Apr 2023 01:16:58 +0000 (10:16 +0900)]
e_policy_wl: send configure event while handling tizen_policy_set_layout request

Change-Id: Id2889160e456dd1596aa21e2ab3fa0e850e7de71

18 months agoe_comp_wl/e_xdg_shell: modify code for handling configure event size 46/291646/1
Doyoun Kang [Wed, 19 Apr 2023 00:24:29 +0000 (09:24 +0900)]
e_comp_wl/e_xdg_shell: modify code for handling configure event size

We modify code to call configure_send function with width and height are -1 when only
the window's state is changed.
If the width and height are -1, this means we don't need to consider the size value
while sending configure event.

So, in this case, we don't update the configure size value.

Change-Id: I5d75520c915acc5b558d63524b638761f2242626

18 months agoe_input: fix build warning about unused function 52/291552/1
duna.oh [Tue, 18 Apr 2023 06:12:40 +0000 (15:12 +0900)]
e_input: fix build warning about unused function

The function '_device_handle_axis()' is only used
when LIBINPUT_HAVE_SCROLL_VALUE120 is undefined.

Change-Id: I8e1ae2db20074a300342d30f691b7c23d4ca4881

18 months agoe_info: add -use_cursor_timer option in winfo (enlightenment_info) 28/291528/1
duna.oh [Tue, 18 Apr 2023 03:59:05 +0000 (12:59 +0900)]
e_info: add -use_cursor_timer option in winfo (enlightenment_info)

new option 'use_cursor_timer' to enable/disable cursor_timer
which hides cursor when no mouse events comes
ex) winfo -use_cursor_timer [1:on] [0:off]

Change-Id: I1d8b0ba28650885c333b64f0623f6416c4ef985a

18 months agoe_config: add a new configuration - wm_win_rotation_swap_size 16/291516/1 accepted/tizen/7.0/unified/20230418.141956
Doyoun Kang [Tue, 18 Apr 2023 02:12:08 +0000 (11:12 +0900)]
e_config: add a new configuration - wm_win_rotation_swap_size

If this config is enabled, then window size can be swapped when it is rotated.
But it's up to e-module which is in charge of rotation functionality.

Change-Id: Ida40692d119cc0b42788c0b7ee5a153f029590c4

18 months agoe_info: add zone's angle information in topvwins 82/291482/1 accepted/tizen/7.0/unified/20230418.093704
Doyoun Kang [Mon, 17 Apr 2023 06:16:43 +0000 (15:16 +0900)]
e_info: add zone's angle information in topvwins

Change-Id: I6b669405289521fcb5ffc9c4cb865b901ccab981

18 months agoe_comp_wl: add _e_comp_wl_region_area_check function 58/291458/1
Junkyeong Kim [Fri, 14 Apr 2023 09:07:48 +0000 (18:07 +0900)]
e_comp_wl: add _e_comp_wl_region_area_check function

if requested region size(x+w or y+h) is over origin base region area,
set base region area to requested size.

Change-Id: I1d76b2e32330b1a4917c1172d0a57fc49a665521

18 months agoe_client/e_policy: subdivide the shadow size of decorator 59/291359/1
Doyoun Kang [Thu, 13 Apr 2023 11:22:45 +0000 (20:22 +0900)]
e_client/e_policy: subdivide the shadow size of decorator

We subdivided the shadow size of decorator into top, bottom, left, right.

Change-Id: Iabfa65039407ef8b9cfa23370a62497f59194db2

18 months agoe_info: print all ECs list on topwins operation 40/291340/1
Junseok Kim [Tue, 11 Apr 2023 06:31:45 +0000 (15:31 +0900)]
e_info: print all ECs list on topwins operation

There was no way to present invisible ECs list because of past topwins prints just evas object in e_comp->evas.
So, print all ECs on topwins operation.

Change-Id: I6f5170d26d2a4e1ae9f5e5760bd369eced5f919a
(cherry picked from commit e9453ea6c5ba5ea23a495e4bbf146b83fc4c6739)

18 months agoe_policy_wl: set desk_iconify_skip for cursor window 28/291328/1
Doyoun Kang [Thu, 13 Apr 2023 09:55:47 +0000 (18:55 +0900)]
e_policy_wl: set desk_iconify_skip for cursor window

We add code that the cursor window is not iconified by desk_iconify.

Change-Id: Idd4f03b3fc96515b65679682b027966999ab4bff

18 months agoe_policy: set desk_iconify_skip for service windows 93/291293/1
Doyoun Kang [Thu, 13 Apr 2023 02:32:01 +0000 (11:32 +0900)]
e_policy: set desk_iconify_skip for service windows

We add code that the service windows (such as home screen, quickpanel,
lock screen, etc) not to be iconified by desk_iconify.

Change-Id: I500af48b147c758b11d7ba62fd89fdd69ad1efa1
(cherry picked from commit b26b957ce22715633ccc6cab05af7b7098fc2112)

18 months agoe_policy_wl: change a layout geometry considering the shadow size 82/291182/1
Doyoun Kang [Tue, 11 Apr 2023 06:56:54 +0000 (15:56 +0900)]
e_policy_wl: change a layout geometry considering the shadow size

Change-Id: Id50ebd0086c36b381d7dfcbf8a7cd018cc38dda2

18 months agoe_client/e_policy_wl: add the shadow size for decoration 28/291128/2 accepted/tizen/7.0/unified/20230410.160650
Doyoun Kang [Mon, 10 Apr 2023 07:30:53 +0000 (16:30 +0900)]
e_client/e_policy_wl: add the shadow size for decoration

We add a shadow size for the client side decoration.
- E_Client struction : add a shadow value
- E_Policy_Hint_Type : add a E_POLICY_HINT_DECORATION_SIZE_SHADOW

Change-Id: I2044aba597dfb43408282574b6133dfcf650dd5c

18 months agoe_policy_wl: change aux hint name for decoration properties 27/291127/1
Doyoun Kang [Mon, 10 Apr 2023 06:46:50 +0000 (15:46 +0900)]
e_policy_wl: change aux hint name for decoration properties

We changed aux hint name related with client size decoration as below.
* E_Policy_Hint_Type
  - E_POLICY_HINT_RESIZE_HEADER_HEIGHT -> E_POLICY_HINT_DECORATION_SIZE_HEADER
  - E_POLICY_HINT_RESIZE_FOOTER_HEIGHT -> E_POLICY_HINT_DECORATION_SIZE_FOOTER
* hint_name
  - wm.policy.win.resize.header_height -> wm.policy.win.decoration.size.header
  - wm.policy.win.resize.footer_height -> wm.policy.win.decoration.size.footer

Change-Id: Iceb68af9d9fd6e116a779b96e4a11845e8b106b3

18 months agoe_desk: use transform_core to desk zoom 91/290991/1
Junseok Kim [Tue, 4 Apr 2023 04:07:31 +0000 (13:07 +0900)]
e_desk: use transform_core to desk zoom

Use transform_core API to desk zoom instead of transform_core_update_with_desk_zoom function.

There was a bug that video window blinking that enabled both of transform and desk zoom.

When the video window changed their size, the transform_core_update called by EVAS_CALLBACK_RESIZE before idle time.
And then, after idle time, following called the transform_core_update_with_desk_zoom by E_EVENT_CLIENT_RESIZE.
In this situation, it makese the window blinking because their're has different coordinates and zoom value of evas_map.

For fix this issue, use transform_core API to doing desk zoom to zoom at same time with other transform.

Change-Id: Ie2adf7d4af1d6239fb04d732ea3e51d6fc2ecee5

18 months agoe_util_transform: Add e_util_transform_zoom 90/290990/1
Junseok Kim [Tue, 4 Apr 2023 03:54:27 +0000 (12:54 +0900)]
e_util_transform: Add e_util_transform_zoom

Added e_util_transform_zoom for contain zoom information for using zoom API of evas_map.

Change-Id: I03b4d2ae0c8e0344c467157db592e963e437748a

18 months agoe_input_device: set input thread name 89/290989/1
Jihoon Kim [Tue, 4 Apr 2023 09:50:28 +0000 (18:50 +0900)]
e_input_device: set input thread name

Change-Id: I411af19f820f41fda3b856ac561a6382ec29b05c
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
18 months agoe_comp_object: Quick fix for video punching issue 05/289605/2
Seunghun Lee [Fri, 10 Mar 2023 00:16:04 +0000 (09:16 +0900)]
e_comp_object: Quick fix for video punching issue

Applying render copy operation to smart object of video view didn't get
to take effect immediately after calling e_comp_object_mask_set() for
some reason. And it caused a visual glitch that the video view didn't
get displayed for a while.

Calling e_comp_object_mask_set(), the size of a rectangle object called
mask object must be 0x0 because there is obviously no
evas_object_resize() with this object. It would not be able to make evas
update its view. But it should be different for changing render
operation on smart object of video view. It should make some changes on
evas and make evas update its view. But it doesn't seem to work this
way. I'm not entirely sure, but it seems a bug in evas. Yet, I could be
wrong.

Since calling evas_object_resize() with the mask object seems to resolve
the issue, so let's avoid the issue with this way.
After all, calling evas_object_resize() with the mask object in
e_comp_object_mask_set() does make sense, and I don't see any side
effect in it.

Note that we might need to make another patch for this problem because
it's not the solution to get rid of root cause of the issue.

Change-Id: I04037517c30812f4120b9c024cea349e36723d71

18 months agoe_client: use rand_r() instead of rand() 72/290772/1 accepted/tizen/7.0/unified/20230405.151558
Doyoun Kang [Mon, 3 Apr 2023 02:55:28 +0000 (11:55 +0900)]
e_client: use rand_r() instead of rand()

we changed code to use rand_r instead of rand for thread safety

Change-Id: I0c0b35d1a42ace33428df7f11e3eebf4dc133d10