platform/upstream/enlightenment.git
2 years agoe_info: add process_info option in enlightenment_info 08/262808/1
Doyoun Kang [Fri, 20 Aug 2021 04:42:24 +0000 (13:42 +0900)]
e_info: add process_info option in enlightenment_info

The process_info option prints E_Process information using dlog

Change-Id: I357c68948c3f81365e32b6888f1be7fac9c6558b

2 years agoe_client: send E_EVENT_CLIENT_REMOVE event when an ec is deleted 99/262799/2 accepted/tizen/unified/20210820.101803 submit/tizen/20210820.040607
Doyoun Kang [Fri, 20 Aug 2021 01:18:47 +0000 (10:18 +0900)]
e_client: send E_EVENT_CLIENT_REMOVE event when an ec is deleted

There was a bug that the E_Process kept the deleted ec pointer (dangling) in the ec_lists.

When the ec which sent E_EVENT_CLIENT_ADD event and set new_client flag to 1 was deleted,
E could not send E_EVENT_CLIENT_REMOVE event because its new_client flag was 1.
By this, e_process didn't get the E_EVENT_CLIENT_REMOVE and didn't remove ec from ec_lists.

This patch resolve this problem.
We change code to send E_EVENT_CLIENT_REMOVE always if E_EVENT_CLIENT_ADD was sent before.

Change-Id: Iac5f683a9fb2aacd897ec07f4b0ab46c5e396d8d

2 years agoe_config: add cursor_configured_output_resolution configuration 28/262628/3
Changyeon Lee [Thu, 3 Dec 2020 11:53:44 +0000 (20:53 +0900)]
e_config: add cursor_configured_output_resolution configuration

if output resolution is 4k but resolution of cursor image is 2k resolution,
cursor image should be scaled to 2 and cursor is scaled by tdm driver when
it is displayed by hwc.
hwc must consider scaling of cursor when position is calculated.
but enlightenment doesn't know whether resolution of cursir image is 2k or 4k.
so cursor_configured_output_resolution is added in e_config.

Change-Id: I825a6b7cbc411725f188e4aaf116d8f3df5799f6

2 years agoe_service_quickpanel: check scrollable state before showing/hiding quickpanel 85/262685/1 accepted/tizen/unified/20210818.124523 submit/tizen/20210818.023717
Doyoun Kang [Wed, 18 Aug 2021 01:37:26 +0000 (10:37 +0900)]
e_service_quickpanel: check scrollable state before showing/hiding quickpanel

There was a bug that the quickpanel was shown when the window set a scrollable state
to E_QUICKPANEL_CLIENT_SCROLL_STATE_RETAIN and the previous scrollable state was
E_QUICKPANEL_CLIENT_SCROLL_STATE_UNSET.
In this case, quickpanel could not be shown.

This patch resolves this problem by adding a scrollable checking code.

Change-Id: I6ce08691120f67e2a2258b06ad377c74895907b0

2 years agoe_policy_wl/e_service_quickpanel: refactoring for scrollable state of quickpanel 81/262681/2
Doyoun Kang [Wed, 18 Aug 2021 00:29:50 +0000 (09:29 +0900)]
e_policy_wl/e_service_quickpanel: refactoring for scrollable state of quickpanel

1. Change code to use E_Quickpanel_Client_Scroll_State enumeration not integer.
   - E_QP_Client's scrollable value
   - e_qp_client_scrollable_state_set
   - e_qp_client_scrollable_state_get

2. Change code to use recommended function not deprecated function.
   - e_qp_client_scrollable_set -> e_qp_client_scrollable_state_set
   - e_qp_client_scrollable_get -> e_qp_client_scrollable_state_get

Change-Id: I822fe6ce40f7ffc58a9b432fa2d6437172425d56

2 years agoe_input_server_input : max_touch_count 77/262477/2
dyamy-lee [Wed, 11 Aug 2021 11:48:42 +0000 (20:48 +0900)]
e_input_server_input : max_touch_count

apply max_mt_slot by using configured value when winfo init device

Change-Id: Ic3314ddfb7b3f55a21906a08e12de97dfd2b8b61

2 years agoe_policy_wl: refactoring for handling tzsh, tzsh_service, tzsh_client 49/262649/3
Doyoun Kang [Tue, 17 Aug 2021 06:29:19 +0000 (15:29 +0900)]
e_policy_wl: refactoring for handling tzsh, tzsh_service, tzsh_client

We found a memory leak for the E_QP_Client in some case.
If a window created two more tzsh_quickpanel clients and destroyed them,
then e COULD NOT CALL the first quickpanel client's e_qp_client_del function.
This was because e handled ec information by tzsh only.

To resolve this,
We add two lists - tzsh_service, tzsh_client - in the E_Policy_Wl_Tzsh.
Also we move some information(E_Client and E_Pixmap) to E_Policy_Wl_Tzsh_Srv and
E_Policy_Wl_Tzsh_Client from E_Policy_Wl_Tzsh.
And Each E_Policy_Wl_Tzsh_Srv and E_Policy_Wl_Tzsh_Client handle its ec itself.

Change-Id: Ie79ab1ccbbf934400d0b478a4162d21d6fba0f88

2 years agoe_info_client, e_utils: change long to unsigned long to avoid sign extension 32/262632/1
Junseok, Kim [Tue, 17 Aug 2021 04:40:51 +0000 (13:40 +0900)]
e_info_client, e_utils: change long to unsigned long to avoid sign extension

Change-Id: I85188a167e8a6f0b539a185873b7a82bc1bfa0d1

2 years agoSet ec->explicit_sync_surface to null when it destroyed 63/262363/4
Joonbum Ko [Mon, 9 Aug 2021 05:52:27 +0000 (14:52 +0900)]
Set ec->explicit_sync_surface to null when it destroyed

 - If client try to create only explicit_surface_sync after
 destroying its old one while ec is retained,
 the creation will be failed because ec->explicit_surface_sync
 was not initialized to NULL.

 - This problem cannot occur in normal EGL client,
   but can occur in Vulkan.

Change-Id: Ifa5e0340c5a6f91ec66fd24c5c5f3a3fce3f1c42
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoe_comp_wl_tbm: clear execution permission from c file 71/262371/1
Sung-Jin Park [Fri, 9 Jul 2021 12:58:25 +0000 (21:58 +0900)]
e_comp_wl_tbm: clear execution permission from c file

Change-Id: I6fe10a03e47e1ec682c08f38f61f981f667f00ea
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
2 years agoe_comp_wl: add hook E_COMP_WL_HOOK_CLIENT_ALPHA_CHANGE for change in alpha value accepted/tizen/unified/20210805.131604 submit/tizen/20210805.063859
Rahul Pandey [Wed, 4 Aug 2021 15:31:51 +0000 (21:01 +0530)]
e_comp_wl: add hook E_COMP_WL_HOOK_CLIENT_ALPHA_CHANGE for change in alpha value

Change-Id: Ibd52cd662c9717bd883275e3f10eaac5509c0260
Signed-off-by: Rahul Pandey <rahul.p1@samsung.com>
2 years agoRevert "Revert "e_map: enable direct render set to the new e_map""
Doyoun Kang [Thu, 5 Aug 2021 00:17:20 +0000 (09:17 +0900)]
Revert "Revert "e_map: enable direct render set to the new e_map""

This reverts commit f7a38cbb8511c428f18dd136d1f28d85c98eb2a2.
(Crack screen issue has fixed by evas. So, we apply this patch again.)

Change-Id: I223df78896839ccb1ace05acce58a14a8913e5ac

2 years agoe_devicemgr:fix the wrong cursor position after pointer warp request by non-fullscree... 88/262188/2
Duna Oh [Wed, 4 Aug 2021 00:15:22 +0000 (09:15 +0900)]
e_devicemgr:fix the wrong cursor position after pointer warp request by non-fullscreen application

The warp request from an app should be in relative coordinate which is bound to (0,0 ~ width,height).
After clipping warp coords to inside of the window, we add up the the x,y position of window
to handle the warp coords in server side.

Change-Id: Ic78a352e4ede83dae3826a57338213fedeb73324

2 years agoe_policy_wl: refactoring rename to softkey_service from softkey 98/261998/2 accepted/tizen/unified/20210803.123916 submit/tizen/20210803.003237
Doyoun Kang [Fri, 30 Jul 2021 07:44:39 +0000 (16:44 +0900)]
e_policy_wl: refactoring rename to softkey_service from softkey

Change-Id: I5067747880aeebdf04548751bb9daf9d08c4ec6f

2 years agoe_hwc_windows: Support gbm_surface of gl compositor 73/261973/8
Changyeon Lee [Fri, 30 Apr 2021 08:11:18 +0000 (17:11 +0900)]
e_hwc_windows: Support gbm_surface of gl compositor

if gl_compositor use gbm_surface E_Hwc_Window_Queue
of target window is created with gbm_surface and
E_Hwc_Window_Queue_Buffer(gbm_bo) is acquired from
gbm_surface.

Change-Id: Ib259876ce8851846203fbfb5bdae7005af8f4b9b

2 years agoe_comp_wl_tbm: Add internal func e_comp_wl_tbm_import_gbm_bo 72/261972/7
Changyeon Lee [Fri, 9 Apr 2021 03:37:21 +0000 (12:37 +0900)]
e_comp_wl_tbm: Add internal func e_comp_wl_tbm_import_gbm_bo

this api for converting gbm_bo to tbm_surface

Change-Id: Ib6439fd4c64974aac95845ccac295ac9db486edf

2 years agoe_service_softkey: refactoring internal naming 66/261966/1
Doyoun Kang [Thu, 29 Jul 2021 22:51:30 +0000 (07:51 +0900)]
e_service_softkey: refactoring internal naming

Rename to softkey_service from softkey

Change-Id: I9ff6d19fe0e5c2bad8a811eba17a8f48454d82b3

2 years agoRevert "e_client: Revert unintended change" 69/261869/1 accepted/tizen/unified/20210728.090603 submit/tizen/20210728.045901
Seunghun Lee [Wed, 28 Jul 2021 04:32:50 +0000 (13:32 +0900)]
Revert "e_client: Revert unintended change"

This reverts commit cd2c7bed010b6dff41e5057e61cd024781b45edb.

An unintended change was made mistakenly from the commit:

commit 790fee54df0cead13ff0c17c7fd21c2ddae6302d (HEAD)
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Wed Jun 23 10:53:24 2021 +0900

    subsurface: Add a function for getting parent of sub-surface

Actually this had been corrected from the commit 760ee67 by chance,
but I made the commit cd2c7be because I misunderstood it.

Change-Id: Id25abf493a280696f977dbf5dfef1b4ed199166b

2 years agoe_policy_wl: Add missing NULL check 67/261867/1
Seunghun Lee [Wed, 28 Jul 2021 04:09:34 +0000 (13:09 +0900)]
e_policy_wl: Add missing NULL check

The NULL check was accidentally missed from the commit:

commit 365cf23f85795c691edddc836425bcbf34c96f29
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Tue Jul 20 09:45:18 2021 +0900

    Move fake implementations for sub-surface to e_policy_wl

Change-Id: Ibc53c81cfa6ba551f026b352f92b0cb6855183b0

2 years agoe_client: Revert unintended change 12/261812/4 accepted/tizen/unified/20210727.124406 submit/tizen/20210727.045829
Seunghun Lee [Tue, 27 Jul 2021 03:56:13 +0000 (12:56 +0900)]
e_client: Revert unintended change

The original logic of code changed unintentionally by following patch.
This is to revert it.

commit 760ee674d0d4e40953430edb99bea2b32bdb2a73
Author: Seunghun Lee <shiin.lee@samsung.com>
Date:   Fri Jul 2 14:41:11 2021 +0900

    Make sure parent_get is called with sub-surface

    e_comp_wl_subsurface APIs should be called with sub-surface except
    for e_comp_wl_subsurface_check() that is for checking if given
    E_Client is for sub-surface.

    This silences following error log.

    E/E20     (  294): ERR<eina_safety> src/bin/e_comp_wl_subsurface.c:1299
    safety check failed: ec->comp_data == NULL

Change-Id: I0576ea57b770d4a9d2ea0b714d57b1c1f44867d4

2 years agoRevert "e_map: enable direct render set to the new e_map" 16/261816/4
JunSeok Kim [Tue, 27 Jul 2021 04:39:39 +0000 (04:39 +0000)]
Revert "e_map: enable direct render set to the new e_map"

This reverts commit bb66ae5c274baf1a92e4b08b7b6790bd80f54167.

Reason for revert: There was a crack screen issue when the 8K image was capture.
We will apply this patch again after fixing it.

Change-Id: I72713e601f39afcbc462b273a2b439d93f2ce35a

2 years agoe_client: fix transient_for_below bug for lowering child window 62/261662/1 accepted/tizen/unified/20210723.122653 submit/tizen/20210722.095947 submit/tizen/20210723.001953
Doyoun Kang [Thu, 22 Jul 2021 07:26:25 +0000 (16:26 +0900)]
e_client: fix transient_for_below bug for lowering child window

There was a bug that the children list was wrong when the parent was raised.
The bug scenario is as below.
1. One of transient_for_below children requests to lower
2. The parent of it requests to raise
Then, the parent is raised with wrong stack of transient_for_below children.

This patch will fix it.

Change-Id: Ifa92967e741bd90f4d3e5fb375bb64a63357185d

2 years agoe_hwc: Add E_Hwc_Presentation_Callback 07/261007/7
Changyeon Lee [Thu, 8 Jul 2021 08:29:31 +0000 (17:29 +0900)]
e_hwc: Add E_Hwc_Presentation_Callback

this callback for module want to know that timing of displaying(presentation)

if callback is added after frame of client is changed(ex: hide, show),
callback is called when frame is presented on display.

Once callback of E_Hwc_Presentation_Callback is called,
E_Hwc_Presentation_Callback should be destroyed.

Change-Id: Icbe0d7c92f6f3e3fdbce6c40a33a9c823d0f6d68

2 years agoe_foreign_shell: Remove trailing white spaces 10/261610/1
Seunghun Lee [Thu, 22 Jul 2021 05:17:01 +0000 (14:17 +0900)]
e_foreign_shell: Remove trailing white spaces

Change-Id: Idb5304b190572421e61bbce3ee839f346e3a4e86

2 years agoe_foreign_shell: Remove redundant NULL check 02/261602/1
Seunghun Lee [Thu, 22 Jul 2021 02:31:56 +0000 (11:31 +0900)]
e_foreign_shell: Remove redundant NULL check

_e_exported_shell_find_by_surface() is called from
e_foreign_shell_export() where the surface parameter is already
validated prior to the call. This makes the 'surface' NULL check
redundant.

Change-Id: I619a3e8e1bdeb9eb1ebeb89e79a8eabe2aa9316e

2 years agoe_foreign_shell: Add surface role error code 01/261601/1
Seunghun Lee [Thu, 22 Jul 2021 02:10:04 +0000 (11:10 +0900)]
e_foreign_shell: Add surface role error code

Needed for properly reporting surface role violations from
wtz_importer.import_shell.

Change-Id: I55d56798c608ff274e641bfd7313903457076172

2 years agoe_foreign_shell: fix missing 'static' keyword 00/261600/1
Seunghun Lee [Thu, 22 Jul 2021 02:02:49 +0000 (11:02 +0900)]
e_foreign_shell: fix missing 'static' keyword

Declare _exported_shell_hash as static variable as it's local to
e_foreign_shell.c

Change-Id: I5eeb3d8236eb4abda3fb072cf6be6fbf2a127c1d

2 years agoforeign_shell: Associate E_Client instead of wl_surface 99/261599/1
Seunghun Lee [Wed, 21 Jul 2021 09:31:30 +0000 (18:31 +0900)]
foreign_shell: Associate E_Client instead of wl_surface

Knowing when the comp_data is deleted, it's better to associate the
foreign shell with E_Client instead of wl_surface, because E_Client is a
user data of the resource of wl_surface.
The foreign shell becomes inert when the comp_data gets deleted, then
the comp_data must be valid during the lifetime of the foreign shell.

When it comes to ec->frame, we can be sure that it's alive, because it's
supposed to be freed in _e_client_free().

Change-Id: I653df916cf36dfe6f8cc082dee37106e11703fba

2 years agoe_comp_wl: Add missing definitions of hook point 66/261566/1 accepted/tizen/unified/20210722.124802 submit/tizen/20210722.001313
Seunghun Lee [Wed, 21 Jul 2021 08:12:40 +0000 (17:12 +0900)]
e_comp_wl: Add missing definitions of hook point

This probably has been writing memory beyond the actual dimensions of
_e_comp_wl_hooks, which is prone to memory corruption.

Change-Id: I7ac472731d0db22be2476fc164e208041268fd9e

2 years agoe_client: Do not free 'comp_data' here 52/261552/2 submit/tizen/20210721.075325
Seunghun Lee [Wed, 21 Jul 2021 05:50:33 +0000 (14:50 +0900)]
e_client: Do not free 'comp_data' here

The 'comp_data' gets deleted in e_comp_wl implementation creating the
'comp_data'. Thus, it's redundant to free the 'comp_data' in e_client
and it even gives confusion that the 'comp_data' is still alive at that
point when e_client tries to free the 'comp_data'.

Change-Id: I658c1fce58bca7e34ad612297935c862280c1d8a

2 years agosubsurface: Fix formatting 81/261381/10
Seunghun Lee [Fri, 16 Jul 2021 07:20:19 +0000 (16:20 +0900)]
subsurface: Fix formatting

Change-Id: I4f3826e28ee5cfd599f461a60f984fdefc049d54

2 years agosubsurface: Add log information 80/261380/8
Seunghun Lee [Fri, 16 Jul 2021 06:42:16 +0000 (15:42 +0900)]
subsurface: Add log information

It additionally prints the pointer of E_Client for sub-surface
when the comp_data of parent is deleted.

Change-Id: I446c3afc657bc82f3aa15019383ea43365bcba27

2 years agoMove fake implementations for sub-surface to e_policy_wl 86/261486/7
Seunghun Lee [Tue, 20 Jul 2021 00:45:18 +0000 (09:45 +0900)]
Move fake implementations for sub-surface to e_policy_wl

It's reasonable to think that the making up the fake implementation for
sub-surface and sending information of invalid parent through
tizen_subsurface_watcher are the jobs of tizen_policy, not sub-surface
implementation.

The implementation of sub-surface should only handle the case with valid
parent surface resource. Even if the invalid parent were given for
sub-surface through this, it's better to make it failed noisily.

Change-Id: If045dcc35502314f16c0da6fbc7bd0c85e8c545f

2 years agosubsurface: Remove deprecated function 12/261512/3
Seunghun Lee [Tue, 20 Jul 2021 05:28:28 +0000 (14:28 +0900)]
subsurface: Remove deprecated function

The function e_comp_wl_subsurface_create got deprecated since
e_comp_wl_subsurface_add have been introduced.

Change-Id: I18867627bfce0e73002222abe8eae09b391d4580

2 years agosubsurface: Add function e_comp_wl_subsurface_add() 34/261134/10
Seunghun Lee [Mon, 12 Jul 2021 09:14:04 +0000 (18:14 +0900)]
subsurface: Add function e_comp_wl_subsurface_add()

The function e_comp_wl_subsurface_create() is deprecated, and
e_comp_wl_subsurface_add() is added instead.
The purpose of this patch is as followed.

1. Some codes for checking for validating subsurface are repeated in
   e_comp_wl_subsurface and e_policy_wl.
   This is to remove the duplication through gathering duplicated check
   codes into the function.

2. Using suffix 'add' is better than 'create'.
   The 'create' implies it returns an object which later has to be
   destroyed, the 'add', on the other hand, also can be used for
   returning boolean value.

Change-Id: Ieeed62e87a502d0955378ecb8e37779ae732f9d5

2 years agoe_policy_wl: implement callback function for tizen_policy's new requests 01/261501/1 accepted/tizen/unified/20210720.123331 submit/tizen/20210720.080518
Doyoun Kang [Tue, 20 Jul 2021 07:46:29 +0000 (16:46 +0900)]
e_policy_wl: implement callback function for tizen_policy's new requests

we implement callback fuctions for below requests
- tizen_policy_set_transient_for_below
- tizen_policy_set_parent_with_below

Change-Id: I52d4b4ac17926699f51bebe7ea221012f311472e

2 years agoe_policy_wl: update tizen_policy_interface version to 9 98/261498/1
Doyoun Kang [Tue, 20 Jul 2021 06:57:12 +0000 (15:57 +0900)]
e_policy_wl: update tizen_policy_interface version to 9

According to update version of the tizen_policy interface,
enlightenment updates the tizen_policy_interface version to 9 from 8.

And add empty functions for new requests of tizen_policy
- tizen_policy_set_transient_for_below
- tizen_policy_set_parent_with_below

Change-Id: Ica6940a959a3284aa24ef3f1261c1333ec5332ff

2 years agoe_client: add code to handle lowering transient_for_below window 88/261488/3
Doyoun Kang [Tue, 20 Jul 2021 04:45:38 +0000 (13:45 +0900)]
e_client: add code to handle lowering transient_for_below window

When a child window which set transient_for_below and belog_to_parent properties
requests to lower, e lowers it only between siblings and doesn't lower it under
the parent's sibling.

Change-Id: Ie691779c4a833926a4c196e76e53c426849364ec

2 years agoe_client: add code to handle raising transient_for_below window 77/261477/2
Doyoun Kang [Tue, 20 Jul 2021 00:38:22 +0000 (09:38 +0900)]
e_client: add code to handle raising transient_for_below window

When a child window which set transient_for_below and belog_to_parent properties
requests to raise, e raises it only between siblings and doesn't raise it on the parent.
In other words, the child window is always placed under the parent.

Change-Id: I167207784bec461865eff72b4105502b294d15c9

2 years agoe_test_helper: set belong_to_parent flag in transient_for_below test helper 76/261476/1
Doyoun Kang [Tue, 20 Jul 2021 00:30:01 +0000 (09:30 +0900)]
e_test_helper: set belong_to_parent flag in transient_for_below test helper

Change-Id: Ife6a87f8173faacf43e7beeffec15928b4c87d6b

2 years agoe_client/e_policy_wl: refactoring ec's transient_for_always_on_parent value 67/261467/2
Doyoun Kang [Mon, 19 Jul 2021 11:48:16 +0000 (20:48 +0900)]
e_client/e_policy_wl: refactoring ec's transient_for_always_on_parent value

1. Rename E_Client's internal value
   -  "belong_to_parent" from "transient_for_always_on_parent"
2. Add below APIs for setting/getting belong_to_parent property
   - e_client_belong_to_parent_set
   - e_client_is_belong_to_parent
3. Change relating aux hint key
   - "wm.policy.win.belong_to_parent" from "wm.policy.win.transient_for.always_on_parent"

Change-Id: I9a6fe63d91d911b84f99149cf35c7ec0bcd9f326

2 years agoe_client: refactoring code for e_client_lower 39/261439/3
Doyoun Kang [Mon, 19 Jul 2021 04:00:56 +0000 (13:00 +0900)]
e_client: refactoring code for e_client_lower

we extract method (_lower_belong_to_parent) from e_client_lower.

Change-Id: I2543abfbf16de6d052ecb8f5cf76413b0e98fb3d

2 years agoe_client: refactoring code for e_client_raise 38/261438/2
Doyoun Kang [Mon, 19 Jul 2021 03:57:02 +0000 (12:57 +0900)]
e_client: refactoring code for e_client_raise

we extract method (_raise_belong_to_parent) from e_client_raise.

Change-Id: Ief4432f38418eefd6352d67bc104f581c80da3c2

2 years agoe_client: add APIs for setting/getting transient_policy 29/261429/1
Doyoun Kang [Mon, 19 Jul 2021 01:21:34 +0000 (10:21 +0900)]
e_client: add APIs for setting/getting transient_policy

we add APIs as below.
 - E_API void e_client_transient_policy_set(E_Client *ec, E_Transient policy)
 - E_API E_Transient e_client_transient_policy_get(E_Client *ec)

Change-Id: I728e9f0da3c6110925c3721745e279abb449e0d3

3 years agosoftkey service: support to handle the handler region for softkey service 99/261199/2 accepted/tizen/unified/20210715.094740 submit/tizen/20210714.022946
Doyoun Kang [Tue, 13 Jul 2021 07:13:40 +0000 (16:13 +0900)]
softkey service: support to handle the handler region for softkey service

we add code for setting the handler region of the softkey service to support showing
the softkey service by swipe up.

Change-Id: I2a00140de3359695454478c986f826f20f0923fe

3 years agoe_map: enable direct render set to the new e_map 43/261243/1
Junseok, Kim [Wed, 14 Jul 2021 01:08:11 +0000 (10:08 +0900)]
e_map: enable direct render set to the new e_map

Change-Id: Ia681ed68913098b35934e3362859fdc46327bfcd

3 years agosubsurface: Assign E_Subsurface to user data of wl_resource 77/261077/6 accepted/tizen/unified/20210713.090217 submit/tizen/20210713.053811
Seunghun Lee [Fri, 9 Jul 2021 08:16:15 +0000 (17:16 +0900)]
subsurface: Assign E_Subsurface to user data of wl_resource

Now that E_Subsurface was introduced for sub-surface, it's better to use
this as a user data of wl_resource of sub-surface. And E_Subsurface data
will be destroyed with destruction of an associated E_Client or of
wl_resource.

Change-Id: I9561df474127753a9c9d80ca9b595fed62363bd8

3 years agosubsurface: Use E_COMP_WL_HOOK_DEL handler 76/261076/6
Seunghun Lee [Fri, 2 Jul 2021 07:57:49 +0000 (16:57 +0900)]
subsurface: Use E_COMP_WL_HOOK_DEL handler

This uses E_COMP_WL_HOOK_DEL handler for comp_data of sub-surface and of
its parent. It is meant to register a handler only for interesting
E_Client, not for all E_Clients unnecessarily as it was.

This will make code look clear and help with readability.

Change-Id: I6ed991fea6c3ff3119e98a828e44952b06e6d11a

3 years agoe_comp_wl: Add a hook point for destruction of comp_data 75/261075/2
Seunghun Lee [Fri, 9 Jul 2021 01:39:01 +0000 (10:39 +0900)]
e_comp_wl: Add a hook point for destruction of comp_data

This is to add a hook point, E_COMP_WL_HOOK_DEL which will be triggered
right before comp_data gets destroyed.

Many implementations of E20 have referred to ec->comp_data, but there
have been no way to find out when it's deleted.
So, we have had to check the validation of it before accessing it.

Through this patch, we can now ensure the validation of comp_data by
using a handler of E_COMP_WL_HOOK_DEL.

Change-Id: I7485d9b11a1ea46d500b4b0eac165e8529045cae

3 years agosubsurface: Extract methods from create() 74/261074/1
Seunghun Lee [Fri, 2 Jul 2021 05:38:30 +0000 (14:38 +0900)]
subsurface: Extract methods from create()

This is to extract methods from e_comp_wl_subsurface_create to enhance
readability.

Change-Id: I0803429cfa265df50b52d8d6a29874a835825b4d

3 years agosubsurface: Add E_Subsurface data type 73/261073/1
Seunghun Lee [Tue, 29 Jun 2021 02:41:10 +0000 (11:41 +0900)]
subsurface: Add E_Subsurface data type

E_Subsurface is a data type wrapping E_Comp_Wl_Subsurf_Data, which can
be accessed from a sub-surface implementation.
This is for adding new field for sub-surface restricting of direct access
to the data.

Change-Id: I1e5b2a8ed840f390f7c92817b36990df1ef9258c

3 years agoe_policy_stack: [2nd] apply stack policy for transient below 08/259808/7 accepted/tizen/unified/20210709.081232 submit/tizen/20210709.022325
Doyoun Kang [Tue, 15 Jun 2021 03:20:55 +0000 (12:20 +0900)]
e_policy_stack: [2nd] apply stack policy for transient below

There was a case that the transient_below did not work.
This change will fix it.

This change is dependent on the below change.
- policy: apply stack policy for transient below

Change-Id: I3948a0b7948588ee3349e1c7f09099ae65de291e

3 years agoMake sure parent_get is called with sub-surface 47/260747/2
Seunghun Lee [Fri, 2 Jul 2021 05:41:11 +0000 (14:41 +0900)]
Make sure parent_get is called with sub-surface

e_comp_wl_subsurface APIs should be called with sub-surface except for
e_comp_wl_subsurface_check() that is for checking if given E_Client is
for sub-surface.

This silences following error log.

E/E20     (  294): ERR<eina_safety> src/bin/e_comp_wl_subsurface.c:1299
safety check failed: ec->comp_data == NULL

Change-Id: I220aff909ff0c754f44f7ed4c2f95e5a1475f513

3 years agoe_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get 63/260863/2 accepted/tizen/unified/20210707.070841 submit/tizen/20210706.063021
Changyeon Lee [Tue, 11 May 2021 10:45:46 +0000 (19:45 +0900)]
e_comp_wl_tbm: Add internal func e_comp_wl_tbm_aligned_width_get

this patch is for supporting another RGB format

Change-Id: Icd5279c2c3f83164527a186dbf85f9084ff8d959

3 years agoe_client: add e_client_is_internal API 22/260822/1
Doyoun Kang [Mon, 5 Jul 2021 08:19:17 +0000 (17:19 +0900)]
e_client: add e_client_is_internal API

We provide e_client_is_internal API to check the ec is internal or not.
FYI, if ec is null, then this function returns TRUE.

Change-Id: Icde7a82434132ea14c3d17d923b62f15e1569c8f

3 years agosubsurface: Add and use a function for getting global coord 28/260628/2
Seunghun Lee [Wed, 30 Jun 2021 02:52:55 +0000 (11:52 +0900)]
subsurface: Add and use a function for getting global coord

This provides a helper function for getting global coordinates of
sub-surface which is calculated by adding the coordinates of sub-surface
to the coordinates of its parent.
This is to not repeat calculation code and help with readability.

Change-Id: I46c99bbf7eb3c82e70aae1a5f0b5f7d16b2c00aa

3 years agosubsurface: Add and use a function for getting position 20/260620/4
Seunghun Lee [Thu, 24 Jun 2021 07:37:37 +0000 (16:37 +0900)]
subsurface: Add and use a function for getting position

This lets us be able to get position of sub-surface without accessing
the data of sub-surface by calling e_comp_wl_subsurface_position_get().

Change-Id: I930893a326990fb3991152dfb56e13a469f3be14

3 years agosubsurface: Add and use a function for getting stand alone mode 19/260619/2
Seunghun Lee [Fri, 25 Jun 2021 05:45:00 +0000 (14:45 +0900)]
subsurface: Add and use a function for getting stand alone mode

This is to not access the data of sub-surface and to help with
readability.

Change-Id: Ia10c5247c61f6ec1a9bbc6ff4c33cbca48860d24

3 years agosubsurface: Add and use functions for tizen_policy extensions 18/260618/1
Seunghun Lee [Wed, 23 Jun 2021 05:24:54 +0000 (14:24 +0900)]
subsurface: Add and use functions for tizen_policy extensions

This is to seperate sub-surface code out from e_policy_wl.c file.

Change-Id: I65d84ce69dbe2c4effa5bfcf88452933d5df57c3

3 years agoe_policy: changed E_CONTAIN TO E_INTERSECTS when checking EC is out of zone size. 34/260534/1 accepted/tizen/unified/20210630.005924 submit/tizen/20210628.111545
Junseok, Kim [Mon, 28 Jun 2021 10:38:16 +0000 (19:38 +0900)]
e_policy: changed E_CONTAIN TO E_INTERSECTS when checking EC is out of zone size.

There was bug that The EC is regards as out of Zone using E_CONTAIN function.
if the EC is placed at boundary of Zone, E_CONTAIN(zone geom, ec geom) returns EC is out of zone.
But, In this case, we should use E_INTERSECTS to consider remained EC part of inside of Zone.

Change-Id: Ia9e6f22bdc5b8d33ed55305b66b9475e04e82587
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_wl_tizen_hwc: remove the _e_comp_wl_tizen_hwc_cb_commit_feedback 39/260439/4 accepted/tizen/unified/20210629.130147 submit/tizen/20210625.061033 submit/tizen/20210628.011759
SooChan Lim [Fri, 25 Jun 2021 02:55:52 +0000 (11:55 +0900)]
e_comp_wl_tizen_hwc: remove the _e_comp_wl_tizen_hwc_cb_commit_feedback

The tizen_hwc_commit_feedback request has been removed.
Therefore, e20 remove the implemetation of this request.

Change-Id: I30f6f26a444e7522d06b0b02331d229bdaee336c

3 years agoe_comp_object: Add null check 46/260446/1
Seunghun Lee [Fri, 25 Jun 2021 04:49:22 +0000 (13:49 +0900)]
e_comp_object: Add null check

This silences error log.

E/E20     (  301): ERR<evas_main> ../src/lib/evas/canvas/evas_ob:0155
calling smart object API on non-smart object!

Change-Id: I2d1785343da3bc295398527aff5db4a315d38dde

3 years agoviewport: Separate code out from declaration 75/260275/1
Seunghun Lee [Wed, 23 Jun 2021 02:23:14 +0000 (11:23 +0900)]
viewport: Separate code out from declaration

We don't mix declaration and code.

Change-Id: I88a7ae0eb42d9e984baf2400d9f0dff000dda3c3

3 years agoviewport: Remove duplicated code 74/260274/1
Seunghun Lee [Wed, 23 Jun 2021 01:57:17 +0000 (10:57 +0900)]
viewport: Remove duplicated code

Use e_comp_wl_topmost_parent_get(), and remove _topmost_parent_get()
which did the exact same functionality.

Change-Id: I5ffd2315dcae247003a51d162c72046d9898f94b

3 years agosubsurface: Add a function for getting parent of sub-surface 73/260273/1
Seunghun Lee [Wed, 23 Jun 2021 01:53:24 +0000 (10:53 +0900)]
subsurface: Add a function for getting parent of sub-surface

To get a parent of sub-surface without accessing particular sub-surface
data, this adds e_comp_wl_subsurface_panret_get() function. This should
also help with readability.

As the name implies, this should be called with a E_Client associated
with sub-surface instance, but it will be okay to be called with
not sub-surface instance. In that case, it will just return NULL.

Change-Id: I08f340424b46fdb54141fa41747ba55ad2ae6875

3 years agoe_comp_wl_capture: Fix pixman format of ABGR,XBGR 18/260218/2
Changyeon Lee [Tue, 22 Jun 2021 05:57:15 +0000 (14:57 +0900)]
e_comp_wl_capture: Fix pixman format of ABGR,XBGR

Change-Id: I30248d88f654ab2a04d43ad8df9e58f7afebeb21

3 years agoe_info_server: Support XBGR and ABGR format in dump hwc_wins 06/260206/2
Changyeon Lee [Mon, 21 Jun 2021 07:59:03 +0000 (16:59 +0900)]
e_info_server: Support XBGR and ABGR format in dump hwc_wins

Change-Id: I28b73950c2793bea19dd4c79c263dffbfe5b4140

3 years agoe_comp_wl: Add functions for wl_surface role 00/260200/6
Seunghun Lee [Mon, 21 Jun 2021 08:16:57 +0000 (17:16 +0900)]
e_comp_wl: Add functions for wl_surface role

The Wayland protocol says a surface can have only one role at a time.
This means that a compositor is supposed to post an corresponding error
when wl_client tries to assign several roles to one wl_surface.

With the absence of the handling the case, some wl_client has already
been assigning a role of xdg_toplevel to a wl_surface which already has
a role of wl_subsurface.

This patch is meant to clarify the case and handle it in proper way.
Currently, only the subsurface implementation sets role, but later, all
relevant implementation has to set its wl_surface's role, and handle
error case to prevent wl_clients from misuse.

Change-Id: I40dce394d70bdddb4d5a8dd19858a386c1f16b38

3 years agosubsurface: Add and use function for checking sub-surface 99/260199/5
Seunghun Lee [Mon, 21 Jun 2021 06:40:00 +0000 (15:40 +0900)]
subsurface: Add and use function for checking sub-surface

This lets us check if a E_Client is for sub-surface without accessing
particular data of sub-surface. And it should help with readability.

Note that DO NOT use this function to ensure the safety of accessing
"comp_data->sub.data". So, you cannot assume the validation by using
e_comp_wl_subsurface_check().
The function, by its name, doesn't imply anything about the safety at
all. It does only check whether given E_Client is for sub-surface.

Change-Id: I15f32c124ecf9a95a77b61095b0d855379d9c800

3 years agoe_hwc_window: Synchronize frame in case of subsurface is synchronized committed 21/259721/5 accepted/tizen/unified/20210621.123017 submit/tizen/20210621.042754
Changyeon Lee [Thu, 10 Jun 2021 06:26:35 +0000 (15:26 +0900)]
e_hwc_window: Synchronize frame in case of subsurface is synchronized committed

if subsurface is synchronized committed, frame should be synchronized
with parent surface.
so call e_hwc_window_present_sync when subsurface is displayed by hwc
but parent is displayed by gl compositing.

Change-Id: Iea291960f18c2bb13e6df1f4de06bbf0a3d9aca5

3 years agoe_comp_wl: add E_COMP_WL_HOOK_SUBSURFACE_SYNCHRONIZED_COMMIT hook 20/259720/3
Changyeon Lee [Thu, 17 Sep 2020 05:49:12 +0000 (14:49 +0900)]
e_comp_wl: add E_COMP_WL_HOOK_SUBSURFACE_SYNCHRONIZED_COMMIT hook

Change-Id: Ibd4fffca6dc4b8f6a0942f82b3e1203d41944255

3 years agoe_comp_object: add API - e_comp_object_transform_bg_color_set 84/259984/2 accepted/tizen/unified/20210618.120751 submit/tizen/20210617.084705
Doyoun Kang [Thu, 17 Jun 2021 06:47:58 +0000 (15:47 +0900)]
e_comp_object: add API - e_comp_object_transform_bg_color_set

we add a new API to support changing a color of the transform background object as below
- E_API void e_comp_object_transform_bg_color_set(Evas_Object *obj, int r, int g, int b, int a);

Change-Id: Ia3795ca1dfb50f6ce13fc2ef3148b6bb25e27995

3 years agoe_hwc_windows: Fix deadlock when e_hwc_window is freed 75/259875/4 accepted/tizen/unified/20210617.124858 submit/tizen/20210616.110744
Changyeon Lee [Wed, 16 Jun 2021 06:03:23 +0000 (15:03 +0900)]
e_hwc_windows: Fix deadlock when e_hwc_window is freed

after tbm_surface of E_Hwc_Window_Update is referenced,
it is possible that unreferenced api of tbm_surface
(tbm_surface_internal_unref) is called when e_hwc_window
is freed.

e_hwc_windows add rendererd_windows list to user_data of
tbm_surface of target_window
rendered_windows list has reference of e_hwc_window and
unreference of e_hwc_window can be called when rendered_windows
list is freed in user_data delete callback of tbm_surface.

but it cause deadlock problem when tbm_surface_internal_unref
is called in callback of tbm_surface
because libtbm doesn't allow that tbm_surface api is called
in callback of tbm_surface.

so e_hwc_windows doesn't use user_data of tbm_surface for
rendered_buffer and rendered_windows list.
they are added to member of E_Hwc_Window_Comp_Info.
E_Hwc_Window_Comp_Info isn't freed in user_data deleted
callback.

Change-Id: I40deba667bbfb7bbfba2807830e823faa90c07b4

3 years agoe_hwc_windows: Rename Buffer_Comp_Info to Comp_Info 74/259874/1
Changyeon Lee [Wed, 16 Jun 2021 04:30:04 +0000 (13:30 +0900)]
e_hwc_windows: Rename Buffer_Comp_Info to Comp_Info

Change-Id: Iaf4f2ec2e00e8a8450e4368db017ffbba2b3e012

3 years agoe_test_helper: Added iconify by client info for testcase 50/259550/4
Junseok, Kim [Tue, 8 Jun 2021 07:47:38 +0000 (16:47 +0900)]
e_test_helper: Added iconify by client info for testcase

Added iconify by client information to wininfo and iconic state changed
signal.

Change-Id: I2afb8f5f83d53aec12a73c5728710e9ca186398b
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_window: add Trace log in e_hwc_window_present_sync 43/259543/5 accepted/tizen/unified/20210611.144947 submit/tizen/20210611.034301
Changyeon Lee [Wed, 9 Jun 2021 10:04:11 +0000 (19:04 +0900)]
e_hwc_window: add Trace log in e_hwc_window_present_sync

Change-Id: I9ed612c04e07ba8a56ab6963965ede88c46098b2

3 years agoe_video_hwc: Stop queuing video updates on hwc windows policy 29/258829/7
Changyeon Lee [Wed, 26 May 2021 07:16:53 +0000 (16:16 +0900)]
e_video_hwc: Stop queuing video updates on hwc windows policy

An update for a video surface(the surface associated with
tizen_video_object protocol) has been queued to apply later if it's
created early before previous update is not yet applied to a screen.
It's to ensure applying all video updates to a screen without any frame
drop.
But this operation makes synchronizing updates between video frame and
graphics frame so difficult.
Additionally, the wayland client is able to throttle frames on its own
by using frame callback.

So, this patch is to attempt to disable the queuing video updates
experimentally only on hwc windows policy.

Change-Id: I02bbda8bb51688a227f15bfa93a9991183cba064

3 years agoe_hwc_window: Synchronize frame in case of surface and subsurface are transformed 14/257714/9
Changyeon Lee [Thu, 6 May 2021 11:29:12 +0000 (20:29 +0900)]
e_hwc_window: Synchronize frame in case of surface and subsurface are transformed

e_hwc_window_present_sync api for synchronizing hwc with gl compositing
if e_hwc_client_present_sync api is called,
tbm_surface and tdm_hwc_window_info of hwc_window will be updated
after gl compositing is done.

update data is dequeued when buffer for gl compositing is dequeued
andthen it is enqueued when buffer for gl compositing is acquired.

Change-Id: I076a92d63379b084eeeceffd6666a4f7bfa44157

3 years agoe_hwc_windows: Add pending update data to debug info 13/257713/7
Changyeon Lee [Thu, 29 Apr 2021 10:54:16 +0000 (19:54 +0900)]
e_hwc_windows: Add pending update data to debug info

Change-Id: Id540eef6786a29867472d56c3bd4c3c72d547331

3 years agoe_hwc_window: Add e_hwc_window_pending_update_data_de/enqueue 12/257712/7
Changyeon Lee [Thu, 29 Apr 2021 05:43:27 +0000 (14:43 +0900)]
e_hwc_window: Add e_hwc_window_pending_update_data_de/enqueue

this api for sync with gl compositing and hwc

Change-Id: I2625e3553d50299d52a9576d43437739658a4c8c

3 years agoe_hwc_window: Reference tbm_surface when it set to e_hwc_window_buffer 11/257711/6
Changyeon Lee [Thu, 29 Apr 2021 03:11:33 +0000 (12:11 +0900)]
e_hwc_window: Reference tbm_surface when it set to e_hwc_window_buffer

Change-Id: Ie0fa60e0c85d8bc05793a09662d9c53d5b949039

3 years agoe_hwc_window: Add E_Hwc_Window_Update_Data for managing update infomation 10/257710/6
Changyeon Lee [Wed, 28 Apr 2021 12:51:41 +0000 (21:51 +0900)]
e_hwc_window: Add E_Hwc_Window_Update_Data for managing update infomation

current : tdm_hwc_window
commit  : latest tdm_hwc_commit
display : display done

Change-Id: Iac86c8fe5cc84bc45fa98bb66c2057127e8eaa01

3 years agoe_info_client: remove duplicated range check while read uint from string. 74/259674/1
Junseok, Kim [Fri, 11 Jun 2021 01:55:57 +0000 (10:55 +0900)]
e_info_client: remove duplicated range check while read uint from string.

Because of above line already checked out of bound of the ulong from string,
The check that greater than max of uint has no affect to result.
So, remove that check code.

Change-Id: I0ef61639664c592f02dbf6d4dd095bea46c4b596
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agopolicy: apply stack policy for transient below 86/259586/2 accepted/tizen/unified/20210611.013551 submit/tizen/20210610.032516 submit/tizen/20210610.063829
Doyoun Kang [Thu, 10 Jun 2021 02:47:29 +0000 (11:47 +0900)]
policy: apply stack policy for transient below

When a child window which sets E_TRANSIENT_BELOW policy is created,
then e places it to BOTTOM of children.

(example)
1. create transient_below child1
   => [Top] parent -> child1           [Bottom]
2. create transient_below child2
   => [Top] parent -> child1 -> child2 [Bottom]

Change-Id: I08044023e6be748bccaa58a2dc4941404ebe08aa

3 years agoe_client_video: Use E_Client_Video instance for a parameter of function 02/259102/6 submit/tizen/20210609.101049
Seunghun Lee [Mon, 31 May 2021 06:50:35 +0000 (15:50 +0900)]
e_client_video: Use E_Client_Video instance for a parameter of function

Passes E_Client_Video instance instead of E_Client for internal
functions. In this way, the name and argument of functions in the module
would make more sense.

Change-Id: If0793486c47e97351ddefe764e0df91de392d6df

3 years agovideo: Destruct the E_Client_Video instance in E_CLIENT_HOOK_DEL 01/259101/5
Seunghun Lee [Mon, 31 May 2021 04:40:36 +0000 (13:40 +0900)]
video: Destruct the E_Client_Video instance in E_CLIENT_HOOK_DEL

It listens to E_CLIENT_HOOK_DEL instead of E_EVENT_CLIENT_REMOVE to
ensure that ec is not deleted object during the instance lifecycle.

Now that inside e_client_video implementation it can be sure that ec
is not deleted object, no need to check if ec is deleted object.

Change-Id: I6060dd6e6accee5175dffa661c3b67372c9695f0

3 years agoe_map: free used e_map pointers for fix memory leak 39/259439/3
Junseok, Kim [Tue, 8 Jun 2021 04:28:04 +0000 (13:28 +0900)]
e_map: free used e_map pointers for fix memory leak

before evas_object_map_get didn't need to free their returned evas_map object.
but from previous patch that e_map added, e_comp_object/client_map_get functions are allocate memory.
so, all of e_map must be freed after use them.

Change-Id: I0d680de8026cec062871933b967ae78e1795c637
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_map: use E_Map APIs instead of Evas_Map 02/258802/14
Junseok, Kim [Wed, 26 May 2021 03:42:05 +0000 (12:42 +0900)]
e_map: use E_Map APIs instead of Evas_Map

E_Map is wrapper API of Evas_Map.
this patch replaces all of Evas_Map function and variable to E_Map.

Change-Id: Ic0cb89fdbc24ef83d46bd2a7ea21eef6c5657dbf
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_map: Added wrapper APIs for evas_map 30/258730/14
Junseok, Kim [Mon, 17 May 2021 09:05:31 +0000 (18:05 +0900)]
e_map: Added wrapper APIs for evas_map

Evas_Map used in many functions for effect, zoom and etc.
But, we couldn't manage all of Evas_Map used by modules.
and there're so many duplicated codes to doing same operation.

For easy maintenance and increase reusability of Evas_Map, added E_Map wrapper APIs for it's first step.

Change-Id: I6c0dc2a88a43a545bc0f62dba591e4c9129730d3
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_wl_tizen_hwc: implement the create_commit_feedback request. 74/259374/6 accepted/tizen/unified/20210608.130948 submit/tizen/20210607.071331 submit/tizen/20210607.071352
SooChan Lim [Mon, 7 Jun 2021 03:08:38 +0000 (12:08 +0900)]
e_comp_wl_tizen_hwc: implement the create_commit_feedback request.

This request has the same implementation as commit_feedback request.
The implementationfor commit_feedback request will be removed later
because the commit_feedback request will be deprecated.

Change-Id: I8abc3c6b2001bc0b91955db2d8d1634eb1a8383c

3 years agoe_hwc_windows: Erase unnecessary condition 45/259345/3 accepted/tizen/unified/20210607.124246 submit/tizen/20210607.053420
Junkyeong, Kim [Fri, 4 Jun 2021 11:23:31 +0000 (20:23 +0900)]
e_hwc_windows: Erase unnecessary condition

Change-Id: Ie6df3ceaf697dd73163ce5a333fde1716fd03f68
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_hwc_windows: Set and unset external window 44/259344/3
Junkyeong, Kim [Fri, 4 Jun 2021 11:21:43 +0000 (20:21 +0900)]
e_hwc_windows: Set and unset external window

The external window will not be evaluated in _e_hwc_windows_changes_update.

Change-Id: I0a84c51be2a065712c60a50c630422830496326f
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_hwc_window: Add is_external flag and APIs 43/259343/3
Junkyeong, Kim [Fri, 4 Jun 2021 11:18:51 +0000 (20:18 +0900)]
e_hwc_window: Add is_external flag and APIs

To check external window, use is_external flag.

Change-Id: I94f85c275fab29823ff16bdf268c474b51a0aa88
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_client: remove focus_defer_unset call when revert focus in focus calculate 30/258930/2
Junseok, Kim [Fri, 28 May 2021 01:20:57 +0000 (10:20 +0900)]
e_client: remove focus_defer_unset call when revert focus in focus calculate

When the focused window is freed, if there're focusable window below the focused window,
there is a bug that focus calculation may occur two times due to defer focus unset after revert focus.

For fix this bug, remove focus_defer_unset when focus be decided by revert_focus of focus_calculate.

Change-Id: I41064c4c36254eb7b0dc144523934f9b27dfe970
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_foreign_shell: No longer send destination/transform_changed events 46/258946/1 accepted/tizen/unified/20210602.122605 submit/tizen/20210531.020751
Seunghun Lee [Mon, 24 May 2021 09:26:59 +0000 (18:26 +0900)]
e_foreign_shell: No longer send destination/transform_changed events

These events are no longer supported by the wtz-foreign protocol.
Because there is no use case.

Change-Id: I7ba2792cb7097a014893048fb3e07c08ea0b05e5

3 years agowinfo: support basic_op_gen option 01/258801/1
Doyoun Kang [Wed, 26 May 2021 02:37:50 +0000 (11:37 +0900)]
winfo: support basic_op_gen option

We've added basic_op_gen option to winfo (enlightenment_info).
This option generates some operations (such as lower, activate).

usage:
      winfo -basic_op_gen {window_id} {operation}
example:
      winfo -basic_op_gen 0xb84b3aa0 lower
      winfo -basic_op_gen 0xb84b3aa0 activate

Change-Id: Iaf3848a7a7f1d920a09295ef2ce7caa00900b963

3 years agoe_foreign_shell: Update destination and transform of foreign shell 41/258741/1
Seunghun Lee [Tue, 25 May 2021 04:13:56 +0000 (13:13 +0900)]
e_foreign_shell: Update destination and transform of foreign shell

If foreign shell is newly created client and surface is committed,
then the state of foreign shell for not only visibility but also
destination size and transform has to be updated to the same of
exported shell's one.

Otherwise, the state of foreign shell can't be updated in forever until
the state of exported shell gets updated.

Change-Id: I953bafaf114bf86354fbfac25268e9364d8bd5c2

3 years agoe_foreign_shell: Add functions for handler of destruction of exported_shell 98/258698/4
Seunghun Lee [Mon, 24 May 2021 09:08:09 +0000 (18:08 +0900)]
e_foreign_shell: Add functions for handler of destruction of exported_shell

Just to improve readability. No functional changes.

Change-Id: I415d3e07eedbfdc739c0a59bece0fdae103c8ca5

3 years agoe_foreign_shell: Remove repeated assignment 97/258697/4
Seunghun Lee [Mon, 24 May 2021 02:36:15 +0000 (11:36 +0900)]
e_foreign_shell: Remove repeated assignment

This assignment will be made by _e_foreign_shell_exported_link().

Change-Id: I29e49f50636f4de7d91f962ee41c5af0c42f7158

3 years agoe_foreign_shell: No longer use embedded client concept 96/258696/4
Seunghun Lee [Thu, 20 May 2021 04:00:53 +0000 (13:00 +0900)]
e_foreign_shell: No longer use embedded client concept

There were some tricky side effects because of the concept of embedded
client which used smart object mechanism for re-stack operation. So,
this patch removes using the concept, instead it gives the
e_foreign_shell responsibility for re-stacking on its own.

This also reverts following patchs which are no longer used:

  commit 8b545ca9e79ef2c06fc383cf9cbc788d4561e1e7.
  Revert "e_comp_object: Set an embedded E_Client as comp_object ..."

  commit fd9f1eb3cc89980295d923894ea5e016a1a360c1.
  Revert "e_client: Introduce a way of embdding a client to ..."

Change-Id: I912e038da129665b5ba6a62fe7c94aa8dce89176