Adeel Kazmi [Fri, 24 Jun 2022 13:09:12 +0000 (14:09 +0100)]
[dali_2.1.28] Merge branch 'devel/master'
Change-Id: I1df2aaf7dfdda47454b70ba67a597da6a563e738
Adeel Kazmi [Fri, 24 Jun 2022 13:08:24 +0000 (14:08 +0100)]
DALi Version 2.1.28
Change-Id: I7cea4233901b6d16f8edba3eb3be48317ae49e23
Adeel Kazmi [Mon, 20 Jun 2022 09:58:06 +0000 (10:58 +0100)]
Fixed SVACE error in pan-gesture-processor.cpp
Change-Id: Ia4b8d58e4dcffd1f4da85a0a5a4c8fd077693532
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>
David Steele [Fri, 17 Jun 2022 10:40:03 +0000 (10:40 +0000)]
Merge "DALi Version 2.1.27" into devel/master
David Steele [Fri, 17 Jun 2022 10:28:23 +0000 (11:28 +0100)]
[dali_2.1.27] Merge branch 'devel/master'
Change-Id: I21afaebc7226647f20a046f8200f84e77ac75fcd
David Steele [Fri, 17 Jun 2022 10:27:55 +0000 (11:27 +0100)]
DALi Version 2.1.27
Change-Id: I079653c71810ddbf0469601c0e2f594c23fb630a
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>
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
Adam Bialogonski [Fri, 10 Jun 2022 08:54:10 +0000 (09:54 +0100)]
[dali_2.1.26] Merge branch 'devel/master'
Change-Id: I414fd1b52f9a83cb3af62c7069241c96aed19690
Adam Bialogonski [Fri, 10 Jun 2022 08:53:22 +0000 (09:53 +0100)]
DALi Version 2.1.26
Change-Id: Ie428ca744a9fbb266251cb3cdc36eafa3022214b
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>
Richard Huang [Wed, 1 Jun 2022 10:15:39 +0000 (11:15 +0100)]
[dali_2.1.25] Merge branch 'devel/master'
Change-Id: I1a070ba685e5f2a6780aece7c2fd9be4074cc954
Richard Huang [Wed, 1 Jun 2022 10:14:51 +0000 (11:14 +0100)]
DALi Version 2.1.25
Change-Id: Ia40d6c528558b1c2b7223acf67240ef63e43a91a
Adeel Kazmi [Fri, 27 May 2022 12:19:14 +0000 (12:19 +0000)]
Merge "DALi Version 2.1.24" into devel/master
Adeel Kazmi [Fri, 27 May 2022 12:01:33 +0000 (13:01 +0100)]
[dali_2.1.24] Merge branch 'devel/master'
Change-Id: I83ca8cc8d35df2b70d2dc7de1e8cb067674ab21e
Adeel Kazmi [Fri, 27 May 2022 12:00:48 +0000 (13:00 +0100)]
DALi Version 2.1.24
Change-Id: I8fe305f73b9987fd87366d06cb3c9225d3375231
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>
Adeel Kazmi [Fri, 20 May 2022 12:26:26 +0000 (12:26 +0000)]
Merge "DALi Version 2.1.23" into devel/master
Adam Bialogonski [Fri, 20 May 2022 10:16:49 +0000 (11:16 +0100)]
[dali_2.1.23] Merge branch 'devel/master'
Change-Id: Ic2cf09b939ddbb2ae751a27c96d1c7aafd64c0c3
Adam Bialogonski [Fri, 20 May 2022 10:16:21 +0000 (11:16 +0100)]
DALi Version 2.1.23
Change-Id: Ie34538906bedaf4a85e012130fe9c11a0ca78fb0
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>
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
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>
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>
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>
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
Richard Huang [Fri, 13 May 2022 11:02:00 +0000 (12:02 +0100)]
[dali_2.1.22] Merge branch 'devel/master'
Change-Id: I2b99ed6538d5ecaec15d0203fc7652c280603b4b
Richard Huang [Fri, 13 May 2022 11:01:03 +0000 (12:01 +0100)]
DALi Version 2.1.22
Change-Id: I4f1ac3a9a654f2b1469d6d8a1f189e646df30ebc
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>
Heeyong Song [Thu, 12 May 2022 07:16:07 +0000 (16:16 +0900)]
Delete Renderers before Shaders
Change-Id: Ib7744acb7f4bed8032c50f7a388f74027afb55b2
Heeyong Song [Thu, 12 May 2022 07:13:59 +0000 (16:13 +0900)]
Remove duplicated scene object deletion from VisualRenderer
Change-Id: I50ef48dd8d5253360f2bc0b564ad6e84395f329a
Heeyong Song [Mon, 9 May 2022 00:59:19 +0000 (00:59 +0000)]
Merge "Add API to UpdateProxy" into devel/master
David Steele [Fri, 6 May 2022 11:37:38 +0000 (12:37 +0100)]
[dali_2.1.21] Merge branch 'devel/master'
Change-Id: I205f4ad7b5d4bf69881072958fe01cd4a2d37a32
David Steele [Fri, 6 May 2022 11:37:06 +0000 (12:37 +0100)]
DALi Version 2.1.21
Change-Id: I87bb688c0b7635d23bc6f0d85237ba14549dfb34
Heeyong Song [Mon, 25 Apr 2022 09:39:06 +0000 (18:39 +0900)]
Add API to UpdateProxy
Change-Id: Icd9ef2011a6381ccad62a9f3edea750e392500ae
Adeel Kazmi [Fri, 29 Apr 2022 12:23:01 +0000 (12:23 +0000)]
Merge "DALi Version 2.1.20" into devel/master
David Steele [Fri, 29 Apr 2022 11:13:33 +0000 (11:13 +0000)]
Merge "Simplifying UniformMap updating" into devel/master
Adam Bialogonski [Fri, 29 Apr 2022 09:53:34 +0000 (10:53 +0100)]
[dali_2.1.20] Merge branch 'devel/master'
Change-Id: I32fb47d342797e702bdc6b015959b1b9555ac926
Adam Bialogonski [Fri, 29 Apr 2022 09:52:34 +0000 (10:52 +0100)]
DALi Version 2.1.20
Change-Id: I1c92a82a41be6d385c7ab307b24edc04b25b730e
Eunki, Hong [Thu, 28 Apr 2022 01:54:47 +0000 (10:54 +0900)]
Fix memory leak of visual renderer
SceneGraph::Renderer didn't remove the memory of
ANimatableVisualProperties.
This patch make AnimatableVIsualProperties as OwnerPointer
so SceneGraph::Renderer will delete it's memory well.
Change-Id: I85f0c40af0fc594b86bd0b9f93f13c24e93b9f8e
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
David Steele [Mon, 12 Jul 2021 18:18:25 +0000 (19:18 +0100)]
Simplifying UniformMap updating
Removed scene-graph ConnectionChangePropagator - now only need to know
if shader is attached to renderer, and that is already done through a
different mechanism.
Changed CollectedUniformMap into it's own struct. Now has a change
counter that increments any time the map is altered.
Instead of having lots of flags indicating if uniform maps have
changed, UniformMap now updates it's change counter whenever a
property is registered with the PropertyOwner (e.g. Node, Renderer or
Shader).
During Update, SceneGraph::Renderer collects the uniform maps into one
only if the renderer is added to a RenderList, i.e. if it's going to
be rendered. At this point, the change counter is updated.
Nothing is done if the renderer is not visible.
During Render, the Render::Renderer checks if the node uniform map
change counter or the renderer data provider's uniform map change
counter are different, if so, then it knows it needs to update the
uniform locations for newly registered properties.
Change-Id: I0ff861a7e97736dae059d94f54618195d0471343
Eunki, Hong [Mon, 25 Apr 2022 03:36:10 +0000 (12:36 +0900)]
Calculate hash by Dali::Vector<std::uint8_t>
Change-Id: Ic5b640856c8e1f5710d3c0eb961612428e893990
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
David Steele [Fri, 22 Apr 2022 13:10:21 +0000 (13:10 +0000)]
Merge "DALi Version 2.1.19" into devel/master
Adeel Kazmi [Fri, 22 Apr 2022 12:54:57 +0000 (13:54 +0100)]
[dali_2.1.19] Merge branch 'devel/master'
Change-Id: I9d66f32e2dd58d95e9717d211640b6932e8c5195
Adeel Kazmi [Fri, 22 Apr 2022 12:54:08 +0000 (13:54 +0100)]
DALi Version 2.1.19
Change-Id: I9be4ce8eef03b28d4e208cd648e1210446967801
Heeyong Song [Fri, 22 Apr 2022 00:30:20 +0000 (00:30 +0000)]
Merge "Relayout only if the actor is on Scene" into devel/master
Eunki, Hong [Tue, 29 Mar 2022 06:09:08 +0000 (15:09 +0900)]
Lock uniform buffer only 1 times per each render + minor fixup of uniforms
1. Don't lock-unlock Graphics::Memory for each properties.
This patch lock stand-alone uniform buffer map and unlock only few times during rendering.
(We called this API as ReadyToLockUniformBuffer and UnlockUniformBuffer)
It will reduce Renderer::Render time near 6%
2. Don't convert from std::string_vew to std::string
when we get uniform map info from shader
3. Make BufferPropertiesFlags as input of UniformBuffer Constructor
Change-Id: I50055a24c1aad59e2a29b8c50485254b71ea5b73
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Seungho BAEK [Thu, 21 Apr 2022 05:13:54 +0000 (05:13 +0000)]
Merge "Fix to do not update state of render task in case of uploadOnly" into devel/master
seungho [Mon, 18 Apr 2022 07:06:21 +0000 (16:06 +0900)]
Fix to do not update state of render task in case of uploadOnly
- And removed unused uploadOnly parameter in the render-manager
Change-Id: I18e1e403cedf58d6e7c5c510bda123ef8b4fe149
Signed-off-by: seungho <sbsh.baek@samsung.com>
Heeyong Song [Tue, 19 Apr 2022 05:17:54 +0000 (14:17 +0900)]
Relayout only if the actor is on Scene
We're already checking whether the actor is on scene in RelayoutController::Relayout() before it is added to the mRelayoutStack.
But there is a case that the actor is removed from the scene in the previous OnRelayout.
So check whether the actor is on scene again.
Change-Id: Ia2b64e7f39f24d67b65b9689c720a7ef359d54fd
Heeyong Song [Tue, 19 Apr 2022 03:15:59 +0000 (03:15 +0000)]
Merge "Add CHROMINANCE pixel format" into devel/master
Richard Huang [Thu, 14 Apr 2022 10:35:54 +0000 (11:35 +0100)]
[dali_2.1.18] Merge branch 'devel/master'
Change-Id: Ie005fd885813f30ad7459fd0aa6046791090b318
Richard Huang [Thu, 14 Apr 2022 10:34:49 +0000 (11:34 +0100)]
DALi Version 2.1.18
Change-Id: I044099ba626788b31036834921d153a2fa0fa6eb
Heeyong Song [Thu, 14 Apr 2022 09:24:14 +0000 (18:24 +0900)]
Add CHROMINANCE pixel format
Change-Id: I6c66da9db49874c7273e2580964423dc23c36e90
David Steele [Mon, 11 Apr 2022 14:20:06 +0000 (14:20 +0000)]
Merge "Changed handling of uniforms of arrays of structs" into devel/master
David Steele [Fri, 8 Apr 2022 16:02:56 +0000 (17:02 +0100)]
Changed handling of uniforms of arrays of structs
A) For uniforms of the form "basename[index].element", the array index handling
didn't work.
In GL (on Ubuntu) the shader reflection for such uniforms provides
individual locations for each element of the array/struct;
B) For uniforms of the form "basename[index]", where basename is a basic
type (float/vecN, etc), the GL shader reflection produces only 1 location
for the basename, and provides the element count.
Mapping properties to such uniforms is done by having a Property per
element. For the first case, no index/array handling is needed.
For the second case, each property needs to match to the basename without
the array subscript, and also store it's array index.
Modified property setup to remove array index for properties of the first type.
Modified uniform lookup to handle the different hashes appropriately.
Modified test graphics to ensure the uniform reflection can be set up in the
same way as GL provides.
Change-Id: I4be92f3e6933ff1b9b4a7d48e97f5629930c0b4c
Signed-off-by: David Steele <david.steele@samsung.com>
Adeel Kazmi [Fri, 8 Apr 2022 14:00:42 +0000 (14:00 +0000)]
Merge "Added New() function creating Renderer with RenderCallback" into devel/master
David Steele [Fri, 8 Apr 2022 11:55:04 +0000 (12:55 +0100)]
[dali_2.1.17] Merge branch 'devel/master'
Change-Id: I6952b543edbc9478340911228158d4b3e02ad814
David Steele [Fri, 8 Apr 2022 11:54:36 +0000 (12:54 +0100)]
DALi Version 2.1.17
Change-Id: I30ecdbddcd58603a6b1a4c2adf13b7311cbd3b0f
Adam Bialogonski [Tue, 22 Mar 2022 15:05:49 +0000 (15:05 +0000)]
Added New() function creating Renderer with RenderCallback
Change-Id: I6f82838ed654342723cf043e43e8d7caba4125f7
Eunki Hong [Tue, 5 Apr 2022 16:34:13 +0000 (16:34 +0000)]
Merge "Level up Dali::Internal::FreeList as Dali::FreeList" into devel/master
Heeyong Song [Tue, 5 Apr 2022 11:19:43 +0000 (11:19 +0000)]
Merge "Use update object size in CalculateActorScreenPosition" into devel/master
Adeel Kazmi [Tue, 5 Apr 2022 06:58:07 +0000 (06:58 +0000)]
Merge "Hit-test can hit more than 32 depth clipping actor." into devel/master
Eunki, Hong [Tue, 15 Feb 2022 06:48:17 +0000 (15:48 +0900)]
Level up Dali::Internal::FreeList as Dali::FreeList
Open devel Dali::Internal::FreeList as Dali::FreeList
so we can use this container in another packages i.e. dali-toolkit's texture-manager
Change-Id: I719e960ce1ecf8b61a980e49cba976fe1ab57200
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Mon, 4 Apr 2022 17:31:36 +0000 (17:31 +0000)]
Merge "Fixing culling for magnifier use case" into devel/master
David Steele [Mon, 14 Mar 2022 17:17:52 +0000 (17:17 +0000)]
Fixing culling for magnifier use case
Should use the camera's canvas size, not the viewport.
Added canvas size to left/right/top/bottom clipping distance
in camera for perspective projection
Fixed bug that would always force using perspective projection
Fixed bug with modifying scene object directly in event thread.
Top and Bottom clipping plane values for perspective have been
made consistent with values for Ortho projection; however, this
currently forces top to be +ve and bottom to be -ve when set
using just size. Test cases are inconsistent in this regard; when
set via l/r/t/b/n/f API, top and bottom are -ve and +ve respectively.
Have used fabsf when re-calculating bounding box dimensions to
allow for this inconsistency.
Change-Id: I95e80e4c09f17a3240cccf16df23f09e8d9ad9cf
Heeyong Song [Thu, 24 Mar 2022 06:56:08 +0000 (15:56 +0900)]
Use update object size in CalculateActorScreenPosition
Change-Id: I475166706a0eb4defd1761ce56d185da7fe753a1
Eunki, Hong [Tue, 29 Mar 2022 02:54:24 +0000 (11:54 +0900)]
Hit-test can hit more than 32 depth clipping actor.
When clipping mode is CLIP_TO_BOUNDING_BOX, the limitation of
clipping depth doesn't exist. We can clipping near 2^15-depth.
But current clipping algorithm only allow 31-depth of clipping.
This patch make that we don't use depthmask in hit-test algorithm
When clipping mode is enabled, and current actor hit test failed,
just skip all children's hit test.
Note : CLIP_CHILDREN is kind of rendering method, So when clipping mode is
CLIP_CHILDREN, we can't detect how it "really" clipped.
This is physically limitation, so just ignore it.
Change-Id: I83524d6f96ccbb59d7b2802f1630c7e338b251a0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adam Bialogonski [Fri, 1 Apr 2022 11:52:18 +0000 (12:52 +0100)]
[dali_2.1.16] Merge branch 'devel/master'
Change-Id: I3e96813c0799f9e78ba37107da166250b1f0d7a4
Adam Bialogonski [Fri, 1 Apr 2022 11:51:18 +0000 (12:51 +0100)]
DALi Version 2.1.16
Change-Id: If043023658a6a6f59d220166a67cd5363d866faf
joogab.yun [Wed, 30 Mar 2022 09:28:12 +0000 (18:28 +0900)]
Revert "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown."
This reverts commit
3b0fba86dfcad3ae5841679e1c1790db563d7301.
Change-Id: I91350d5f72b826bc7b6fad4920b89079e4fc7d53
Eunki, Hong [Mon, 28 Mar 2022 10:44:34 +0000 (19:44 +0900)]
Fix hit-test bug when overlay2D child is not overlayed
Let's image some case like below scene tree.
root --- A (overlay2D) --- A1 (normal)
|- B (normal)
When A1 and B is overlaped, B will be drawn under the A1. (Because A is overlay)
But, in hit-test-algorithm, overlay2D information doesn't propagated.
This patch make hit-test can propagate overlay2D property,
so the hit test result return reasonable as what we can see.
Change-Id: I123d3bbc2c6ba27df3f10829ebaf16b80eb0f987
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Mon, 28 Mar 2022 10:35:16 +0000 (10:35 +0000)]
Merge "TTrace enable always in tizen" into devel/master
joogab yun [Mon, 28 Mar 2022 05:45:12 +0000 (05:45 +0000)]
Merge "If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown. So, If the touch moves after another actor has been touched so that the current actor is hit, it should behave as if it didn't hit." into devel/master
Eunki, Hong [Wed, 23 Mar 2022 13:32:49 +0000 (22:32 +0900)]
TTrace enable always in tizen
Make ttrace enable always in tizen. Other platform keep current policy
Change-Id: I500fe9b95f7d8bf079f89975bf2346f1f7472ae8
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 25 Mar 2022 10:57:33 +0000 (10:57 +0000)]
[dali_2.1.15] Merge branch 'devel/master'
Change-Id: I0b016bbbc9f142a04e15ac42789e0aecb6cb7429
Adeel Kazmi [Fri, 25 Mar 2022 10:56:48 +0000 (10:56 +0000)]
DALi Version 2.1.15
Change-Id: I98023d937a38affaa836fed830c12aeeddda9b59
joogab.yun [Wed, 16 Mar 2022 02:19:22 +0000 (11:19 +0900)]
If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown.
So, If the touch moves after another actor has been touched so that the current actor is hit, it should behave as if it didn't hit.
Change-Id: I609607ea19a5cf5f6b07b5065132f491122f7a6b
Adeel Kazmi [Tue, 22 Mar 2022 15:17:47 +0000 (15:17 +0000)]
Merge "Remove element of Property::Map by the specified key." into devel/master
huayong.xu [Thu, 17 Mar 2022 06:05:21 +0000 (14:05 +0800)]
Remove element of Property::Map by the specified key.
Change-Id: Ife048e33a54edb6b6cebfe79b464707c0a361a45
Adam Bialogonski [Mon, 14 Mar 2022 16:46:44 +0000 (16:46 +0000)]
DirectRendering:
- Added RenderCallback for native rendering
- Added new Graphics API command - DrawNative()
- Added DrawableActor
Change-Id: If286d6eddf0836c63227c870eb13e8bab252fda7
Richard Huang [Fri, 18 Mar 2022 11:23:57 +0000 (11:23 +0000)]
[dali_2.1.14] Merge branch 'devel/master'
Change-Id: Id3182b611437a93279973807190515f2b0ff73d9
Richard Huang [Fri, 18 Mar 2022 11:23:08 +0000 (11:23 +0000)]
DALi Version 2.1.14
Change-Id: Ifc21ce4863a0b29e278f50410facba6158caa4a4
SangHyeon Lee [Thu, 17 Mar 2022 10:46:02 +0000 (10:46 +0000)]
Merge "Add UserInteractionEnabled property on actor for controlling user interaction." into devel/master
joogab.yun [Sat, 12 Feb 2022 06:25:35 +0000 (15:25 +0900)]
Add a Hit-Test result events.
In the case of TouchEvent or Gesture, there is no way to propagate the event to the view below that is not related.
So, before sending an touch event, send an hitTestResult event to the view in the hit-test process to ask whether it will be hit or not.
If it returns false, it means that it will not be hit, and the hit-test continues to the next view.
Change-Id: I5b8681f569f5c3b89acc3fb23c1eada3d49b1c7b
David Steele [Fri, 11 Mar 2022 15:22:14 +0000 (15:22 +0000)]
[dali_2.1.13] Merge branch 'devel/master'
Change-Id: Ibdae027b514fe9ae1d31bc60d7dbc6c08fcdb396
David Steele [Fri, 11 Mar 2022 15:21:46 +0000 (15:21 +0000)]
DALi Version 2.1.13
Change-Id: I69b796cffa8be10d5e5fa21226d19e1f7535f436
David Steele [Mon, 7 Mar 2022 11:32:39 +0000 (11:32 +0000)]
Removed old context test cases
Synced with toolkit tests
Change-Id: I67f21c445cb9b17972e8994bee558d0bd0836e58
David Steele [Tue, 15 Feb 2022 10:01:35 +0000 (10:01 +0000)]
Added VisualRenderer (for visual default properties)
Rather than have registered properties for each visual,
embedded them in a specific type of VisualRenderer.
Added UniformMappings to ensure that they can be used as
uniforms. (Properties don't have to have the same name
as the uniform, but it's probably advisable. However, we
have some very specific hardcoded mapping for actor "size"
-> uniform "uSize" in render-renderer...), so it's less
confusing having property "transformSize"->uniform "size".
Changed types to ensure they match the actual uniform types
in the shaders.
Reduces creation time for each visual, as much more is done
at compilation time.
Change-Id: I386504fabf82f8e57f1138e3814897604b094061
Signed-off-by: David Steele <david.steele@samsung.com>
EverLEEst(SangHyeon Lee) [Tue, 15 Feb 2022 11:33:43 +0000 (20:33 +0900)]
Add UserInteractionEnabled property on actor for controlling user interaction.
actor can be disabled touch event by setting SetSensitive(false),
and also can be disabled keyboard event by setting
SetKeyboardFocusable(false),
and touch focus on SetTouchFocusable(false).
but we do not provide universal user interaction controls to disable
actor events and behavior, so this property is neceesary.
regardless of value on Sensitive or Focusable,
UserInteractionEnable has high priority over the negative action.
Change-Id: Ia339cc4c94e2fa36f80cb8672aa16d7a664c858c
Eunki, Hong [Thu, 3 Mar 2022 05:39:28 +0000 (14:39 +0900)]
Make Dali::InstrusivePtr able to compare with nullptr
After explicit operation bool() patch, Dali::InstrusivePtr == nullptr make compile error.
This patch fix that situation, so keep codes legacy
Change-Id: I6fbdee55203a1a0e9b5d3a90125497957dddeced
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 4 Mar 2022 10:01:24 +0000 (10:01 +0000)]
[dali_2.1.12] Merge branch 'devel/master'
Change-Id: I18b6f127c134c265a97b1d2199efcc2fea90a559
Adeel Kazmi [Fri, 4 Mar 2022 10:00:36 +0000 (10:00 +0000)]
DALi Version 2.1.12
Change-Id: I37214142c68799c7c0f2ecea4a7ef26694c6273a
Adam Bialogonski [Fri, 25 Feb 2022 11:47:54 +0000 (11:47 +0000)]
[dali_2.1.11] Merge branch 'devel/master'
Change-Id: I558155b7d491667fb6db5df145350b4b347602e7
Adam Bialogonski [Fri, 25 Feb 2022 11:46:54 +0000 (11:46 +0000)]
DALi Version 2.1.11
Change-Id: I949fdf526b1c5bd2c16d18751e2014389ca664a1
David Steele [Wed, 23 Feb 2022 17:13:12 +0000 (17:13 +0000)]
Merge "Implement some more speed-up : Reserve TextureBindings + don't copy geometry" into devel/master
David Steele [Wed, 23 Feb 2022 17:00:35 +0000 (17:00 +0000)]
Merge "Dali::CalculateHash support to hashing raw-buffer" into devel/master
Eunki, Hong [Thu, 3 Feb 2022 07:20:06 +0000 (16:20 +0900)]
Add Internal::IndexedMap
Make IndexedMap that key can be std::uint32_t and Internal::ConstString
IndexedMap can only do Register + Get.
We can check unique registration by this API.
IndexedMap use iterator as std::vector<std::pair<KeyType, ElementType>>::iterator.
Get API return iterator that key contained.
If found failed, return End() iterator.
Internally, we make it sorted key-index-element container.
It can search key by binary search. and less element copy action.
(ConstString can be convert const char* == size_t which can comparable)
Time complexity is O(|Element count|) for Register and
O(log|Element count|) for Get
Change some std::vector container as IndexedConstStringMap and IndexedIntegerMap
at type-info and type-register.
type-info is very important area of DALi engine.
So I append some define blocks when we meet some strange problems in future.
It will be remove when this patch is safe enough.
Change-Id: I7ad2e1a4776a4acedb4632053419b4fdcfa043bb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Fri, 18 Feb 2022 05:57:35 +0000 (14:57 +0900)]
Dali::CalculateHash support to hashing raw-buffer
Current Dali::CalculateHash input std::string, but internally
convert as const char * string.
In this case, hashing calculation didn'w works well
when std::string contain \0 character middle of string.
This patch make one more API s.t. allow std::vector<std::uint8_t>
as input so we can specific the length of data what we want to hash.
It will be used in dali-toolkit texture-cache-manager in soon.
Change-Id: I5ceaeb0cbf1140729d1f0f68930c8cbcd8a18594
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>