seungho [Wed, 6 Apr 2022 10:36:52 +0000 (19:36 +0900)]
[Tizen] Fix to do not update state of render task in case of uploadOnly
Change-Id: I0fc24207ef7ea36ad5f04b0debfeb920d986f18e
Signed-off-by: seungho <sbsh.baek@samsung.com>
joogab.yun [Thu, 10 Feb 2022 05:00:00 +0000 (14:00 +0900)]
[Tizen] If MaximumTapsRequired is 1, it is not waiting for a multi-tap, so a Tap gesture send a single tap.
Even if set to tapGestureDetector.SetMaximumTapsRequired(1);
When user tap multiple times quickly, the tap gesture event now fires only once every maximum Allowed Time (500ms).
If MaximumTapsRequired is 1, user want to receive tap gesture events immediately because we are not waiting for a multi-tap.
Change-Id: I9651facb9650982e2e0dc414974677c531481bf8
joogab.yun [Thu, 19 Aug 2021 08:18:21 +0000 (17:18 +0900)]
[Tizen] Add KEYBOARD_FOCUSABLE_CHILDREN property.
Whether the children of this actor can be focusable by keyboard navigation.
Change-Id: I9a2093aeb9bb0a4c3ace6dcb888cbe8b1b1cfd28
Eunki Hong [Thu, 28 Oct 2021 07:11:27 +0000 (00:11 -0700)]
[Tizen] Exact planeclipping for actor's hit algorithm
rayOriginLocal is difference vector betwwen the actor and the Camera(==rayOrigin).
ActorTest API's distance value is the real euclidean distance between rayOrigin and actor.
But we only need difference vector's z-axis value to clipping by View Space Plane.
So we get hitPointWorld and multiply ViewMatrix (get from renderTask's camera actor)
and get z-coordinate value at Camera Space.
Change-Id: I644fc5e9b306423d6fa58f92e492a2a7508047a6
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
joogab.yun [Tue, 26 Oct 2021 06:45:28 +0000 (15:45 +0900)]
[Tizen] If the parent is intercepted, the child is informed that it is INTERRUPTED.
Change-Id: I4ef25e7bad0883a9798f86add0b911de36078dea
joogab.yun [Thu, 29 Jul 2021 17:09:43 +0000 (02:09 +0900)]
[Tizen] 1. Add Timer at TapGestureDetector
Currently, when double tap operation is performed,
single tap and double tap are always transmitted together.
So, when single and double taps are required, then after one tap, we wait for the timeout,
if the timeout happens, then we emit the single-tap,
if we tap again during this time, then we emit a double-tap instead.
2. Add ReceiveAllTapEvents(bool)
If MaximumTaps is greater than MinimumTaps, the event is sent by checking whether it is the correct single tap or multi tap.
However, there are cases when I want to receive all tap events without these checks.
3. Fix SVACE error in tap-gesture-detector-impl.cpp
Change-Id: I835252c863d459039a570bce958a4a72b7734e74
Joogab Yun [Tue, 25 May 2021 06:15:50 +0000 (15:15 +0900)]
[Tizen] Gesture is interrupted if even one of several views is consumed.
This is a problem for backward-compatibility.
So, I remove the code that interrupts Gesture when the touch event is consumed
Change-Id: I01379cffb8edbfa1b82cdb585c08517752f64335
Joogab Yun [Tue, 1 Jun 2021 02:00:53 +0000 (11:00 +0900)]
[Tizen] Add input source type to TapGesture.
This is similar to MouseButton in TouchEvent.
Now, you can see from which input the tap was made.
Change-Id: I80800ebd805e283581486d76d046b5e269cbb8ba
Joogab Yun [Tue, 11 May 2021 07:13:35 +0000 (16:13 +0900)]
[Tizen] Add Gesture Propagation
This is used when the parent actor wants to listen to gesture events.
example)
The child is overlapped on the parent.
So, if you tap a child, the parent cannot listen to the tap event.
Now, If set to SetNeedGesturePropagation(true), the parent can receive gesture events.
{
Actor parent = Actor::New();
Actor child = Actor::New();
parent.Add(child);
pTapDetector = TapGestureDetector::New();
cTapDetector = TapGestureDetector::New();
pTapDetector.Attach(parent);
cTapDetector.Attach(child);
pTapDetector.DetectedSignal().Connect(this, &OnParentTap);
cTapDetector.DetectedSignal().Connect(this, &OnChildTap);
}
void OnChildTap(Dali::Actor actor, const Dali::TapGesture& tap)
{
// If you set SetNeedGesturePropagation to true here, the parent actor can also listen to events
Dali::DevelActor::SetNeedGesturePropagation(Self(), true);
}
Change-Id: I0e6c16c2b2dec1dfa873caa453302cc746c3f258
Joogab Yun [Thu, 3 Jun 2021 06:43:05 +0000 (15:43 +0900)]
[Tizen] Add TOUCH_FOCUSABLE property
This is a property that allows you to have focus even when touched.
It works only when KEYBOARD_FOCUSABLE is set to true.
KEYBOARD_FOCUSABLE : whether the view can have focus or not
TOUCH_FOCUSABLE : Whether the user can focus by touch
Change-Id: Id991d7a0bd734718164b874f013e24235476e789
Joogab Yun [Tue, 18 May 2021 10:04:13 +0000 (19:04 +0900)]
[Tizen] Fixed an issue the triple tap did not work.
The mState value is wrong.
So, only single and double taps are possible,
and no more taps are called.
And it removes unreachable code.
uint32_t deltaBetweenTouchDownTouchUp = event.time - mTouchTime;
if(deltaBetweenTouchDownTouchUp < MAXIMUM_TIME_ALLOWED)
{
// mLastTapTime is equal to or greater than mTouchTime;
// so If deltaBetweenTouchDownTouchUp is less than MAXIMUM_TIME_ALLOWED
// then timeDelta is never it cannot be greater than MAXIMUM_TIME_ALLOWED.
uint32_t timeDelta = event.time - mLastTapTime;
if(timeDelta > MAXIMUM_TIME_ALLOWED)
{
// unreachable block
}
}
Change-Id: Icd719bda146a82f0b25cb123e36395c9b5aa8f5f
Joogab Yun [Fri, 12 Mar 2021 02:51:25 +0000 (11:51 +0900)]
1. It should be touched as much as the area set by the TOUCH_AREA property in the View.
There was no consideration for TouchArea in SphereTest().
For information 'TouchArea' sets the touch area of the View.
2. Change TOUCH_AREA to TOUCH_AREA_OFFSET
You can set offset the touch area.
for example)
Actor actor = Actor::New();
actor.SetProperty(Actor::Property::SIZE, Vector2(10.0f, 10.0f));
actor.SetProperty(DevelActor::Property::TOUCH_AREA_OFFSET, Rect<int>(-100, 100, 100, -100));
actor.TouchedSignal().Connect(OnTouchCallback);
then touch area is 210x210.
this is actor.width + touchAreaOffset.right - touchAreaOffset.left
and actor.height + touchAreaOffset.bottom -touchAreaOffset.top
Change-Id: I472bf191e68990e88f73abcf680066b140b73be9
Eunki Hong [Fri, 5 Nov 2021 18:27:42 +0000 (11:27 -0700)]
[Tizen] Fix Property::Value memory leak
Change-Id: I2e0a0516d1785799623ed58bd7cab2ecba772ae5
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Wed, 8 Sep 2021 04:34:28 +0000 (13:34 +0900)]
[Tizen] Fix SVACE issue (initialize in constructor)
Change-Id: Id841ab2ac367a843f96c228fc863f004a795be6b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
seungho [Thu, 22 Apr 2021 07:09:03 +0000 (16:09 +0900)]
[Tizen] Add IsUploaded devel api in Texture
Change-Id: I100a3ff6a7f8361ad5c857ee18c89ea5544a4fdf
Signed-off-by: seungho <sbsh.baek@samsung.com>
seungho [Tue, 23 Mar 2021 12:16:46 +0000 (21:16 +0900)]
[Tizen] Make possible to capture on the old driver devices.
Change-Id: I5d20b4c70b6da1e98b0c29d465a8a700c2a0410a
Signed-off-by: seungho <sbsh.baek@samsung.com>
Adeel Kazmi [Mon, 1 Feb 2021 19:55:58 +0000 (19:55 +0000)]
(HitTest) Check clipped actor if it is really touchable before using as hit-actor
Change-Id: I073f6ddab910acb7aaf850d1f1c93fd6d15e1ebe
Heeyong Song [Thu, 28 Jan 2021 04:35:15 +0000 (13:35 +0900)]
[Tizen] Do not call NotifyObjects in case of finished animations
Change-Id: Iaa0f7d0dca73fdfd672a869d83a899ff8755a992
Joogab Yun [Thu, 12 Nov 2020 06:07:03 +0000 (15:07 +0900)]
[Tizen] Partial rendering rotation does not work
Change-Id: If62c8667519ad3c375f29a7095482a6535fc9332
Wonsik Jung [Wed, 2 Dec 2020 07:44:43 +0000 (16:44 +0900)]
[Tizen] Fix the sync issue of window rotation.
To support window rotation, render-manger had a orientation value.
It has effect to the viewport and scissor function in context.
If multiple windows works, this value is reset by the second window.
To fix, the scene should have the orientation value and use each scene/surface/window.
Change-Id: I06c5b55efe94222d56f87ce70e8f4488c09e8c87
Wonsik Jung [Tue, 10 Nov 2020 06:30:22 +0000 (15:30 +0900)]
[Tizen] Revert "Skip rendering if no animation is currently active"
This reverts commit
0fb391f04a2faae7d874e146068372b7a0ca9ce4.
Wonsik Jung [Tue, 10 Nov 2020 06:29:45 +0000 (15:29 +0900)]
[Tizen] Partial Rendering
This reverts commit
003dfd2fa8eebf3f96d23100dcafc98514a67461.
Wonsik Jung [Tue, 10 Nov 2020 06:29:21 +0000 (15:29 +0900)]
[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not"
This reverts commit
bf695994d0f7b5a81bdc6cb9a1ea16634715f0c5.
Wonsik Jung [Tue, 10 Nov 2020 06:28:57 +0000 (15:28 +0900)]
[Tizen] Add Integration API to Create public event type
This reverts commit
137fd30000b354f32e7b30e15614202c19179255.
Wonsik Jung [Tue, 10 Nov 2020 06:28:30 +0000 (15:28 +0900)]
[Tizen] Partial rendering rotation does not work
This reverts commit
03a7f4bcfacc72ef4569d5f7dc5ed89b11e543f4.
Wonsik Jung [Tue, 10 Nov 2020 06:28:07 +0000 (15:28 +0900)]
[Tizen] Add screen and client rotation itself function
This reverts commit
4c9fb2902c2b74710ca56c2068b13644b8c2bcb6.
Wonsik Jung [Tue, 10 Nov 2020 06:27:43 +0000 (15:27 +0900)]
[Tizen] Not execute the remove callback
This reverts commit
20d68596742caa0c692eebd7fc613d0d29820fc1.
Wonsik Jung [Tue, 10 Nov 2020 06:27:25 +0000 (15:27 +0900)]
Merge branch 'devel/master' into tizen
Wonsik Jung [Tue, 10 Nov 2020 06:27:09 +0000 (15:27 +0900)]
Revert "[Tizen] Not execute the remove callback"
This reverts commit
0418ddeb67f3a2cea394bc7be5d17229a4c6cd9a.
Wonsik Jung [Tue, 10 Nov 2020 06:27:07 +0000 (15:27 +0900)]
Revert "[Tizen] Add screen and client rotation itself function"
This reverts commit
cd8de3f34c08f12e6443e016873e1c5e4826960a.
Wonsik Jung [Tue, 10 Nov 2020 06:27:04 +0000 (15:27 +0900)]
Revert "[Tizen] Partial rendering rotation does not work"
This reverts commit
780615404d3de39db1cf4e4840ac8d76220d1366.
Wonsik Jung [Tue, 10 Nov 2020 06:27:01 +0000 (15:27 +0900)]
Revert "[Tizen] Add Integration API to Create public event type"
This reverts commit
5d408becbc79a72be94ed78b1943b417bb166e9b.
Wonsik Jung [Tue, 10 Nov 2020 06:26:58 +0000 (15:26 +0900)]
Revert "[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not""
This reverts commit
dc12e043fdd3a3d4946e5afdd0c5d0f398f7733b.
Wonsik Jung [Tue, 10 Nov 2020 06:26:56 +0000 (15:26 +0900)]
Revert "[Tizen] Partial Rendering"
This reverts commit
7ea6acde7ee123768f4d8885c9503dfee4ec8f7d.
Wonsik Jung [Tue, 10 Nov 2020 06:26:53 +0000 (15:26 +0900)]
Revert "[Tizen] Revert "Skip rendering if no animation is currently active""
This reverts commit
5672d38bbd1699f9829551e07957f44df0a03b3f.
Heeyong Song [Mon, 9 Nov 2020 10:39:06 +0000 (19:39 +0900)]
[Tizen] Revert "Skip rendering if no animation is currently active"
This reverts commit
0246a6acf4875d1c4fa37b7c8f942548de583166.
Change-Id: I478de1771454cb0be7c6e56d7f82a4b0848a0c7d
Joogab Yun [Tue, 27 Oct 2020 07:14:19 +0000 (16:14 +0900)]
[Tizen] Partial Rendering
: If there is a change in Node property, do SetUpdated(true).
Change-Id: I5efbdc080fba666d8834b6b6e3383681f5f724cc
David Steele [Fri, 30 Oct 2020 14:33:16 +0000 (14:33 +0000)]
DALi Version 1.9.36
Change-Id: Ie87e252297e782248c1d5222a3cabc58e2c8f76a
Joogab Yun [Thu, 29 Oct 2020 03:33:55 +0000 (12:33 +0900)]
Change property name from TouchDelegateArea to TouchArea.
Change-Id: I6b2af477ffb8523d7e98ffbc250cbb2deb59c5cc
Joogab Yun [Thu, 29 Oct 2020 06:14:25 +0000 (15:14 +0900)]
[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not"
Change-Id: I3e8991a25f0be0430d68f0a9ae481e3637810eab
seungho [Thu, 29 Oct 2020 01:38:27 +0000 (10:38 +0900)]
[Tizen] Add Integration API to Create public event type
This reverts commit
37dacff6c2a6970f2bb0f86f1daf22823df91623.
Change-Id: I5d7fa0a6aecf73ad57dc6c139db878e6e791db28
seungho [Wed, 28 Oct 2020 12:23:09 +0000 (21:23 +0900)]
[Tizen] Partial rendering rotation does not work
This reverts commit
deee06c88b13be90cd4b861e595fdbfa2b6f3b24.
Change-Id: I982dc9878ffa5661101d5982942c939ad624571e
seungho [Wed, 28 Oct 2020 12:22:51 +0000 (21:22 +0900)]
[Tizen] Add screen and client rotation itself function
This reverts commit
df36176f354b67024161a57a1cbb234023772749.
Change-Id: I549948987666f1786de6eeeebfadea5ca3623254
seungho [Wed, 28 Oct 2020 12:22:29 +0000 (21:22 +0900)]
[Tizen] Not execute the remove callback
This reverts commit
7f981181e68a6884db3a26c5e3102b4238b4a912.
Change-Id: I6236921dfd7952a352e21c61ea764923091b0a04
seungho [Wed, 28 Oct 2020 12:22:13 +0000 (21:22 +0900)]
Merge branch 'devel/master' into tizen
Change-Id: I612dafb547931f225fb9bd4d7dc42dd008a62543
seungho [Wed, 28 Oct 2020 12:22:08 +0000 (21:22 +0900)]
Revert "Revert "Revert "[Tizen] Not execute the remove callback"""
This reverts commit
f79c48eeb60f6244a9b9518d8ae12096783c8676.
seungho [Wed, 28 Oct 2020 12:22:05 +0000 (21:22 +0900)]
Revert "Revert "Revert "[Tizen] Add screen and client rotation itself function"""
This reverts commit
c8d4a9700affd6dce08df45fbf40cd5946ffdd5f.
seungho [Wed, 28 Oct 2020 12:22:01 +0000 (21:22 +0900)]
Revert "Revert "Revert "[Tizen] Partial rendering rotation does not work"""
This reverts commit
006ca0a266664ad1e5d7619099e1c78ceaf66dfc.
seungho [Wed, 28 Oct 2020 12:21:58 +0000 (21:21 +0900)]
Revert "Revert "Revert "[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not""""
This reverts commit
ac791d290a2050dc0166f6ad5bfe4158f889c60d.
seungho [Wed, 28 Oct 2020 12:21:55 +0000 (21:21 +0900)]
Revert "Revert "Revert "[Tizen] Add Integration API to Create public event type"""
This reverts commit
c367f2f6810bc2a4a5c2ff4dd43bb448a28e442f.
David Steele [Fri, 23 Oct 2020 14:33:40 +0000 (15:33 +0100)]
Updated patch-coverage.pl script
Change-Id: I01c1e0e7a6959596bea5ff3318e964eda230b519
Subhransu Mohanty [Thu, 10 Sep 2020 01:59:09 +0000 (10:59 +0900)]
use algorithm and range for
Change-Id: I8f276553114fecf8c9f6b60696e2dcd274388958
Adeel Kazmi [Fri, 23 Oct 2020 10:48:15 +0000 (10:48 +0000)]
Merge "DALi Version 1.9.35" into devel/master
adam.b [Fri, 23 Oct 2020 10:44:56 +0000 (11:44 +0100)]
DALi Version 1.9.35
Change-Id: I39bd529cc7846aebdebe06c06145977b3dd6e269
David Steele [Fri, 23 Oct 2020 10:32:46 +0000 (10:32 +0000)]
Merge "use modern construct '= default' for special functions." into devel/master
joogab yun [Fri, 23 Oct 2020 02:02:45 +0000 (02:02 +0000)]
Merge "Add TouchDelegateArea property." into devel/master
David Steele [Tue, 13 Oct 2020 15:57:58 +0000 (16:57 +0100)]
Adding new patch-coverage script
Change-Id: Iaf227f70e10f2af1db928c0f0614619dbee53d5d
Joogab Yun [Tue, 20 Oct 2020 06:46:19 +0000 (15:46 +0900)]
Add TouchDelegateArea property.
TouchDelegateArea can reset the actor's touchable area.
This is usefull when the actor is small, but it should have a larger touch area.
for example
Actor actor = Actor::New();
actor.SetProperty(Actor::Property::SIZE, Vector2(10.0f, 10.0f));
actor.SetProperty(DevelActor::Property::TOUCH_DELEGATE_AREA, Vector2(200.0f, 200.0f));
actor.TouchedSignal().Connect(OnTouchCallback);
The actor is small, If you want to set the touch area to a larger area,
you can use the TOUCH_DELEGATE_AREA property.
Change-Id: Ic4e3683e09d1636bc61719ea1e83bcd05a1c4153
David Steele [Tue, 20 Oct 2020 15:05:45 +0000 (15:05 +0000)]
Merge "refactor Property::Map interface." into devel/master
David Steele [Mon, 19 Oct 2020 13:35:41 +0000 (13:35 +0000)]
Merge "add base type of enum to reduce class size." into devel/master
Adeel Kazmi [Fri, 16 Oct 2020 10:39:18 +0000 (10:39 +0000)]
Merge "DALi Version 1.9.34" into devel/master
Richard Huang [Fri, 16 Oct 2020 10:30:35 +0000 (11:30 +0100)]
DALi Version 1.9.34
Change-Id: I5f8723bdcce4d478589a8dc72cea88180882d69f
Adeel Kazmi [Fri, 16 Oct 2020 08:03:24 +0000 (08:03 +0000)]
Merge "Skip rendering if no animation is currently active" into devel/master
Joogab Yun [Tue, 6 Oct 2020 06:38:33 +0000 (15:38 +0900)]
Add intercept touch event
The Touch event calls the TouchEvent callback by going back from the last child actor to the parent via hitTest.
InterceptTouchEvent checks the touch event in the parent first.
Returning false from interceptTouchEvent allows child actors to receive TouchEvents.
If it returns true, the actor will receive a TouchEvent.
for example
Actor parent = Actor::New();
Actor actor = Actor::New();
parent.Add(actor);
actor.TouchedSignal().Connect(&application, functor);
parent.TouchedSignal().Connect(&application, parentFunctor);
The callbacks are called in the order functor -> parentFunctor.
If you connect interceptTouchSignal to parentActor.
Dali::DevelActor::InterceptTouchedSignal(parent).Connect(&application, interceptFunctor);
When interceptFunctor returns false, it is called in the same order functor -> parentFunctor.
If it returns true, it means that the TouchEvent was intercepted.
So the child actor will not be able to receive touch events.
Only the parentFunctor is called.
Change-Id: Ib6887adbcee59168a7caf7f36bcc400500c626e8
Adeel Kazmi [Mon, 12 Oct 2020 19:46:40 +0000 (20:46 +0100)]
Fix doxygen comments
Change-Id: If8c7b64bbf197370ccdcf71d959846a477cee8d1
David Steele [Fri, 9 Oct 2020 14:07:06 +0000 (14:07 +0000)]
Merge "Fix PropertySetSignalType signal interface signature" into devel/master
Subhransu Mohanty [Fri, 11 Sep 2020 01:17:42 +0000 (10:17 +0900)]
use modern construct '= default' for special functions.
This patch is auto generated by clang-tidy with modernize-use-equals-default.
excluded automated-tests
Change-Id: I50cf90eb5684144a95b263774f3d8b3be8f4518c
David Steele [Fri, 9 Oct 2020 13:37:15 +0000 (13:37 +0000)]
Merge changes I2769d6ae,I11060630,I5c96789c,I1d0e89be,I331a838c, ... into devel/master
* changes:
Add template keyword for android compiler
refactor SignalBase and CallbackBase using variadic template.
refactor Signal class.
refactor ConnectionTracker class.
refactor SlotConnection class.
refactor CallbackBase class.
refactor BaseSignal class.
refactor SignalConnection class.
György Straub [Fri, 9 Oct 2020 13:05:41 +0000 (14:05 +0100)]
DALi Version 1.9.33
Change-Id: I055725b0491f27960da25b48a94d6ee3d67dff89
Subhransu Mohanty [Fri, 28 Aug 2020 08:13:41 +0000 (17:13 +0900)]
Fix PropertySetSignalType signal interface signature
because Property::Value class is not a regular type each
time we pass by value it takes a deep copy(2 allocation)
this interface change will fix that issue.
Change-Id: I1c54c1fac00d0387f474c831df4eacf017dbd54b
Richard Huang [Wed, 23 Sep 2020 15:00:31 +0000 (16:00 +0100)]
Skip rendering if no animation is currently active
Change-Id: Ie14194eeee047d908f36ec4c509e3863cc227cb8
Adeel Kazmi [Thu, 8 Oct 2020 16:19:53 +0000 (16:19 +0000)]
Merge "skipping the render items outside of the partial rendering merged area." into devel/master
David Steele [Wed, 7 Oct 2020 14:37:59 +0000 (15:37 +0100)]
Add template keyword for android compiler
Android compiler needs template keyword added
to be able to find Emit / EmitReturns methods.
Not needed on latest GCC on Ubuntu or target.
Change-Id: I2769d6ae7e4aa6e56b26361885b8edc9a9277a35
Subhransu Mohanty [Wed, 7 Oct 2020 06:47:29 +0000 (15:47 +0900)]
add base type of enum to reduce class size.
with base type and structure packing the Animation class size reduced by 16byte.
Also added class member-initializer rather than updating default value in constructor.
Change-Id: I0153e8aefc6bb0128f185996389ba7d85f689049
Subhransu Mohanty [Thu, 24 Sep 2020 02:02:36 +0000 (11:02 +0900)]
refactor Property::Map interface.
- take std::string and Property::Value by value.
- use std::string_view in the find interface.
Change-Id: I8bcedb15f1b84663520a79b0e4a724e0cb28487b
Subhransu Mohanty [Mon, 5 Oct 2020 07:15:21 +0000 (16:15 +0900)]
refactor SignalBase and CallbackBase using variadic template.
Variadic template and parameter pack makes the Api list much shorter
and enables for future optimization.
Removed assertion from Callback::Execute if an empty callback has
been setup.
Fixed negative test case.
Change-Id: I11060630ef4b82fc9966610b5c63ef2fa27b3779
David Steele [Wed, 7 Oct 2020 11:10:03 +0000 (11:10 +0000)]
Merge "added Erase and EraseIf function to dali-vector" into devel/master
Subhransu Mohanty [Tue, 6 Oct 2020 02:17:07 +0000 (11:17 +0900)]
added Erase and EraseIf function to dali-vector
These functions uses erase-remove idiom for efficient
removal of more than one item from vector.
The signature is same as the standard erase() and erase_if()
function added to c++20.
Change-Id: I2d6769cde5b6acfbb03447b6576491021ab14fe1
adam.b [Thu, 1 Oct 2020 14:11:54 +0000 (15:11 +0100)]
skipping the render items outside of the partial rendering merged area.
Change-Id: I7a9019fc75600f71a5580c4a4956b6324399a2a3
Subhransu Mohanty [Wed, 16 Sep 2020 02:01:05 +0000 (11:01 +0900)]
refactor Signal class.
- current Signal<> class takes 3 Pointer size . 24byte in 64bit system and 12byte in 32bit system.
- The Actor class uses 11 siganls which takes 250bytes almost 50% of the Actor class size.
- With this patch the Signal<> object now occupies 1 pointer size. and allocates only when
user connects a signal.
Change-Id: I5c96789ca995e50bf54890d1d9048dc4e1b276bb
Subhransu Mohanty [Tue, 15 Sep 2020 09:32:14 +0000 (18:32 +0900)]
refactor ConnectionTracker class.
- keep Dali::Vector<SlotConnection> instead of Dali::Vector<SlotConnection*>, this will
reduce heap allocation as well as performance.
Change-Id: I1d0e89be58a41f89087708d8a59f2e0cbfa454df
Subhransu Mohanty [Tue, 15 Sep 2020 09:24:54 +0000 (18:24 +0900)]
refactor SlotConnection class.
- make SlotConnection a trivial type so that we can keep in container by value.
Change-Id: I331a838ccef8f9fecfd1a2b26830fb3ced801ee4
Subhransu Mohanty [Tue, 15 Sep 2020 07:03:42 +0000 (16:03 +0900)]
refactor CallbackBase class.
- Don't allocate objectdata separately as we allways heap allocate the CallbackBase object.
- keep operator==() in the header to give compiler opertunity for inlining.
Change-Id: Id17214b4c91d27849f67c953d526e4d3789a2cb4
Subhransu Mohanty [Tue, 15 Sep 2020 06:00:03 +0000 (15:00 +0900)]
refactor BaseSignal class.
- replace Dali::Vector<SignalConnection*> with std::vector<SignalConnection>
- Fixed Empty() and GetConnectionCount() implementaion complexity from O(n) to O(1).
- move trivial functions to header to make them inline.
- use erase-remove idiom to cleanup the empty connections.
Change-Id: I941bcf6b0b27a14d29a316f005f37bfca44c3530
Subhransu Mohanty [Tue, 15 Sep 2020 02:20:19 +0000 (11:20 +0900)]
refactor SignalConnection class.
- make SignalConnection class a move-only type.
- with this change we can use this object as a valuetype
instead of pointer in the std::vector.
- this will reduce the heap allocation as well as search
inside the container.
Change-Id: I87a0a4b38e979be23bfec75076fbda97ea73e932
Adeel Kazmi [Tue, 6 Oct 2020 11:37:47 +0000 (11:37 +0000)]
Merge "Added small buffer optimization to Property::Value." into devel/master
Subhransu Mohanty [Fri, 25 Sep 2020 02:33:40 +0000 (11:33 +0900)]
Added small buffer optimization to Property::Value.
With SBO optimization we don't need to allocate memory
for the Pimpl pointer as we will be creating the object
inplace in th Storage buffer.
After this change the Property::Value size will be 16byte
instead of 8. I think the overhead is minimal comparing to
the number of allocation this class does in a dali application.
Note: with the SBO and union trick the implementaion is little
bit complex than before. but as this class is core for property
and animation and used every where. the complexity is justified
in my opinion.
Change-Id: Ibe14fe92f15c2ab93395c9731bd1fca902e98259
Daekwang Ryu [Tue, 6 Oct 2020 05:15:47 +0000 (14:15 +0900)]
Revert "Revert "[Tizen] Add New API of Scene with screen orientation""
This reverts commit
494529bb9878775323b94d9603d7b32b8d4c485c.
Daekwang Ryu [Tue, 6 Oct 2020 05:15:41 +0000 (14:15 +0900)]
Revert "Revert "[Tizen] Add Integration API to Create public event type""
This reverts commit
37fc29497663b85a5ac50c00ae272539f0885459.
Daekwang Ryu [Tue, 6 Oct 2020 05:15:27 +0000 (14:15 +0900)]
Revert "Revert "[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not"""
This reverts commit
4dff9e72216170bca91db1d28fd411dc4d4b07f8.
Daekwang Ryu [Tue, 6 Oct 2020 05:15:17 +0000 (14:15 +0900)]
Revert "Revert "[Tizen] Partial rendering rotation does not work""
This reverts commit
543ff8422738d1bbc2527cac271464c7e46fb4d3.
Daekwang Ryu [Tue, 6 Oct 2020 05:15:05 +0000 (14:15 +0900)]
Revert "Revert "[Tizen] Add screen and client rotation itself function""
This reverts commit
c9ae3cd21ea6a145f3f1f63594bd08eb83609b7e.
Change-Id: I177845f7dfff9378826b36f6bc15a4c34bb315ad
Daekwang Ryu [Tue, 6 Oct 2020 05:13:55 +0000 (14:13 +0900)]
Revert "Revert "[Tizen] Not execute the remove callback""
This reverts commit
0c6231fd8c92dd48b27bc7f91b514a0b671c87f6.
Daekwang Ryu [Tue, 6 Oct 2020 03:08:44 +0000 (12:08 +0900)]
Merge branch 'devel/master' into tizen
Change-Id: I85a9d58779be0490ed0517832a4558078e51d16c
Daekwang Ryu [Tue, 6 Oct 2020 03:08:01 +0000 (12:08 +0900)]
Revert "[Tizen] Not execute the remove callback"
This reverts commit
869820a8b29e0ed0df506e6a9887f8bbd44e402e.
Daekwang Ryu [Tue, 6 Oct 2020 03:07:59 +0000 (12:07 +0900)]
Revert "[Tizen] Add screen and client rotation itself function"
This reverts commit
3e6302f19066584da65035c81f8bcb6a3da941fc.
Daekwang Ryu [Tue, 6 Oct 2020 03:07:55 +0000 (12:07 +0900)]
Revert "[Tizen] Partial rendering rotation does not work"
This reverts commit
710797e912a4f8ab9b63883e64dca72961aa8069.
Daekwang Ryu [Tue, 6 Oct 2020 03:07:52 +0000 (12:07 +0900)]
Revert "[Tizen] Modify dirtyRects to have scene for multi window support"
This reverts commit
f5b200deb6ce1b0f08633926289deb15192c5d8a.
Daekwang Ryu [Tue, 6 Oct 2020 03:07:44 +0000 (12:07 +0900)]
Revert "[Tizen] Revert "Use touch consumed return to set whether we process a gesture or not""
This reverts commit
bba33c0f3be4f27b3b67559aad388937f2ffd0a7.
Daekwang Ryu [Tue, 6 Oct 2020 03:07:34 +0000 (12:07 +0900)]
Revert "[Tizen] Temporary 'using PropertyBuffer = VertexBuffer'"
This reverts commit
a37753d124f1e31b19bf98946619f90bfdb937d1.