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
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
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
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
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
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
Junseok Kim [Wed, 29 Mar 2023 07:32:05 +0000 (16:32 +0900)]
e_client: remove null check for code readerability
Change-Id: Icea24fceca635475e33f264ddea40844e3b815dc
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
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
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
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
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
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
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
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
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
Junseok Kim [Fri, 17 Mar 2023 01:49:10 +0000 (10:49 +0900)]
e_zone: fix typo
Change-Id: Id5ffc8f30341949b4fbad376629a2cef94683619
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
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
SooChan Lim [Tue, 7 Mar 2023 11:56:50 +0000 (20:56 +0900)]
implement the wtz_screen protocol
Change-Id: I258fe058b18b2889cc0dbadd862623425b8c05ba
SooChan Lim [Fri, 10 Mar 2023 08:59:18 +0000 (17:59 +0900)]
add E_Desk_Group_Hook
Change-Id: If73021444670b9c8dc27e3142d4a3d19982da92c
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
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
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
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
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
duna.oh [Wed, 10 May 2023 07:00:15 +0000 (16:00 +0900)]
e_pointer: refactoring e_pointer_object_set()
Change-Id: Ic5c9e2a6c50e30e9a6d12e6d9b8b1f38ee0cd095
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
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
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
Changyeon Lee [Tue, 2 May 2023 02:51:09 +0000 (11:51 +0900)]
e_hwc_window: calculate fps of hw cursor
Change-Id: I2679ca9ca30da11cf0983c5e276088ade173281d
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
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
Doyoun Kang [Thu, 4 May 2023 08:01:59 +0000 (17:01 +0900)]
winfo: add layout_apply info to topvwins option
Change-Id: I1f36b43861a7d73a1b22799cc17fa288c0f09a01
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
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
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
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
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
Doyoun Kang [Fri, 28 Apr 2023 08:07:53 +0000 (17:07 +0900)]
e_client: add e_client_maximize_update function
Change-Id: I85947a2ef4cb4056baf6a52e68a271152448f622
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
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
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
Doyoun Kang [Fri, 28 Apr 2023 10:30:05 +0000 (19:30 +0900)]
e_zone: add E_Zone_Obstacle feature
Change-Id: I8366c9bff5d9dc3b83b52e8831aa235a485a0858
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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
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
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
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>
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
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
Junseok Kim [Fri, 31 Mar 2023 07:02:18 +0000 (16:02 +0900)]
e_comp_wl: remove selection target when ec going to delete
Change-Id: I91f6ef96f004b016214916b90b10bf18abfa9fd7
Junseok Kim [Thu, 30 Mar 2023 10:08:21 +0000 (19:08 +0900)]
e_comp_wl_data: check focused resource is dnd icon resource
Check focused resource is same with DnD icon resource on start_drag request callback.
There was a bug that DnD icon window sometimes didn't appear.
It caused by focus set to the DnD icon window before receive start_drag request by timing issue.
Then the source window lose their focus, finally start_drag request fail.
For fix this issue, check the icon_resource is focused and continue the callback.
Change-Id: Ifb9c64df0123102f7cb925ce19c9902111318654
Junseok Kim [Thu, 30 Mar 2023 06:31:41 +0000 (15:31 +0900)]
e_comp_wl_data: set visible value of the drag_client to False when the drag finished.
Set visible value of the drag client to 0 when the drop finished.
There're many log about show blocked of the drag client after the drop
finished.
It's caused by the visible value of the drag client is 1 even though the
drag client didn't draw their surface after the drop finished.
To solve this problem, we set the visible value of the drag client to 0
when the drop finished.
Change-Id: I6994de1e5f11a3d1e1d2922948f43f10fd8d1753
duna.oh [Thu, 30 Mar 2023 06:08:00 +0000 (15:08 +0900)]
e_comp_wl: fix cursor flickering when mouse_out occurs
Showing and hiding a cursor is request-triggered operation by clients.
Hiding a cursor when mouse_out occurs is unnecessary server-side operation
and causes cursor flickering when mouse moves between apps.
Scenarios:
1. When mouse moves between cursor-supported apps (App 1 & App 2), App 2
sets its cursor and E20 hides an old cursor and shows a new one.
2 When mouse moves from a cursor-supported app to a cursor-unsupported app,
the cursor-unsupported app sets its cursor as null and E20 hides a cursor.
Change-Id: I3e15fd821064aa819f93eaed664c7d700a46b05a
Doyoun Kang [Wed, 29 Mar 2023 08:25:01 +0000 (17:25 +0900)]
support the set_auto_placement request of the tizen_launch_appinfo
1. change version of tizen_launch_appinfo to 2
2. implement callback function for set_auto_placement of tizen_launch_appinfo
3. add E_CLIENT_INTERCEPT_HOOK_AUTO_PLACEMENT intercept hook
Change-Id: I7a007e403337af41873b1c2205939098d41cf6d4
Jihoon Kim [Wed, 22 Mar 2023 07:28:20 +0000 (16:28 +0900)]
Rename function name to get timestamp
The function to get timestamp can be used generally.
Change-Id: Iff1e7db62724d15731dab2971d06ff5b317b21aa
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Jihoon Kim [Tue, 21 Mar 2023 08:01:19 +0000 (17:01 +0900)]
Fix timestamp overflow issue
Change-Id: Ie94b23adf5180c769f1ca9cec0403006d415e9e1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Doyoun Kang [Wed, 22 Mar 2023 01:40:21 +0000 (10:40 +0900)]
e_policy_wl: support tizen_policy_set_layout request
Change-Id: I97bfb3fdf6ee52489644c2edf4ba8e21b4db8006
Junkyeong Kim [Mon, 13 Mar 2023 11:28:30 +0000 (20:28 +0900)]
e_comp_wl: Change input region set method
erase round off error protection code.
use ec's w and h value instead state's w and h to get input region.
Change-Id: I197500f61b8d3655ae609036ca91d03c99ca285f
Doyoun Kang [Mon, 13 Mar 2023 09:10:09 +0000 (18:10 +0900)]
e_client: fix bug for calculating ppu size
Change-Id: I677a598fa5aec7f228ecf0a486d174ffa517642c
Junkyeong Kim [Wed, 8 Mar 2023 01:54:42 +0000 (10:54 +0900)]
Revert "e_comp_wl: Change input region set method"
This reverts commit
e73ae666dfcef2058ea9e150ed60428bb1c8aa04.
Change-Id: Iee34018bc783422a6267c77b82f4ad393ea4c2ef
Junkyeong Kim [Wed, 8 Mar 2023 01:48:44 +0000 (10:48 +0900)]
Revert "e_comp_object: Add input region set condition"
This reverts commit
363e8d480b0760cc8577f982ec27fc3aefa6fd00.
Change-Id: I525d0f795c01b38a776da90cacc5024ae6f9e6a9
Doyoun Kang [Mon, 6 Mar 2023 11:23:07 +0000 (20:23 +0900)]
e_policy_wl: add callback functions for set/unset pin mode
Change-Id: I3e4f8442a525b77bb542213eeebfd2ed104012dc
Junkyeong Kim [Fri, 3 Mar 2023 08:33:59 +0000 (17:33 +0900)]
e_comp_object: Add input region set condition
if width or height is 0, input region can be set 0x0.
it can makes region set error.
so do not add rect if width or height is c0.
Change-Id: Icc63a111a0fd6b49efe60d46e9772a096ee0e1d7
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Junkyeong Kim [Fri, 3 Mar 2023 08:22:46 +0000 (17:22 +0900)]
e_comp_wl: Change input region set method
eina_tiler_intersection API has round off error. so do not use this API.
intead, use input region rectangle directly.
Change-Id: I744b79ebd3ac6ae759403709362730516b6e8797
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
duna.oh [Thu, 2 Mar 2023 08:45:05 +0000 (17:45 +0900)]
e_input: support other axis_source (finger/continuous) than mouse wheel
Change-Id: I704ef4980832ad6cfa248b4912fbf05c3b6f6068
Doyoun Kang [Thu, 2 Mar 2023 06:33:19 +0000 (15:33 +0900)]
e_client: modify e_client_pinned_set function
We changed a layer of the pinned set window to ABOVE layer
Change-Id: I5967f14ae43d17313c98802a612d2c339fedcfe6
Doyoun Kang [Thu, 2 Mar 2023 06:23:10 +0000 (15:23 +0900)]
e_info_client/server: add -prop_set option in winfo (enlightenment_info)
We add new option "prop_set" to test some property in winfo (enlightenment_info)
ex) winfo -prop_set [window] [property] [value]
First we support test for pinning window.
- winfo -prop_set 0x12345678 pin 1
Change-Id: I114b4b020870fcf8d1892f507b699303f4f67443
Doyoun Kang [Thu, 16 Feb 2023 01:35:09 +0000 (10:35 +0900)]
e_comp_wl: refactors handling state change callback
We refactor code to handle each evas_object_smart_callback for changing state
(such as maximize/unmaximize, fullscreen, etc) separately.
Change-Id: I676e5a7b44dbf2f013fb6aebbd6690c00971bff3
Doyoun Kang [Wed, 15 Feb 2023 05:48:31 +0000 (14:48 +0900)]
Revert "e_comp_wl/e_xdg_shell: refactor the size of configure event"
This reverts commit
871409cb2f434cfe532137ca8eaa0451f4568ef2.
Change-Id: I11d0a70f38430358a2784e9fc6a25ae975826a88
Doyoun Kang [Mon, 20 Feb 2023 01:59:46 +0000 (10:59 +0900)]
refactor code to handle sync_client_geometry_add
There was a potential bug for handling tizen_position_set request if the ec is under
pending_geometry.
We refactored code handling sync_geometry_set to compare the buffer size not serial.
For this, if the tizen_position_set was called under pending geometry, then we called
e_comp_wl_commit_sync_client_geometry_add with size(0x0).
In this case, the client could not send the buffer chagne event for size(0x0), so the
tizen_position_set request remained not to handled.
To resolve this, we refactor the e_comp_wl_commit_sync_client_geometry_add function.
Change-Id: Ib36eec68b918a5ebacbb192037a9dc4a082137a0
(cherry picked from commit
4fa1f5bfa1a3dc651c2b0b8746c76a40e3765aa9)
Doyoun Kang [Mon, 20 Feb 2023 01:49:13 +0000 (10:49 +0900)]
e_comp_wl: fix bug for handling tizen_move_resize_geometry_set
There was a bug that the window didn't move if a client called the tizen_move_resize_geometry_set
with same size. In this case, the server waited for the changing buffer event, but the client
didn't change the buffer. So, the server didn't move window until getting buffer change event.
To resolve this, we add code to check the size of geometry both current and requested.
If the size is same, then we doesn't pend to change geometry, and just move window.
Change-Id: I28c58fc28cbc9511c3e1ae6076933afae947813c