platform/core/uifw/dali-core.git
2 years agoMake SceneGraph::Camera as Node + FieldOfView animatable 59/282859/12
Eunki, Hong [Wed, 12 Oct 2022 10:53:39 +0000 (19:53 +0900)]
Make SceneGraph::Camera as Node + FieldOfView animatable

Previously, SceneGraph::Camera was not a SceneGraph::Node.
If we try to animate property of Camera, then
we use some PropertyBase s.t. PropertyOwner(==Node) doesn't owned.

To fix this logical unmatched issue, we make SceneGraph::Camera
as sub-class of SceneGraph::Node.

Moreover, We make Camera's FieldOfView Animatable.

After this patch merged, we try to refactor Camera's properties
and make them animatable.

Change-Id: I184f75b51a2152aea52879adc1e783cea7d190a0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago(Partial Update) Continue to calculate damaged rects even though there is a 3D transf... 45/283045/3
Heeyong Song [Fri, 14 Oct 2022 01:53:57 +0000 (10:53 +0900)]
(Partial Update) Continue to calculate damaged rects even though there is a 3D transformed item

Change-Id: I58136911893f488664ecff2f2ef616593efb8658

2 years agoMerge "DALi Version 2.1.44" into devel/master
David Steele [Fri, 14 Oct 2022 12:03:01 +0000 (12:03 +0000)]
Merge "DALi Version 2.1.44" into devel/master

2 years agoDALi Version 2.1.44 96/282996/1 dali_2.1.44
Adam Bialogonski [Fri, 14 Oct 2022 09:25:17 +0000 (10:25 +0100)]
DALi Version 2.1.44

Change-Id: I83a0c308589df00e76ecaf79420eaf18356168d5

2 years agoMake template class Dali::IntPair 75/282675/13
Eunki, Hong [Sat, 8 Oct 2022 07:32:02 +0000 (16:32 +0900)]
Make template class Dali::IntPair

Make integer pair case so we can use
integer based pair struct.

Dali::Uint16Pair already used for a long time.
But now, we need Dali::Int32Pair to use signed case.

uint-16-pair.h is used on third party app, we cannot
remove this file yet.
So, Let we define Uint16Pair in that class.

Change-Id: I24055b8f70c3948a51a0147786725f192ade8990
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Make Dali::Any move operator + Resolve memory leak." into devel/master
David Steele [Wed, 12 Oct 2022 15:17:41 +0000 (15:17 +0000)]
Merge "Make Dali::Any move operator + Resolve memory leak." into devel/master

2 years agoMerge "Matrix operator*" into devel/master
David Steele [Wed, 12 Oct 2022 14:56:30 +0000 (14:56 +0000)]
Merge "Matrix operator*" into devel/master

2 years agoMerge "Create ProjectionDirection property at CameraActor" into devel/master
David Steele [Wed, 12 Oct 2022 14:53:15 +0000 (14:53 +0000)]
Merge "Create ProjectionDirection property at CameraActor" into devel/master

2 years agoCreate ProjectionDirection property at CameraActor 70/282370/12
Eunki, Hong [Fri, 30 Sep 2022 07:19:58 +0000 (16:19 +0900)]
Create ProjectionDirection property at CameraActor

Add new property "ProjectionDirection" on CameraActor.
It determine whether current FieldOfView value base on
Vertical or Horizontal.
Default is Vertical.

Change-Id: I237f557af4bc03315ce5d6d6eeb25913e4fe7de4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMatrix operator* 43/282643/3
Eunki, Hong [Fri, 7 Oct 2022 07:31:09 +0000 (16:31 +0900)]
Matrix operator*

Matrix::Multiply(result, lhs, rhs) do as result = rhs * lhs;
It might makes some strange scense to future of Dali developer.

Let we make operator* so nobody feel confuse about the order of
multiply operation

Change-Id: I5adf0c8a8f29fa1c0774aa1e23ff0c3050e66af4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMake Dali::Any move operator + Resolve memory leak. 83/282583/5
Eunki, Hong [Thu, 6 Oct 2022 07:41:21 +0000 (16:41 +0900)]
Make Dali::Any move operator + Resolve memory leak.

Coverity minor issue fixed.
+
Resolve some memory leak.

Due to Dali::Any copy assign operator doesn't call
previous object's destructor, there can be memory leak.
(For example : Property::Map delete some values in destructor.)

Change-Id: Ifa29dd78b4f3689ed0ff00d9b8bcfe8ad9e167d6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agonoexcept move for BaseHandle/InstrusivePtr/Math 34/282634/4
Eunki, Hong [Fri, 7 Oct 2022 04:48:47 +0000 (13:48 +0900)]
noexcept move for BaseHandle/InstrusivePtr/Math

It can be optimize when we use std::vector<> or
std::is_nothrow_move_constructible<>::value is true or
std::is_nothrow_move_assignable<>::value is true.

Change-Id: I5a8866b928d40d7e26a68486c5aef764bc68a9af
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.43 55/282655/1 dali_2.1.43
Adeel Kazmi [Fri, 7 Oct 2022 11:23:05 +0000 (12:23 +0100)]
DALi Version 2.1.43

Change-Id: I22ae8cbcf6dac4108aae288986964370d1d3fed3

2 years agoUse map instead of hashmap in signal cache 64/282564/3
Eunki, Hong [Thu, 6 Oct 2022 04:15:06 +0000 (13:15 +0900)]
Use map instead of hashmap in signal cache

std::unordered_map is heavy than std::map for small case.
Let make the signal more lightweight.

Change-Id: I7868b44831fa095b8cdd0f963c6ac66ac741e6a7
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix Window Rotation issue 90/282390/10
seungho [Fri, 30 Sep 2022 10:30:47 +0000 (19:30 +0900)]
Fix Window Rotation issue

 - Viewport was incorrectly computed when viewport is not fullscreen and window is rotated.
 - Scissor rect was incorrectly computed when viewport is not fullscreen and window is rotated.

Change-Id: I44c64a2216f6364d2d29e0bcdd38c5e0cbc7467c
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoMerge "Calculrate screen position with RenderTask" into devel/master
Adeel Kazmi [Mon, 3 Oct 2022 16:53:55 +0000 (16:53 +0000)]
Merge "Calculrate screen position with RenderTask" into devel/master

2 years agoDALi Version 2.1.42 78/282378/1 dali_2.1.42
Richard Huang [Fri, 30 Sep 2022 10:28:13 +0000 (11:28 +0100)]
DALi Version 2.1.42

Change-Id: I0f7ebbd5a33d3949c60995deb4af56c02ef20b25

2 years agoCalculrate screen position with RenderTask 13/280813/16
Eunki, Hong [Mon, 5 Sep 2022 10:14:39 +0000 (19:14 +0900)]
Calculrate screen position with RenderTask

Previous ScreenPosition / ScreenExtents consider
only the scene's default camera.
Now we make a new API that consider Custom camera's
View/Projection matrix.

Calculate screen position & extents is quite heavy
operation. So we need to seperate it for
simple 2D layer or 3D layer.

So, we add mLayer3DParentsCount value in actor.
It will be generated when actor is scene on,
or some layer's behaviour changed during on scene.

Change-Id: I7a6162bea84965f70800a6e7cbf2332e9933e20d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Optimize transform level propagate" into devel/master
David Steele [Tue, 27 Sep 2022 16:56:42 +0000 (16:56 +0000)]
Merge "Optimize transform level propagate" into devel/master

2 years agoMerge "Submit a empty command buffer when rendering is skipped to flush" into devel...
Heeyong Song [Tue, 27 Sep 2022 03:49:54 +0000 (03:49 +0000)]
Merge "Submit a empty command buffer when rendering is skipped to flush" into devel/master

2 years agoMerge "Moved event side actor world calculation" into devel/master
David Steele [Mon, 26 Sep 2022 10:45:00 +0000 (10:45 +0000)]
Merge "Moved event side actor world calculation" into devel/master

2 years agoSubmit a empty command buffer when rendering is skipped to flush 85/281985/1
Heeyong Song [Mon, 26 Sep 2022 02:24:37 +0000 (11:24 +0900)]
Submit a empty command buffer when rendering is skipped to flush

Change-Id: Id0be7a139f6b990a8c17212102a0619aaeb8ea80

2 years agoDALi Version 2.1.41 54/281954/1 dali_2.1.41
David Steele [Fri, 23 Sep 2022 10:56:24 +0000 (11:56 +0100)]
DALi Version 2.1.41

Change-Id: Ib771ee6b62ff43b1d08feefc0f66918e0512eb9f

2 years agoMoved event side actor world calculation 66/281866/1
David Steele [Thu, 22 Sep 2022 15:10:47 +0000 (16:10 +0100)]
Moved event side actor world calculation

Transition effects used event side calculation of world
transform and color. These are more useful in devel core
than internally in toolkit.

Change-Id: I1a86cee588e3c7beecf5ba1665b1464c5e54939f
Signed-off-by: David Steele <david.steele@samsung.com>
2 years agoOptimize transform level propagate 14/281814/1
Eunki, Hong [Thu, 22 Sep 2022 05:45:25 +0000 (14:45 +0900)]
Optimize transform level propagate

We can assume that if mIds[mParent[i]] < i,
then parent's mOrderedCompoents data validated.
So, if we can, we can use this valid parent value.

Change-Id: I464008a53d61258fcff846e07f92aee0a9d5cb8d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix transform sceneId order issue 74/281674/3
Eunki, Hong [Tue, 20 Sep 2022 11:13:27 +0000 (20:13 +0900)]
Fix transform sceneId order issue

When mIds[mPanret[i]] is bigger then i,
mOrderedCOmponents[~~].sceneId become garbage.

To fix this issue, let we store sceneId first,
and propargate sceneId later.

Note : sceneId become the lastest parent's sceneId.
So, it always valid.

Change-Id: I27c6e51cda0ae696bf1ff5179ddb735f3e24aa65
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoSubmit command buffer when rendering is skipped 30/281430/1
Heeyong Song [Mon, 19 Sep 2022 02:56:45 +0000 (11:56 +0900)]
Submit command buffer when rendering is skipped

Change-Id: I4b9be39763b82d96982454e9bad356a38aceb600

2 years agoDALi Version 2.1.40 02/281402/1 dali_2.1.40
Adeel Kazmi [Fri, 16 Sep 2022 11:04:40 +0000 (12:04 +0100)]
DALi Version 2.1.40

Change-Id: I651c897ab226bc14064c9f4659550f9162e72c26

2 years agoMerge "(Partial Update) Fix window rotation issue" into devel/master
Heeyong Song [Thu, 15 Sep 2022 14:29:12 +0000 (14:29 +0000)]
Merge "(Partial Update) Fix window rotation issue" into devel/master

2 years agoMerge "Ensure the processor unregistered during the callback is not executed" into...
Heeyong Song [Thu, 15 Sep 2022 14:28:41 +0000 (14:28 +0000)]
Merge "Ensure the processor unregistered during the callback is not executed" into devel/master

2 years ago(Partial Update) Fix window rotation issue 64/281264/1
Heeyong Song [Thu, 15 Sep 2022 05:25:34 +0000 (14:25 +0900)]
(Partial Update) Fix window rotation issue

Set the dirty flag of the root layer when the surface size is changed

Change-Id: I5347d11859dc3deb0830f3086012241eb0708882

2 years agoDo not reset properties when properties are explicitly set 30/281130/5
seungho [Tue, 13 Sep 2022 05:36:11 +0000 (14:36 +0900)]
Do not reset properties when properties are explicitly set

 + Change property type of Camera::Type, Camera::ProjectionMode from string to integer

Change-Id: I312d5b2a29b7dcbe3c683189a8b5aa519b928933
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoEnsure the processor unregistered during the callback is not executed 82/281182/2
Heeyong Song [Wed, 14 Sep 2022 05:50:53 +0000 (14:50 +0900)]
Ensure the processor unregistered during the callback is not executed

Change-Id: I11215bc7bb6fdec892723f176ad6497bbf61f2a7

2 years agoDALi Version 2.1.39 83/281083/1 dali_2.1.39
Adam Bialogonski [Fri, 9 Sep 2022 09:05:19 +0000 (10:05 +0100)]
DALi Version 2.1.39

Change-Id: I100376a31675d71920664e083f5bc09ebbacd0fe

2 years agoTest harness sync (Framebuffer) 48/280748/1
Eunki, Hong [Fri, 2 Sep 2022 13:41:30 +0000 (22:41 +0900)]
Test harness sync (Framebuffer)

Change-Id: I8b6dcab39cd527230015d6721ebbe48d16c2571b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.38 29/280729/1 dali_2.1.38
Richard Huang [Fri, 2 Sep 2022 12:00:06 +0000 (13:00 +0100)]
DALi Version 2.1.38

Change-Id: I15c88f188621c7e8344c77549ae7913b3e3c6e53

2 years agoDALi Version 2.1.37 07/280307/1 dali_2.1.37
David Steele [Fri, 26 Aug 2022 11:15:16 +0000 (12:15 +0100)]
DALi Version 2.1.37

Change-Id: Ieb1fa8b7eafaacd96718ede447468f33043783d7

2 years agoMerge "(Partial Update) Change damaged rect calcutation" into devel/master
Heeyong Song [Mon, 22 Aug 2022 05:55:48 +0000 (05:55 +0000)]
Merge "(Partial Update) Change damaged rect calcutation" into devel/master

2 years agoDALi Version 2.1.36 50/279950/1 dali_2.1.36
Adam Bialogonski [Fri, 19 Aug 2022 10:07:44 +0000 (11:07 +0100)]
DALi Version 2.1.36

Change-Id: I82376a7d0b8bd5ddc897535d94cc64212a375307

2 years ago(Partial Update) Change damaged rect calcutation 96/279796/1
Heeyong Song [Thu, 18 Aug 2022 04:49:13 +0000 (13:49 +0900)]
(Partial Update) Change damaged rect calcutation

Use only the previous frame's rect
The buffer age is considered by adaptor

Change-Id: Idba3977ba6987aba984d11141a3f45612f7e5cbe

2 years agoAdd ViewportGuideActor to RenderTask 97/279397/10
seungho [Mon, 8 Aug 2022 14:13:14 +0000 (23:13 +0900)]
Add ViewportGuideActor to RenderTask

Change-Id: Ie33b8b1c9587649e6f173c664cc781d76d281b1a
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoMerge "DALi Version 2.1.35" into devel/master
Adeel Kazmi [Fri, 12 Aug 2022 11:36:13 +0000 (11:36 +0000)]
Merge "DALi Version 2.1.35" into devel/master

2 years agoDALi Version 2.1.35 38/279638/1 dali_2.1.35
Adeel Kazmi [Fri, 12 Aug 2022 11:22:46 +0000 (12:22 +0100)]
DALi Version 2.1.35

Change-Id: I47794cf71c5826ed8a3da25b1c29555ae75df5d5

2 years agoUnify the way to handle on/off screen render task hit test 94/279294/5
seungho [Fri, 5 Aug 2022 07:24:29 +0000 (16:24 +0900)]
Unify the way to handle on/off screen render task hit test

Change-Id: I72e3eedb85f4697b64e617a39e7371027517c1c2
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoDALi Version 2.1.34 24/279324/1 dali_2.1.34
David Steele [Fri, 5 Aug 2022 11:50:59 +0000 (12:50 +0100)]
DALi Version 2.1.34

Change-Id: I2417f70f60cfcaa1e36c37b48ffd1991db18bf1f

2 years agoAdd operator for Matirx3 * Vector3 19/278819/5
Eunki, Hong [Tue, 26 Jul 2022 10:21:40 +0000 (19:21 +0900)]
Add operator for Matirx3 * Vector3

We might need to multiply for some non-transition matrix.

Change-Id: I5a8aa02ce8c1e68b623aea07d9e7540f7074368f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.33 17/279017/1 dali_2.1.33
Richard Huang [Fri, 29 Jul 2022 11:11:57 +0000 (12:11 +0100)]
DALi Version 2.1.33

Change-Id: Id601d3c3c857d1c0fab7a14ca8c0cc79716b012d

2 years agoMerge "Remove std::vector dependency for dali-signal.h" into devel/master
Eunki Hong [Thu, 28 Jul 2022 03:15:33 +0000 (03:15 +0000)]
Merge "Remove std::vector dependency for dali-signal.h" into devel/master

2 years agoAdd new header files to dali-core.h 11/278811/1
Heeyong Song [Tue, 26 Jul 2022 09:01:06 +0000 (18:01 +0900)]
Add new header files to dali-core.h

Change-Id: Ib2e30ca1d715265b9b6f6727f18901a3717a266a

2 years ago(Partial Update) Change UPDATE_SIZE_HINT to UPDATE_AREA_HINT 73/278673/2
Heeyong Song [Mon, 25 Jul 2022 03:07:45 +0000 (12:07 +0900)]
(Partial Update) Change UPDATE_SIZE_HINT to UPDATE_AREA_HINT

Change the property name and the type to Vector4 to support offset also

Change-Id: I589855950cf158d833506a782d0983da9d0e97cc

2 years agoRemove std::vector dependency for dali-signal.h 68/278768/3
Eunki, Hong [Tue, 26 Jul 2022 03:12:34 +0000 (12:12 +0900)]
Remove std::vector dependency for dali-signal.h

Change-Id: Ie76bfbb60cfdc2039adc83c14877bb7dd99645ab
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Reduced the cyclomatic complexity of several functions" into devel/master
Adeel Kazmi [Fri, 22 Jul 2022 17:59:51 +0000 (17:59 +0000)]
Merge "Reduced the cyclomatic complexity of several functions" into devel/master

2 years agoReduced the cyclomatic complexity of several functions 56/278456/8
Adeel Kazmi [Thu, 21 Jul 2022 14:40:32 +0000 (15:40 +0100)]
Reduced the cyclomatic complexity of several functions

Change-Id: Iafbf6a58d9b152ad2c0a69db3f51fffefb6bcd93

2 years agoMerge "DALi Version 2.1.32" into devel/master
Adeel Kazmi [Fri, 22 Jul 2022 13:30:31 +0000 (13:30 +0000)]
Merge "DALi Version 2.1.32" into devel/master

2 years agoUpload PixelData's sub image to Texture 35/277735/12
Eunki, Hong [Tue, 12 Jul 2022 13:46:45 +0000 (22:46 +0900)]
Upload PixelData's sub image to Texture

Add API to upload subimage of inputed PixelData.
It will be useful when we want to make multiple tiling textures
with one single big PixelData.

Change-Id: Ia07ddc96cdaf7006239a21a307dbb0995c755bb4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.32 10/278610/1 dali_2.1.32
Adam Bialogonski [Fri, 22 Jul 2022 09:27:05 +0000 (10:27 +0100)]
DALi Version 2.1.32

Change-Id: I4389984828fbe097cfa7ffcb9c7f10b1ca189c76

2 years ago(Partial Update) Fix renderer opacity issue 47/278547/1
Heeyong Song [Fri, 22 Jul 2022 01:43:19 +0000 (10:43 +0900)]
(Partial Update) Fix renderer opacity issue

It was not detected when the renderer opacity is changed from the translucent value to another translucent value

Change-Id: If8448e03c0b106e5820c854e8878039ee93d9dc6

2 years agoReduced the cyclomatic complexity of DecoratedVisualRenderer::SetDefaultProperty 50/278450/1
Adeel Kazmi [Wed, 20 Jul 2022 13:41:57 +0000 (14:41 +0100)]
Reduced the cyclomatic complexity of DecoratedVisualRenderer::SetDefaultProperty

Change-Id: I620c95d62b1f42a1ae50b19753fc11a3e8d000d2

2 years agoMerge "Change dali-scene-loader to dali-scene3d" into devel/master
Seungho BAEK [Mon, 18 Jul 2022 11:09:07 +0000 (11:09 +0000)]
Merge "Change dali-scene-loader to dali-scene3d" into devel/master

2 years agoMerge "Fix an issue where TapGesture Events are not being received." into devel/master
joogab yun [Mon, 18 Jul 2022 06:06:25 +0000 (06:06 +0000)]
Merge "Fix an issue where TapGesture Events are not being received." into devel/master

2 years agoChange dali-scene-loader to dali-scene3d 51/277851/2
seungho [Thu, 14 Jul 2022 06:10:11 +0000 (15:10 +0900)]
Change dali-scene-loader to dali-scene3d

Change-Id: I9215482e82be1093c7cd838c5463b2b2e3ab9e09
Signed-off-by: seungho <sbsh.baek@samsung.com>
2 years agoDALi Version 2.1.31 68/277968/1 dali_2.1.31
Richard Huang [Fri, 15 Jul 2022 12:16:22 +0000 (13:16 +0100)]
DALi Version 2.1.31

Change-Id: Ic09a53977da5c19a49ebc0be6b87e4262573a337

2 years agoFix an issue where TapGesture Events are not being received. 23/277923/2
joogab.yun [Fri, 15 Jul 2022 05:01:19 +0000 (14:01 +0900)]
Fix an issue where TapGesture Events are not being received.

If MaximumTapsRequired is greater than 1, TapEvent may not be received when mMaximumAllowedTime is checked in touch-up.

So, move the mMaximumAllowedTime check code to Touchdown.

And in touch-up, the time between previous touch-down and touch-up is checked.

Change-Id: Iec05c9c902fda5c04a8ddde54bec1d887224d5fe

2 years agoProperty::Value operator== for the same type. 75/277575/7
Eunki, Hong [Fri, 8 Jul 2022 09:05:35 +0000 (18:05 +0900)]
Property::Value operator== for the same type.

Implement equal operator for the Property::Value.
It can be compare only for the same type.

NOTE : Property::Array and Property::Map don't support equal operator.
We always return false in that case.

Change-Id: Id474dbf403355b2f5d2375004694cfc18d3c8614
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Fix an issue where TapGesture Events are not being received." into devel/master
joogab yun [Mon, 11 Jul 2022 05:23:28 +0000 (05:23 +0000)]
Merge "Fix an issue where TapGesture Events are not being received." into devel/master

2 years agoAdd ALLOW_ONLY_OWN_TOUCH property. 32/276632/12
joogab.yun [Wed, 22 Jun 2022 07:52:58 +0000 (16:52 +0900)]
Add ALLOW_ONLY_OWN_TOUCH property.

It only receive for touch events that started from itself.
So if it's not a touch started  by myself, actor doesn't receive a touch event.

Change-Id: I58151d7072a4f1dbae1a015e6b3fc0b298745773

2 years agoDALi Version 2.1.30 47/277547/1 dali_2.1.30
Adeel Kazmi [Fri, 8 Jul 2022 05:47:39 +0000 (06:47 +0100)]
DALi Version 2.1.30

Change-Id: I61ee6970d3b31b7c511b82a4497d4183e2fc86e2

2 years agoFix an issue where TapGesture Events are not being received. 85/277385/4
joogab.yun [Tue, 5 Jul 2022 05:29:22 +0000 (14:29 +0900)]
Fix an issue where TapGesture Events are not being received.

If multiple Tap GestureDetectors are registered, you may not receive gesture events depending on the setting of MaximumTapsRequired.

example)
TapGestureDetector detector1 = TapGestureDetector::New();
detector1.SetMaximumTapsRequired(1u);
detector1.Attach(actor1);

TapGestureDetector detector2 = TapGestureDetector::New();
detector2.SetMaximumTapsRequired(2u);
detector2.Attach(actor2);

When actor1 is tapped multiple times, I expect to receive a gesture event on every tap because MaximumTapsRequired is 1u, but I don't get the event every tap.

It is because the MaximumTapsRequred of detector2 is set to 2u, the MaximumTaps of the tap-gesture-recognizer is set to 2u.

So, if there is a double tap, the tap event is not delivered to detector1 because it exceeds the MaximumTaps of detector1.

For this reason, the check of MaximumTapsRequired is modified to be checked by each detector.

Change-Id: I297debdf7ff680affafc763d4af3db323f80a095

2 years agoDirectRendering with DrawableView support and list of used resources 11/276111/8
Adam Bialogonski [Wed, 6 Jul 2022 10:40:40 +0000 (11:40 +0100)]
DirectRendering with DrawableView support and list of used resources

- Added GLESNativeInfo inner struct (in NativeDrawInfo) to extract shared context
- The native draw can use list of textures and buffers that the callback will use
- The used resources are being passed into the callback so it can access DALi objects

Change-Id: I6b162c0741d95ab3698185d05e2a78f4b0ab02f7

2 years agoMerge "DALi Version 2.1.29" into devel/master
David Steele [Fri, 1 Jul 2022 11:12:12 +0000 (11:12 +0000)]
Merge "DALi Version 2.1.29" into devel/master

2 years agoDALi Version 2.1.29 89/277189/1 dali_2.1.29
David Steele [Fri, 1 Jul 2022 11:06:54 +0000 (12:06 +0100)]
DALi Version 2.1.29

Change-Id: Icb5bea910e30730302e73906f873469afb3146f4

2 years agoAdd InterceptKeyEvent 83/276883/4
joogab.yun [Mon, 27 Jun 2022 09:18:20 +0000 (18:18 +0900)]
Add InterceptKeyEvent

Intercepts KeyEvents in the window before dispatching KeyEvents to the control.
If a KeyEvent is consumed, no KeyEvent is delivered to the control.

Change-Id: If6ee2b2fb03d936a7840b4c984129a31bb8b948d

2 years agoAdd GetPixelFormat to Texture 89/276889/1
Heeyong Song [Mon, 27 Jun 2022 09:32:09 +0000 (18:32 +0900)]
Add GetPixelFormat to Texture

Change-Id: Ib9cf0b03f409c909e7c7187d8ea19661296d36d5

2 years agoMerge "DALi Version 2.1.28" into devel/master
David Steele [Fri, 24 Jun 2022 13:26:05 +0000 (13:26 +0000)]
Merge "DALi Version 2.1.28" into devel/master

2 years agoDALi Version 2.1.28 88/276788/1 dali_2.1.28
Adeel Kazmi [Fri, 24 Jun 2022 13:08:24 +0000 (14:08 +0100)]
DALi Version 2.1.28

Change-Id: I7cea4233901b6d16f8edba3eb3be48317ae49e23

2 years agoAdd default logs in key event processor 84/276484/2
Heeyong Song [Fri, 17 Jun 2022 07:11:11 +0000 (16:11 +0900)]
Add default logs in key event processor

Change-Id: I3b8352cb57afe5b6de381f6285d7020786df0578

2 years agoEnable ENABLE_BACKTRACE 79/276479/4
Heeyong Song [Fri, 17 Jun 2022 06:22:36 +0000 (15:22 +0900)]
Enable ENABLE_BACKTRACE

Change-Id: Ib992346a029132000b2558b41a934c2b6115b647

2 years agoFixed SVACE error in pan-gesture-processor.cpp 53/276553/1
Adeel Kazmi [Mon, 20 Jun 2022 09:58:06 +0000 (10:58 +0100)]
Fixed SVACE error in pan-gesture-processor.cpp

Change-Id: Ia4b8d58e4dcffd1f4da85a0a5a4c8fd077693532

2 years agoFix logical bug on Pan MotionEventAge 14/276514/1
Eunki, Hong [Mon, 20 Jun 2022 01:23:51 +0000 (10:23 +0900)]
Fix logical bug on Pan MotionEventAge

Fix incorrect operation direction of age check-up.

Change-Id: Ia76f9cdda639c0417da1002906e63a02f97d1b67
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "DALi Version 2.1.27" into devel/master
David Steele [Fri, 17 Jun 2022 10:40:03 +0000 (10:40 +0000)]
Merge "DALi Version 2.1.27" into devel/master

2 years agoDALi Version 2.1.27 95/276495/1 dali_2.1.27
David Steele [Fri, 17 Jun 2022 10:27:55 +0000 (11:27 +0100)]
DALi Version 2.1.27

Change-Id: I079653c71810ddbf0469601c0e2f594c23fb630a

2 years agoDiscard some motion during pan gesture 78/276378/7
Eunki, Hong [Wed, 15 Jun 2022 12:57:34 +0000 (21:57 +0900)]
Discard some motion during pan gesture

When event spend so long time, a lot of events are queued.

Ecore cannot skip these event, so we make some heuristic
threshold of discard motion events on pan gesture.

We can setup this value by PanGestuerDetector's member vaule.
The name is "MaximumMotionEventAge".
the time scale is millisecond.

Default age is UINT_MAX ms (~= 49 days)
That mean, we will not discard every motion events.
(Ecore event callback also use uint32_t type in ms.)

Change-Id: Ib721e81d690327dcbc6c6c58383b33c7d5560922
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMake mScene nullptr when the Actor is disconnected from Scene recursively 46/276246/2
Heeyong Song [Mon, 13 Jun 2022 09:27:58 +0000 (18:27 +0900)]
Make mScene nullptr when the Actor is disconnected from Scene recursively

Change-Id: I2ef30d3ba471d87baae32d082e91426990d46463

2 years agoDALi Version 2.1.26 72/276172/1 dali_2.1.26
Adam Bialogonski [Fri, 10 Jun 2022 08:53:22 +0000 (09:53 +0100)]
DALi Version 2.1.26

Change-Id: Ie428ca744a9fbb266251cb3cdc36eafa3022214b

2 years agoMinor optimize during iterate of uniform map 79/275879/1
Eunki, Hong [Fri, 3 Jun 2022 12:30:57 +0000 (21:30 +0900)]
Minor optimize during iterate of uniform map

Dali::Vector.End() operation is heavy.
We don't need to calculate this value every iteration. So just precalculate
the end-of-iterate. It will increase performance.

Change-Id: I475d01367348943f0f4b12a6aeb870c413db0dfc
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.25 69/275769/1 dali_2.1.25
Richard Huang [Wed, 1 Jun 2022 10:14:51 +0000 (11:14 +0100)]
DALi Version 2.1.25

Change-Id: Ia40d6c528558b1c2b7223acf67240ef63e43a91a

2 years agoMerge "DALi Version 2.1.24" into devel/master
Adeel Kazmi [Fri, 27 May 2022 12:19:14 +0000 (12:19 +0000)]
Merge "DALi Version 2.1.24" into devel/master

2 years agoDALi Version 2.1.24 36/275636/1 dali_2.1.24
Adeel Kazmi [Fri, 27 May 2022 12:00:48 +0000 (13:00 +0100)]
DALi Version 2.1.24

Change-Id: I8fe305f73b9987fd87366d06cb3c9225d3375231

2 years agoRevrert "Enable assert alwayd in Dali::Vector" 87/275587/3
Eunki, Hong [Thu, 26 May 2022 16:46:38 +0000 (01:46 +0900)]
Revrert "Enable assert alwayd in Dali::Vector"

Due to the DALI_ASSERT_ALWAYS, Dali::Vector try to check
the range of index every times.
It might make some performance reducing.

Change-Id: I2fdcf435bda147f9ea102c3106cb44f0772a4899
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "DALi Version 2.1.23" into devel/master
Adeel Kazmi [Fri, 20 May 2022 12:26:26 +0000 (12:26 +0000)]
Merge "DALi Version 2.1.23" into devel/master

2 years agoDALi Version 2.1.23 10/275310/1 dali_2.1.23
Adam Bialogonski [Fri, 20 May 2022 10:16:21 +0000 (11:16 +0100)]
DALi Version 2.1.23

Change-Id: Ie34538906bedaf4a85e012130fe9c11a0ca78fb0

2 years agoFix when shader changeness not applied issue 63/275163/9
Eunki, Hong [Tue, 17 May 2022 11:52:00 +0000 (20:52 +0900)]
Fix when shader changeness not applied issue

If RenderList was reused, SG::Renderer::UpdateUniformMap didn't called.

So Render::Renderer will render with not-updated uniform-map
(But uniform map change counter is updated.)

This patch make sure that renderer's uniformMap changeness in Prepare time.
So it will be applied well before render call.

Change-Id: I06618e99f38fecd19d263afd7eaff2c30f241cc3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "base-signal connect and disconnect in O(1)" into devel/master
Eunki Hong [Wed, 18 May 2022 09:09:12 +0000 (09:09 +0000)]
Merge "base-signal connect and disconnect in O(1)" into devel/master

2 years agoMinor optimize during build uniform index maps 77/275077/6
Eunki, Hong [Mon, 16 May 2022 09:43:39 +0000 (18:43 +0900)]
Minor optimize during build uniform index maps

If node don't have any uniform properies,
we don't need to create about that node's index map.
Because that mean, this node will use only for renderItem's uniform.

Change-Id: Ife3bd0fc35293945786e52755ddaed49d31ae177
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoKeyframe->GetValue works on O(log n) 01/275101/3
Eunki, Hong [Mon, 16 May 2022 17:00:41 +0000 (02:00 +0900)]
Keyframe->GetValue works on O(log n)

Previous code iterate whole key-frame to get interpolated progress value.
This patch make this job in O(log n).

So we can run animation faster even it have near 500 key-frames.

Change-Id: I14ee07db7aa75142aaaf323af7cfde9522d3851d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agobase-signal connect and disconnect in O(1) 17/274617/13
Eunki, Hong [Tue, 3 May 2022 14:24:22 +0000 (23:24 +0900)]
base-signal connect and disconnect in O(1)

Make base-signal control the connection in O(1)
by std::unordered_map and std::list<>::iterator.
and make connection-tracker control the connection in O(1)
by std::unordered_map

std::unordered_map can found duplicated value fast
and std::list<>::iterator can access & remove value fast.
And also, std::list can keep ordered by inputed time.

TODO : Remove the dependency of std::vector header in dali-signal.h
is quite big process. Will be done in other patch

Change-Id: I940d33c46b1470973219c7a9fb10ac89dd70f1ff
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Apply Visual's transform + borderline properties for partial update" into...
David Steele [Fri, 13 May 2022 15:10:41 +0000 (15:10 +0000)]
Merge "Apply Visual's transform + borderline properties for partial update" into devel/master

2 years agoDALi Version 2.1.22 18/275018/1 dali_2.1.22
Richard Huang [Fri, 13 May 2022 11:01:03 +0000 (12:01 +0100)]
DALi Version 2.1.22

Change-Id: I4f1ac3a9a654f2b1469d6d8a1f189e646df30ebc

2 years agoApply Visual's transform + borderline properties for partial update 82/274182/21
Eunki, Hong [Fri, 22 Apr 2022 10:02:47 +0000 (19:02 +0900)]
Apply Visual's transform + borderline properties for partial update

Previously, PartialUpdate cannot know the vertex positions
after transform the visual.
But now, we can use VisualRender's animatable properties.

This patch re-calculate the partial update size
so we can consider Visual Transform.

And more, We make DecoratedVisualRenderer so we can use
CornerRadius + etc as default property
and also can re-calculate update size consider with BorderlineWidth or BlurRadius

Change-Id: I99962f7cda3fb51defc439cf5f1517278aa0daa4
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDelete Renderers before Shaders 30/274930/1
Heeyong Song [Thu, 12 May 2022 07:16:07 +0000 (16:16 +0900)]
Delete Renderers before Shaders

Change-Id: Ib7744acb7f4bed8032c50f7a388f74027afb55b2