Artur Świgoń [Thu, 20 Oct 2022 09:50:02 +0000 (11:50 +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
Doyoun Kang [Mon, 26 Apr 2021 04:58:47 +0000 (13:58 +0900)]
e_pixmap: do not unset/clear pixmap in e_pixmap_parent_window_set
We've modified code to set the E_Pixmap's parent window only.
If we need to set unusable and clear the pixmap, then we have to call these
functions explicitly.
Change-Id: I190b79c73f1c76eb830c853f7c23138f1c4b5050
Junseok, Kim [Mon, 19 Apr 2021 01:47:24 +0000 (10:47 +0900)]
e_policy: send iconify when uniconify_by_vis job canceled
If the client's uniconify job is canceled by the enlightenment, the client's internal
state remains "Uniconic state" till the enlightenment send an iconic state change event.
In this situation, black screen can appear if the client is visible again.
This is because the client know its state is "uniconic" and doesn't render anymore.
To fix this, we add code that enlightenment sends an iconic state change event to client
to change its internal iconic state when the uniconify_by_vis job is canceled.
Change-Id: If2e71769cd622cfdb11aba0c655ea46a35bcb497
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Doyoun Kang [Wed, 7 Apr 2021 10:32:05 +0000 (19:32 +0900)]
e_policy_visibility: do not add internal ec in below activity list
If an internal ec is added to the below activity list, then e could get timeout for uniconify
pending job because it does not send buffer attach, damage, commit event.
To prevent timeout, we change code not to add the internal ec (aka made by e or e's module)
in the below activity list.
Change-Id: I6f6e9a2c905e931cfb6bd10bdc6446d8f718095d
Doyoun Kang [Wed, 7 Apr 2021 09:29:43 +0000 (18:29 +0900)]
e_policy: check config before calling e_client_revert_focus when window is lowered
If the e_config's calc_vis_without_effect is set, e doesn't call e_client_revert_focus.
In this case, e_client_revert_focus is called after calculating visibility.
Change-Id: I89a47227a093cce7e6446832889785608a4b82c7
Junseok, Kim [Fri, 2 Apr 2021 07:08:12 +0000 (16:08 +0900)]
e_policy_visibility: do not below_iconify when ec is transparent
No need to below uniconify if the lower / hide window is transparent.
Because of below windows are already uniconic state.
Change-Id: I1c94ae0080e9fd97d075cb6ab7669cfbc13b9b38
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Changyeon Lee [Tue, 30 Mar 2021 09:40:18 +0000 (18:40 +0900)]
e_comp_object: defaultly use evas_object for input event instead image object
map_input_object is shown for avoiding the event transform by evas_map
which is applied at effect object.
when comp_object is set by unredirect, map_input_object is
hidden even if buffer of client is rotated acoording to screen rotation.
so if client is set by redirect, map_input_object receive input event
and if client is set by unredirect, cw->obj receive input event.
it doesn't have a problem in normal cases because the size of
map_input_object(redirect) and cw->obj(unredirect) are the same size
of window(ec size).
but it has a problem in case of down/up input event
1. down event is signaled and cw->obj receive event
comp_object is unredirect and size of cw->obj is same window size
ex) widow size (1080x1920), cw->obj (1080x1920)
2. comp_object is redirect and map_input_object is shown and
cw->obj is resized according to buffer size(rotated).
ex) window size (1080x1920) cw->obj (1920x1080)
map_input_object(1080x1920)
3. up event is signaled but cw->obj receive event
so evas send input coordinate with current cw->obj size
because evas can't change evas_object which is received between down
and up event
it causes the wrong coordinate of input event is sent to the client.
so map_input_object is renamed default_input_object and
default_input_object use for input event instead image object(cw->obj).
Change-Id: Ia2b74fbfd8b891a24b875b3dae7a2c6318deac74
Doyoun Kang [Thu, 1 Apr 2021 08:49:54 +0000 (17:49 +0900)]
add norender_disable feature
There was a bug that the app's internal animation was blocked for a while because of
another window's visibility job which called e_comp_canvas_norender_push_except_video.
So, we added a new E_API
- void e_policy_visibility_norender_disable_set(Eina_Bool disable)
If a disable parameter is a EINA_TRUE(aka norender_disable is set), then e doesn't call
e_comp_canvas_norender_push_except_video while adding visibility job.
E-module can call e_policy_visibility_norender_disable_set(EINA_TRUE) when it does not want
to enter no-render state.
FYI, e-module has to call e_policy_visibility_norender_disable(EINA_FALSE) also.
Change-Id: I8fd2adcfae2782bb89eecd587b890976a53e351c
Changyeon Lee [Tue, 23 Mar 2021 09:43:05 +0000 (18:43 +0900)]
e_hwc_windows: set skip ui if color of window is invisible and render copy
if color of window is invisible and render op is copy,
window located below it is invisible.
in the below case, stack 2 window isn't added to visible window list
after this patch is applied.
stack window
1 24bit transparent internal window(render copy and full size)
2 skip iconify window (evas object is shown)
Change-Id: Ie161f9a8095fac35febd1da19c1399aa55307b12
Doyoun Kang [Thu, 18 Mar 2021 05:16:19 +0000 (14:16 +0900)]
Revert "Remove e_client_transform_core_update in e_client_transform_core_remove"
This reverts commit
ba8090166e5c13493c0611821da4a325e02ab40d.
Change-Id: Id2d44aa871ee1896ff7f3e2e8aa6f64c642ce879
Doyoun Kang [Thu, 11 Mar 2021 05:38:30 +0000 (14:38 +0900)]
Remove e_client_transform_core_update in e_client_transform_core_remove
When we change or replace some transform (remove old transform and add new transform),
there was an unnecessary calculation for removing old transform because of calling
e_client_transform_core_update in e_client_transform_core_remove().
So, we remove e_client_transform_core_update in e_client_transform_core_remove.
FYI,
e_client_transform_core_update is called in idler_before handler(exactly _e_client_eval).
If we want to apply transform immediately, we have to call e_client_transform_core_update
after calling e_client_transform_core_remove.
Change-Id: I17b2cbb360769ca69793d6ca55cffab4178feba4
Doyoun Kang [Wed, 10 Mar 2021 08:03:22 +0000 (17:03 +0900)]
e_client/e_comp_wl: set role information for each transform
We use a E_Util_Transform to apply various transform.
However, there was no way to know what purpose of each transform that
was applied to E_Client.
This patch sets the role to below transforms.
- viewport_transform
- base_output_resolution
- desk_group
Change-Id: Ia8f47c603767744e6ca0ca324ccca9f9f82a37b5
Doyoun Kang [Wed, 10 Mar 2021 07:40:18 +0000 (16:40 +0900)]
e_info_client/server: add role option for transform test
Change-Id: Ia490960df2e2cb7a83645a0e7c7476b8a863cb8c
Doyoun Kang [Tue, 9 Mar 2021 06:49:47 +0000 (15:49 +0900)]
e_info_server: print role for transform information
Change-Id: Icee19d85575ba237cf6461ea53bae6d9085c3a60
Sung-Jin Park [Mon, 8 Mar 2021 20:49:42 +0000 (05:49 +0900)]
e_comp_wl: skip sending touch cancel even for a 'video' ec
In _e_comp_wl_surface_state_commit(), there is a process of applying a new map
information to the ec if the viewport information of a given ec's buffer is changed.
Before applying the map information, if a touch down or move event is being sent to
the ec, we usually send a touch cancel event to it. This is done to prevent the
dramatic changes of touch event coordinates before and after applying
map information.
By the way, if the given ec is a 'video' ec, we must not send a touch
cancel event as the video ec itself doesn't get touch event(s).
The other ec which contains the video ec will be the touch event(s)
instead. Therefore we must not send a touch cancel to the 'video' ec.
Change-Id: I433329b226d5d268b96fe79572a6927198fc4d0e
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
Seunghun Lee [Fri, 19 Feb 2021 07:21:33 +0000 (16:21 +0900)]
e_policy_wl: Raise a protocol error for a request with invalid parent
The E crashed with null pointer access to comp_data of
sub-surface's parent in _e_comp_wl_subsurface_order_commit() function.
And it turned out that the parent was an internal window created by E.
But the internal window cannot be the parent of sub-surface
theoretically. So, it is possible for wl_client to try to create
sub-surface with invalid resource ID for parent using
tizen_policy::get_subsurface protocol.
So, this patch will raise a protocol error for that case to get it
failed early.
Change-Id: I98351de962e3ea8cf5b8d218a858859929b0da5d
Doyoun Kang [Fri, 19 Feb 2021 09:30:15 +0000 (18:30 +0900)]
e_desk: check whether Evas_Map is changed or not before applying zoom
Change-Id: I86c0ddc405c37bf0cb1fe993a49f8b63db633261
Changyeon Lee [Tue, 16 Feb 2021 07:17:10 +0000 (16:17 +0900)]
e_comp_wl_remote: add override when saving image
e_comp_wl_remote_surface_image_save is called in unmap of surface
so add override at e_comp_wl_remote_surface_image_save
Change-Id: Ie4df8a5759786a3dccb4d0092a40a5c6803ff3fe
Doyoun Kang [Wed, 17 Feb 2021 07:08:44 +0000 (16:08 +0900)]
e_client/e_comp_object: add log for debug information
Change-Id: I2762051347de1b6f01e25af0fe6bd23bf2fae29d
Junseok, Kim [Mon, 8 Feb 2021 12:38:34 +0000 (21:38 +0900)]
e_service_quickpanel: change focus set method to latest_set for ensure qp is focusable
To ensure quickpanel is focusable, use e_client_focus_latest_set for give focus to quickpanel instead of e_client_frame_focus_set.
and added condition check of quickpanel's evas_object is visible.
Change-Id: I043de2f002d562b4019ef70b40fb7df1d820f12f
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
(cherry picked from commit
860558d3a53e837739dfa9e2ee8dc9fe7cb19acd)
Junseok, Kim [Mon, 8 Feb 2021 12:37:20 +0000 (21:37 +0900)]
e_client: check ec is in the Zone while focusable check
Change-Id: Ibff341d0b57d9bc07022d794d11c135dd3447072
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
(cherry picked from commit
3e52c928f2c618821a29490851e38cd34e4ed39d)
Seunghun Lee [Wed, 10 Feb 2021 04:55:40 +0000 (13:55 +0900)]
video: Fix crash when commit video buffer with null resource
The resource of surface can be null, and it led segfault.
Change-Id: I61cd033f9c9f37d10929e5ca3741780e3e256cbf
jeon [Mon, 4 Jan 2021 09:09:54 +0000 (18:09 +0900)]
e_input: support a LIBINPUT_EVENT_TOUCH_CANCEL
Change-Id: Iea7a8754cd9a4c6fce267792a613c6376754fe24
(cherry picked from commit
39ed0c4ac82f2e3300eed04d7a893cd3a0820dc5)
Seunghun Lee [Thu, 3 Dec 2020 22:59:24 +0000 (07:59 +0900)]
video: Fix errors in calculation of transform
It was discovered that change of video wasn't able to be applied with
the state, which was destination area out bound of screen with
WL_OUTPUT_TRANSFORM_90.
It turned out because of errors in calculation of transform. That error
made source(input) area empty and empty area cannot be applied.
The transform value which caused this issue was as follow:
wl_subsurface_set_position(840, 0)
wl_viewport_set_destination(1080, 1920)
wl_viewport_set_source(0, 1936, 1080, 2160)
wl_surface_set_buffer_transform(WL_OUTPUT_TRANSFORM_90)
* The state of output: size (1920x1080) transform (0)
Change-Id: I3134980d46305a03965076c843a568fd84f226d0
Changyeon Lee [Mon, 8 Feb 2021 03:33:03 +0000 (12:33 +0900)]
e_hwc_windows: set transition if window has transtion and client state
fix flickering this case
1. A window set device state and unredirect
2. target window render frame which doesn't have A window frame
3. A window set client state before hwc state isn't accepted
4. target window commit gl compositing frame, but flickering
is occurred because 2 step frame doesn't have A Window
Change-Id: I1aac31279c8fdd9ce736a8f597c02d739c5ee4e6
Changyeon Lee [Thu, 14 Jan 2021 08:27:43 +0000 (17:27 +0900)]
e_hwc_windows: set window transition even if target bufer isn't changed
Change-Id: I982e273491ec736b87a5a6f097e3435617bd5ddc
Seunghun Lee [Wed, 3 Feb 2021 11:05:36 +0000 (20:05 +0900)]
video: Fix crash when commit video buffer with deleted E_Client
With change
32a04d07, this crash was made since null buffer can be
given to _e_video_hwc_windows_commit_data_set().
Accessing comp_data of deleted E_Client caused a crash.
Change-Id: Icaa8e0022a8d81c51f611a0180f65112479979bf
Doyoun Kang [Wed, 3 Feb 2021 07:20:17 +0000 (16:20 +0900)]
e_policy_wl: send tizen_position changed event while creating tizen_position resource
If the ec's position is not same to client's geometry which set by client,
then e send tizen_position changed event to the client to notice new position.
There was a bug that the window's position was not changed in below case.
"Hide -> Unset user geometry -> Show -> Set user geometry -> Move -> Resize".
This was because the ec's position was not same to the client's position.
In this case, ec's position was (0,0) and client's position was not (0, 0).
Change-Id: I53074b2de3bb98cb0aeff629a89776bcf1d380cb
Seunghun Lee [Thu, 28 Jan 2021 07:18:29 +0000 (16:18 +0900)]
video: Update comp object after cleanup HWC resources
It was discovered that abnormal frame was exposed when video render
backend got switch to SW compositing from HW due to the transformation
of 180 degree under no HW rotation support. This problem only occurred
on one frame at the very first try.
This change updates comp object (by calling e_comp_wl_surface_commit)
after cleanup HWC data. I couldn't figure out the root cause, but it
looked like HWC implementation affected updating efl object in some way.
Nonetheless, This change all makes sense on its own after all.
Change-Id: Ia99e5d626506d68128733b39b6f82cd763ee70c4
Seunghun Lee [Fri, 11 Sep 2020 08:33:01 +0000 (17:33 +0900)]
video: Destroy hwc interface explicitly when rendering is failed.
It's better to destroy interface explicitly at where it is created.
Therefore there is no need to return boolean value and leave an
extra description for how behavior will be changed according to
return value.
Change-Id: Ia0d828c9e16ce96556d46a2535ff9c1c1f9048b5
Seunghun Lee [Tue, 2 Feb 2021 07:44:52 +0000 (16:44 +0900)]
video: Keep video client from being resized by wl_surface::commit
When video client is displayed on HW overlay, it is wasteful to resize
its evas object. It eventually causes evas rendering to run wastefully.
Plus, evas rendering normally run on idle enterer and
wl_display_flush_clients() which flush its messages for client is
handled on fd handler of ecore event loop.
So, if evas rendering happens because of resize of evas object, then
wl_surface::frame will be delayed depending on it,
even though video contents is not actually rendered by evas.
Change-Id: I44332acf5079a204f8e833f35fe2ef27255bb9dc
Seunghun Lee [Sat, 30 Jan 2021 01:33:10 +0000 (10:33 +0900)]
video: Fix double cropping source/output region of tdm
Cropping an already cropped source/output region is an error.
So, this change makes updating tdm config happen once during render job.
So far this has been no problem since wl_client didn't try to set its
output region beyond the screen. However, once wl_client tried to do
that, the problem came out because of the double cropping.
More specifically, source region was a problem. source region was
cropped and updated once during applying viewport, but it was cropped
and updated again with already cropped source region during applying
map.
Change-Id: Ia8efb27a3af66eda5564f166a9ea734d21a93cf1
Seunghun Lee [Thu, 28 Jan 2021 00:32:26 +0000 (09:32 +0900)]
video: Fix starvation of wl_buffer::release for video surface
This change drops reference count on wl_buffer when null wl_buffer is
newly attached on wl_surface. It would eventually send
wl_buffer::release.
Change-Id: Iddc829e77889dc0317aaa69e9c01775a189abfdc
Junseok, Kim [Tue, 26 Jan 2021 05:51:41 +0000 (14:51 +0900)]
e_devicemgr_inputgen: remove unused variable
Change-Id: I295cc47b7237cb6d54b40ef0af7c051f6ae3cc75
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Junseok, Kim [Wed, 27 Jan 2021 03:52:05 +0000 (12:52 +0900)]
e_service_quickpanel: add null check of qp->ec
Change-Id: Ie14559244229e8916b34b414cf832dd42b262d96
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Junseok, Kim [Thu, 21 Jan 2021 11:32:13 +0000 (20:32 +0900)]
e_service_quickpanel: set focus to quickpanel that finish show effect and not focused
Change-Id: Icdec3e1a9bf066e91a18f165bb09ad6398cc172d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Changyeon Lee [Thu, 14 Jan 2021 10:55:11 +0000 (19:55 +0900)]
e_hwc_windows: don't check visible of client if client is added to visible list
if ec is got from effect_client, it checks twice visible of hwc_window
Change-Id: I0941695a92eeb102e124de0e63bf259cc785d084
jeon [Fri, 15 Jan 2021 05:44:25 +0000 (14:44 +0900)]
e_devicemgr: create an input generator touch device has configurred touch count
Change-Id: Ic4f9907a120c0844cfa24193bf4000bcf1c87bf6
Seunghun Lee [Tue, 19 Jan 2021 09:48:31 +0000 (18:48 +0900)]
subsurface: Regard wl_subsurface for video viewport as not normal subsurface
This is a workaround patch to fix the problem that some E_Client
couldn't take advantage of HW Composition because of its child
wl_subsurface which is not actually viewable due to its purpose
for video viewport.
Now that this function returns EINA_FALSE if given E_Client has
1x1 wl_subsurface or the one for video viewport, the implementation
of HWC will try to apply given E_Client to HW Composition.
Change-Id: I8aec661647187faac7ff1be67154ab5e32080e79
jeon [Mon, 28 Dec 2020 12:42:50 +0000 (21:42 +0900)]
e_devicemgr_input: realloc memory for multi touch when max touch count is updated
Change-Id: I9fddb59ae1c187e2de0de18edd5374537fca771d
Sung-Jin Park [Wed, 9 Dec 2020 09:01:46 +0000 (18:01 +0900)]
e_input, e_comp_wl, e_devicemgr: enable setting the maximum touch count using configuration
Change-Id: Id4c941d5154acdb97e4df1618c9f9830d997dd21
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
Junseok, Kim [Tue, 19 Jan 2021 08:31:01 +0000 (17:31 +0900)]
e_client: consider ec's force_obscured while focusable check
Change-Id: Icd4843f41e491782e091af7450e1557f2e96e7f1
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Changyeon Lee [Wed, 13 Jan 2021 10:49:36 +0000 (19:49 +0900)]
e_hwc_windows: set E_HWC_WINDOW_STATE_NONE if color of image is invisible
module set argb to 0000 for making invisible even if comp object is show state
Change-Id: I2b97a00a90fed95defb70b2728c2bc44eb43f463
Seunghun Lee [Wed, 13 Jan 2021 10:05:33 +0000 (19:05 +0900)]
video: Fix segfaults running render job with deleted E_Client
Rendering job relies on 'comp_data' field of E_Client, and 'comp_data'
gets invalid at some point after E_Client is deleted.
Since there is no way to know when 'comp_data' gets invalid exactly,
it checks if E_Client is deleted whenever render job is needed.
Change-Id: I472abb606795540fbd79f55cf2323596a244c4e2
Junseok, Kim [Fri, 8 Jan 2021 05:22:53 +0000 (14:22 +0900)]
e_client: check ec is rotation show pending when zone visibility calc
There was a bug that send iconify to ec when ec is doing rotation.
due to iconify event, the application turns to pause and didn't ack
rotation.
for fix this issue, if the ec is rotation show pending, don't append to
changed_list the ec.
Change-Id: Ia10f94c91bb08fb595f61c457adbb40868247ef8
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Changyeon Lee [Mon, 11 Jan 2021 07:59:47 +0000 (16:59 +0900)]
e_plane_renderer: don't set backup buffer if surface was acquired from fb_target
if renderer state is candidate, surface of plane was acquired from fb target
Change-Id: I3dc4367837b167fd90ea83a574ac70225ff9c212
Changyeon Lee [Mon, 11 Jan 2021 07:40:58 +0000 (16:40 +0900)]
e_plane: fix wrong transform of backup buffer
Change-Id: If5a28f56a0141a047d7aca3f4ede6cd82a213f83
Doyoun Kang [Mon, 11 Jan 2021 07:02:53 +0000 (16:02 +0900)]
e_client: set ec->changed in e_client_show_pending_unset
Change-Id: I22d57449ec60a34b37c626eb5bf1266c28362692
Doyoun Kang [Mon, 11 Jan 2021 03:55:35 +0000 (12:55 +0900)]
e_output/e_test_helper: remove coverity issue - REVERSE_INULL
Change-Id: Ibc24188d4d89c28cf94dc0574fbf128dc56f75ee
Junseok, Kim [Fri, 8 Jan 2021 04:50:01 +0000 (13:50 +0900)]
e_comp_wl: do not update transform core if deskzoom doing animation
Change-Id: I4a6cd642966b074448bd319db39262add4490268
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Junseok, Kim [Fri, 8 Jan 2021 04:49:00 +0000 (13:49 +0900)]
e_client: doing transform core update with zoom of all subsurfaces when subsurface transform core update
Change-Id: I4784995375fef667cbb49b3ca820d40a603395b2
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Junseok, Kim [Fri, 8 Jan 2021 04:45:39 +0000 (13:45 +0900)]
e_desk: add function for check desk zoom is animating
Change-Id: Id9cc3e73e2d2439a94d570408e6bab6a21ddf95b
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
Junkyeong Kim [Tue, 29 Dec 2020 07:57:25 +0000 (16:57 +0900)]
e_info_server: add null checking in _e_info_server_cb_screen_dump_cb
Change-Id: I78e446544c0dd9235396966ab9c15130f73c8fec
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Changyeon Lee [Thu, 7 Jan 2021 05:15:43 +0000 (14:15 +0900)]
e_policy_visibility: don't force update if comp_object is not redirected
if comp_object is not redirected, the compositor doesn't want to update it.
for example, if client is composited by hwc, comp_object is not redirected.
Change-Id: Ic3affe0b6a81d0ac7a03bb8f15d567c456d9d816
Doyoun Kang [Mon, 4 Jan 2021 03:34:29 +0000 (12:34 +0900)]
e_config/visibility: add a configuration - deiconify_pending_timeout
Change-Id: I4d7a16181c781f5ca1324595658746197e9c8eab
Doyoun Kang [Fri, 27 Nov 2020 07:26:24 +0000 (16:26 +0900)]
e_policy_wl: handle show/hide request for tizen_policy interface
This change is based on tizen_policy version 8.
Change-Id: I5b0936d2e22d2fc0238e6a36968e9707d3141553
Doyoun Kang [Wed, 30 Dec 2020 06:27:48 +0000 (15:27 +0900)]
e_config/e_policy_wl: add raise_before_show config
if raise_before_show configuration is enabled, then window can raise before showing.
Change-Id: I7457bc01308e9647d541993c10b09c2cfd23fdab
Junkyeong Kim [Mon, 28 Dec 2020 09:49:25 +0000 (18:49 +0900)]
e_info_server: change screen_dump function to tbm_surface_internal_capture_buffer
Change-Id: I8fb2bd4c012720b00b6efd3d1b7d49940482ea8a
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Changyeon Lee [Thu, 24 Dec 2020 08:55:45 +0000 (17:55 +0900)]
e_hwc_window: don't override client type if override of ec is false
Change-Id: I60e62ca9ae67b2b1d8fc1a43e9de54bd97ce8f22
Changyeon Lee [Tue, 22 Dec 2020 05:42:42 +0000 (14:42 +0900)]
e_policy_visibility: don't make norender if ec is MaskWindow and DimWindow
it is hotfix fot tv product
Change-Id: I9d592f15b448bb473bd15ed902aa3db1fb4ee230
Junkyeong Kim [Tue, 15 Dec 2020 07:40:53 +0000 (16:40 +0900)]
e_output: check rotation value to execute e_comp's evas resize in _e_output_primary_update
Change-Id: I8fb736f6fab59c6b0ae746f283e125ccd88cc7a2
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Changyeon Lee [Fri, 11 Dec 2020 10:04:36 +0000 (19:04 +0900)]
e_hwc_windows: update video if norender execpt video is pushed
tv product wants to call commit of video even if norender is pushed
so we add norender_except_video and update only video window.
Change-Id: I2f47f158d094444524f9ba76bf46c8169826577b
Seunghun Lee [Thu, 10 Dec 2020 07:50:32 +0000 (16:50 +0900)]
e_comp_canvas,e_policy_visibility: Add and use e_comp_canvas_norender_push_except_video
Change-Id: I579997b6e365db58a613a399af336618b74e0ab8
Junseok Kim [Thu, 10 Dec 2020 10:08:09 +0000 (19:08 +0900)]
e_policy_stack: check top is mapped when transient_for apply
Change-Id: I94f610d1b5c42d76cbafb022652a27f45dc64bae
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
(cherry picked from commit
80ed4b8a2b4e77d2e0f721bfd55666ce01b671da)
Doyoun Kang [Fri, 11 Dec 2020 12:00:12 +0000 (21:00 +0900)]
e_comp_object: reset focus if focus_policy is not top_stack in _e_comp_smart_hide
Change-Id: I67c11e86f9c986be700d4d4022e0892c683ca483
SooChan Lim [Fri, 11 Dec 2020 03:55:13 +0000 (12:55 +0900)]
e_comp_wl_tbm: add egl_image_buffer_get func to E_Comp_wl_Tbm_Funcs
egl_image_buffer_get func has to provide the tbm_surface_h for making the egl_image.
Change-Id: Ibf2b2720b322e5183d16200296fe20f69747396e
Changyeon Lee [Thu, 3 Dec 2020 11:53:44 +0000 (20:53 +0900)]
consider cursor_configured_output_resolution when cursor position is calculated
Change-Id: I825a6b7cbc411725f188e4aaf116d8f3df5799f6
Doyoun Kang [Thu, 3 Dec 2020 08:55:58 +0000 (17:55 +0900)]
e_policy_wl: change code for handling force_obscured window
E_policy run uniconify_render process when the force_obscured ec is activated or uniconified.
The client window which requests activate or uniconify can get the iconic state change event.
Change-Id: I427edc2829a2e9a1f4646eda12dc947c3e726250
Junseok, Kim [Thu, 3 Dec 2020 06:12:04 +0000 (15:12 +0900)]
e_policy: send iconify state change event when ec vis turn on and didn't send event.
Added last_sent_type for store latest iconify_state_change event.
and send iconify_state_change event when ec turn to visibility on and didn't send the event.
Change-Id: I74c33b4ade57c095c2287273d54a4ae1237666c2
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
(cherry picked from commit
6a96f56019e76cc8bf5f3affb51afa41858ed7a0)
Doyoun Kang [Thu, 3 Dec 2020 07:59:30 +0000 (16:59 +0900)]
e_service_quickpanel: add function pointer for quickpanel_type_get
Change-Id: Idb6771d0ee083e3935411ea111219d67a17f6c54
Doyoun Kang [Mon, 30 Nov 2020 06:29:25 +0000 (15:29 +0900)]
e_policy/e_service_quickpanel: add e_policy_quickpanel_type_get API
Change-Id: I8c34bcd0b3711cc5eec4005236b34da8394192e3
Doyoun Kang [Mon, 30 Nov 2020 06:17:34 +0000 (15:17 +0900)]
e_policy/e_service_quickpanel: add E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE event
When a quickpanel window is shown or hidden, then e generates
E_EVENT_POLICY_QUICKPANEL_VISIBLE_STATE_CHANGE event to notify another module.
Change-Id: I00c86c53dba0e5302daa93b1bd4ee9d4d35206ea
Doyoun Kang [Mon, 30 Nov 2020 06:07:27 +0000 (15:07 +0900)]
e_policy: move enumerations for quickpanel to e_policy.h file
Change-Id: Ifbe421df930b3bcc923f79c7abbb4c8258efbe40
Changyeon Lee [Wed, 25 Nov 2020 11:31:16 +0000 (20:31 +0900)]
e_hwc_window: fix wrong transform of recover buffer
if recover buffer is created by display buffer, recover buffer has
the transform normal
in case of window is rotated, recover buffer has wrong transform
so we add trnasform to window buffer and
set transform of display buffer to recover buffer.
Change-Id: Ibe1caadac1ba5d0ddf1d0227d79ff143069eb059
Seunghun Lee [Wed, 18 Nov 2020 06:28:05 +0000 (15:28 +0900)]
e_comp_wl_capture: correct image size according to orientation of image.
When try to capture the image of buffer to which the output transform
has been applied, should consider to swapping size.
Change-Id: Ib0d8946e5f66c65743facda60de73301ee78862b
Seunghun Lee [Thu, 19 Nov 2020 05:32:03 +0000 (14:32 +0900)]
subsurface: set below_object to pass events.
The event EVAS_CALLBACK_MOUSE_OUT cannot happen by creation
of below_obj.
This patch is to fix that Evas object associated with E_Client got
event of mouse_out unexpectedly because of creation of below_obj
even though cursor still remained on the window.
Change-Id: Ia5a5162c7f63f8f7578bdc1ad7bfec1485e3d387
Seunghun Lee [Wed, 18 Nov 2020 06:24:49 +0000 (15:24 +0900)]
e_comp_wl_capture: Add tbm buffer type for video capture.
It's to support video capture which creates tizen_video_object but not
composited by hwc. In that case, buffer type will be
E_COMP_WL_BUFFER_TYPE_TBM.
Change-Id: Ibbe6eed5b30fc435fae70d773884141f1ec1fb8e
Changyeon Lee [Mon, 9 Nov 2020 07:02:47 +0000 (16:02 +0900)]
e_hwc_windows: check visible of image object before obscured_by_target is set
Change-Id: Ib06752c9ec9ca8e8332c610d2dce1c45b283349a
Changyeon Lee [Fri, 6 Nov 2020 10:16:00 +0000 (19:16 +0900)]
e_hwc_windows: send discard feedback if commit ins't needed
Change-Id: I4628e82556fcbe4e33df6a17401e0e61fc56883c
Changyeon Lee [Fri, 6 Nov 2020 10:06:05 +0000 (19:06 +0900)]
e_hwc_windows: don' call sync callback if hwc needs re_evaluate
transition of hwc can be set false even if hwc_commit is needed.
Change-Id: I528deaebf748e6c6e2f09981c5d1611c61767848
Seunghun Lee [Thu, 5 Nov 2020 07:58:44 +0000 (16:58 +0900)]
subsurface: Place sub-surface under parent even if it's in below_list.
E didn't handle the task required for placing below parent if
sub-surface was in below_list.
But to me, the name of this API seems to be supposed to make sub-surface
place below parent whenever it's invoked. And I think this way is more
reasonable.
Change-Id: I371fdb8fdd20a2a0b007cdfe1f00573d4a6a0e00
Seunghun Lee [Thu, 5 Nov 2020 07:47:49 +0000 (16:47 +0900)]
subsurface: fix changing stack order of sub-surface with its parent.
Sub-surface can be placed above or below of its parent by passing its
sub-surface with its parent as arguments to
wl_subsurface_place_above/below according to wl_subsurface description.
However, until now enlightenment seems not to have been supported this
operation correctly. In other words, enlightenment wasn't able to handle
stacking order of sub-surface in case wl_subsurface_place_above/below is
required with a parent of sub-surface.
This patch corrects it.
Change-Id: Icd65bf1759f1c7a3b950f6c9c222a41c9817a8ae
Seunghun Lee [Tue, 22 Sep 2020 05:08:38 +0000 (14:08 +0900)]
subsurface: fix not inserting subsurface to pending state first.
The z-order is double-buffered. So, subsurface has to be inserted to
pending list first, not to active list.
Change-Id: Id76563920c511f8321d11c3e44bdfd80fd605f62
Seunghun Lee [Tue, 22 Sep 2020 04:52:01 +0000 (13:52 +0900)]
subsurface: Raise a protocol error for a bad parent.
This case should be failed noisily.
Change-Id: If20eadc7bab66696fe01f323b03bb3a7f9d7819e
Seunghun Lee [Tue, 22 Sep 2020 04:32:11 +0000 (13:32 +0900)]
subsurface: Do not raise a protocol error for a reference surface as parent.
According to a documentation of wl_subsurface, a parent surface can be a
reference surface for wl_subsurface.place_(above/below) interface.
Change-Id: Iafb202dce3a88e12e9be24809a61aca5746e1fc6
Seunghun Lee [Tue, 22 Sep 2020 02:59:22 +0000 (11:59 +0900)]
subsurface: Raise a protocol error about wl_subsurface.place_(above/below).
Check for bad sibling and raise the required error.
Change-Id: Iaa2af9818e35c62fbc8b15ed5222c4bc431eba2a
Changyeon Lee [Fri, 6 Nov 2020 08:29:12 +0000 (17:29 +0900)]
Revert "e_hwc_windows: send discard feedback if commit ins't needed"
This reverts commit
de5d14338e6156fbd43974538ee5a7ab9425adbb.
Change-Id: I6b2b7ed1a1faea41579a5163c9de639aad0d3bcc
Doyoun Kang [Fri, 6 Nov 2020 03:07:39 +0000 (12:07 +0900)]
e_desk: add log for setting/unsetting zoom
Change-Id: If1780377baafea967e15e430bfe6c42742b61eb3
Doyoun Kang [Fri, 6 Nov 2020 03:03:34 +0000 (12:03 +0900)]
Revert "e_desk: run zoom-effect only if the zoom ratio is changed"
This reverts commit
ffef14549adfec917d47482ac829e6ce2e78e571.
Change-Id: I0dd273237e86843d6b7322fcdea2d434202e3093
Changyeon Lee [Thu, 5 Nov 2020 09:47:52 +0000 (18:47 +0900)]
e_comp_wl_tizen_hwc: add timer to hwc_commit_feedback
Change-Id: Ib6abc7274281745b8374f233dce06c7f6514f2f4
Changyeon Lee [Thu, 5 Nov 2020 10:17:14 +0000 (19:17 +0900)]
e_hwc_windows: send discard feedback if commit ins't needed
Change-Id: Id2b40adfcf029a218d8268239bcf2b78296605be
Doyoun Kang [Thu, 5 Nov 2020 10:49:36 +0000 (19:49 +0900)]
e_desk: run zoom-effect only if the zoom ratio is changed
Change-Id: I2fff406e18cff36a78ad93005a0c515044b4466c
Doyoun Kang [Wed, 4 Nov 2020 11:57:25 +0000 (20:57 +0900)]
Revert "video: Destroy hwc interface explicitly when rendering is failed."
This reverts commit
35e41776c77705c2c37fee10ef7ccbbb73514f93.
Change-Id: Ia462d44af3f7905d0745fe3b442fec9772e25c5a
Doyoun Kang [Wed, 4 Nov 2020 11:56:36 +0000 (20:56 +0900)]
Revert "subsurface: Raise a protocol error about wl_subsurface.place_(above/below)."
This reverts commit
634a93f81bbafb5677918f77895d31fd64a9a165.
Change-Id: I7b5e86b9617a51c5c0ac444380495b725ebe1dd9
Doyoun Kang [Wed, 4 Nov 2020 11:56:08 +0000 (20:56 +0900)]
Revert "subsurface: Do not raise a protocol error for a reference surface as parent."
This reverts commit
29359d02eb4667384e599ba6baa0797d14f823ca.
Change-Id: I3321d170c72a97c8b80e7e1b6e794dafe5cbb01a
Doyoun Kang [Wed, 4 Nov 2020 11:55:52 +0000 (20:55 +0900)]
Revert "subsurface: Raise a protocol error for a bad parent."
This reverts commit
d3cbe02df50c847973c1ba147e0a112838af26c5.
Change-Id: Idf59aa2e6a94f6a53c24e2da4abaa161be6e6f44
Doyoun Kang [Wed, 4 Nov 2020 11:55:33 +0000 (20:55 +0900)]
Revert "subsurface: fix not inserting subsurface to pending state first."
This reverts commit
87d56cb63c49c94b9ecb25ecab4005bf4f688165.
Change-Id: If1c48b5f777c7e8aff4b237f17c2a88c782ccff1
Doyoun Kang [Wed, 4 Nov 2020 11:54:54 +0000 (20:54 +0900)]
Revert "video: Rename functions and variables more detail."
This reverts commit
76563ffde2c4b5bf0be317b40145a1e47f43890f.
Change-Id: Idd6661c970e9ff0c205e3987490bdb1f7c389e84
Doyoun Kang [Wed, 4 Nov 2020 11:54:29 +0000 (20:54 +0900)]
Revert "video: Remove unused variable."
This reverts commit
1b1659007bc040a244c98d487c443f2cc2f029fb.
Change-Id: I3041e729eb940f6eb213342301e36ce6fa0a3997
Doyoun Kang [Wed, 4 Nov 2020 11:54:02 +0000 (20:54 +0900)]
Revert "video: Do not free an instance in a handler of removing E_Client."
This reverts commit
2c80683703923f54749a81f410cea50f4d772a3b.
Change-Id: Ic2d4371635a9e4019e9390aae297c113eb08c90c