Kimmo Hoikka [Mon, 4 Aug 2014 15:18:18 +0000 (16:18 +0100)]
Fixing the text shader default prefix to match actual shader
[Problem]
[Cause]
[Solution]
Change-Id: I119e3d055f66c8951fad9dc411c9f1a6d92be400
Kingsley Stephens [Mon, 4 Aug 2014 10:18:41 +0000 (11:18 +0100)]
Image filter bug fix
[Problem] There was a bug in the image filtering code that was setting default filtering to nearest mode
[Solution] The default will now be linear
Change-Id: Ibdf52b0ffbf55cb3d9885efc03c30579fb04228e
Adeel Kazmi [Fri, 1 Aug 2014 14:50:12 +0000 (15:50 +0100)]
DALi Version 1.0.2
Change-Id: I249e7f4ca118f2a659ab3c067d7e5592018957af
Adeel Kazmi [Fri, 1 Aug 2014 11:05:24 +0000 (12:05 +0100)]
Changed build directory to tizen
Change-Id: I032e2a3628eec75e0d4d2be187d71d118e391e96
Adeel Kazmi [Fri, 1 Aug 2014 10:04:38 +0000 (03:04 -0700)]
Merge "Add some constants that show the version of the library" into tizen
Adeel Kazmi [Fri, 1 Aug 2014 09:29:21 +0000 (02:29 -0700)]
Merge "Added new shader hint for modifying geometry" into tizen
Adeel Kazmi [Fri, 1 Aug 2014 09:29:11 +0000 (02:29 -0700)]
Merge "Refactored shader effect implementation." into tizen
David Steele [Tue, 22 Jul 2014 16:05:31 +0000 (17:05 +0100)]
Added new shader hint for modifying geometry
Culling can only be performed when the vertex shader doesn't move
vertices outside the bounding box. Custom shaders can specify whether
they dont change geometry by setting the hint DOESNT_MODIFY_GEOMETRY.
This will turn culling on for the actors that this shader is used
to render.
Further clean up applied.
Change-Id: Ia28ba7bc0f23613316c9b21a536a94e851337bd2
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Adeel Kazmi [Wed, 30 Jul 2014 15:41:55 +0000 (16:41 +0100)]
Add some constants that show the version of the library
Change-Id: If92845f47af4d29bdd0fc395b5e49f8772c7d541
David Steele [Tue, 22 Jul 2014 16:05:31 +0000 (17:05 +0100)]
Refactored shader effect implementation.
ShaderEffect code was hard to follow, with many methods having the same name
yet performing different functions.
Have refactored the code to use SetProgram() for it's public api, moved and re-wrote
SetPrograms() and SetWrappedProgram() methods from anonymous namespace to private methods
and added a new method called SetProgramImpl() which actually sends the program to the shader
object in the scene graph.
Change-Id: Ic2eaf72a17d337dead1b14746d75f30ffd8ce3f3
Signed-off-by: David Steele <david.steele@partner.samsung.com>
David Steele [Wed, 23 Jul 2014 13:17:28 +0000 (14:17 +0100)]
Added text renderer culling
Text renderers can use the same culling algorithm as images;
have moved the 2D OBB culling algorithm to a new file; changed
the interface slightly (to pass a potentially uncentered bounding box)
Change-Id: Ic4379fdc6e7a25f39377bab2c1169697bef0e641
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Agnelo Vaz [Fri, 25 Jul 2014 15:57:17 +0000 (16:57 +0100)]
[Font] Removing Error message which is not actually an error but desired behaviour.
Change-Id: I68fd141b7036cb71aa9042104ec2c0169024e2ff
Signed-off-by: Agnelo Vaz <agnelo.vaz@samsung.com>
Paul Wisbey [Fri, 25 Jul 2014 14:54:52 +0000 (07:54 -0700)]
Merge "Ensured text mesh is centered in text actor." into tizen
David Steele [Fri, 25 Jul 2014 13:07:40 +0000 (14:07 +0100)]
Ensured text mesh is centered in text actor.
Problem:
The vertices of the text mesh are not centered, but are offset very
slightly. Also, for italicized text, the mesh is not centered at all.
Solution:
When generating the vertices, calculate min/max, then re-adjust the
vertices so that the center of the bounding box is at the origin (zero).
Change-Id: I1d04cd652fd7c7cfaae2e0f667f12f4023ac30fe
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Kingsley Stephens [Tue, 22 Jul 2014 13:06:42 +0000 (14:06 +0100)]
Texture image filtering
Add ability to set texture filtering modes per RenderableActor.
Change-Id: I1d0572a27cb75226b095a4cb31b21197539959d7
Victor Cebollada [Thu, 24 Jul 2014 06:26:34 +0000 (07:26 +0100)]
TextActor - New constructor with a parameter object replaces previous constructors.
The isLeftToRight parameter has been removed.
Text - New constructor with a const char* parameter to allow Text::New( "Hello" ) or TextActor::New( "world." ), ...
This new constructor allows to remove duplicated methods from public API, using std::string or Character as text parameter:
Font::GetFamilyForText()
Font::MeasureTextWidth()
Font::MeasureTextHeight()
Font::MeasureText()
Font::AllGlyphsSupported()
Text::SetText()
TextActor::SetText()
Duplicated text related internal methods( with std::string, Text and Character parameters ) have been removed in Text, Font and TextActor.
Removed text style deprecated methods.
Change-Id: Ic0c24bcc8825902eceda713c7dbb41cee683be24
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Adeel Kazmi [Thu, 24 Jul 2014 12:46:29 +0000 (13:46 +0100)]
DALi Version 1.0.1
Change-Id: I87d5cf04aa22c83e70503d6f3de1001cc43b4863
Adeel Kazmi [Wed, 23 Jul 2014 16:19:33 +0000 (09:19 -0700)]
Merge "Fixed test case to match new stencil hit rules" into tizen
Adeel Kazmi [Wed, 23 Jul 2014 16:10:57 +0000 (09:10 -0700)]
Merge "Property - Allow the custom property to be INTEGER type" into tizen
Kimmo Hoikka [Wed, 23 Jul 2014 13:29:03 +0000 (14:29 +0100)]
Fix regression in debug build & test cases
[Problem] index going out of bounds
[Cause] using wrong method
[Solution] correct algorithm
Change-Id: I2cd31458534fa8886b7ff27e711fe65e161a1b50
Paul Wisbey [Wed, 23 Jul 2014 12:18:55 +0000 (05:18 -0700)]
Merge "Changed Dali::Signal to use Dali::Vector instead of std::vector. Reduces Signal size from 40b to 24b, saving 80bytes for each actor" into tizen
Adeel Kazmi [Wed, 23 Jul 2014 09:11:40 +0000 (10:11 +0100)]
Fixed test case to match new stencil hit rules
Change-Id: I5b2e818118c8d7b751007cb8a924ff943df245b5
Paul Wisbey [Tue, 22 Jul 2014 16:45:04 +0000 (17:45 +0100)]
Fixed test case to match new CameraActor defaults
Change-Id: I314128ca0d27d66045b5e3108973cfdfe50949ba
Signed-off-by: Paul Wisbey <p.wisbey@samsung.com>
Xiangyin Ma [Thu, 10 Jul 2014 15:41:22 +0000 (16:41 +0100)]
Property - Allow the custom property to be INTEGER type
Change-Id: Icf3299e6e6429a0ed2b33e045f720f2fae31e073
Signed-off-by: Xiangyin Ma <x1.ma@samsung.com>
Kimmo Hoikka [Tue, 22 Jul 2014 11:39:04 +0000 (12:39 +0100)]
Changed Dali::Signal to use Dali::Vector instead of std::vector. Reduces Signal size from 40b to 24b, saving 80bytes for each actor
[Problem] unnecessary memory consumption even if no signal connections
[Cause] std::vector has three pointers
[Solution] use Dali::Vector instead
Change-Id: I9d5ee3978936ce3acd5c38464367bfbad4464ac0
Victor Cebollada [Fri, 11 Jul 2014 06:29:04 +0000 (07:29 +0100)]
TextStyle - Merge operation added.
It copies from a given text-style all parameters which are not default.
It's useful to merge parameters from different text-styles into one.
Change-Id: I36e8d481225f09fd5736ae4b8da7a3b78879760b
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Taeyoon [Wed, 23 Jul 2014 01:26:25 +0000 (18:26 -0700)]
Merge "Fix ".libs/linker.test: hidden symbol..., final link failed ..., build error"" into tizen
Paul Wisbey [Fri, 18 Jul 2014 10:35:53 +0000 (11:35 +0100)]
Improve the CameraActor defaults
Default Camera behavior is confusing since FREE_LOOK is more useful,
but it's not the default. When setting this mode, the Camera ends up
looking in the wrong direction i.e. unless manually rotated.
Change-Id: Icb2422c2115b8fab21932f00779047ff478dab1a
Signed-off-by: Paul Wisbey <p.wisbey@samsung.com>
Adeel Kazmi [Mon, 21 Jul 2014 17:29:37 +0000 (18:29 +0100)]
Added README with build commands
Change-Id: I3ce9605821d87c10f0822be345e1ae41ca24092b
Taeyoon [Mon, 21 Jul 2014 11:56:43 +0000 (20:56 +0900)]
Fix ".libs/linker.test: hidden symbol..., final link failed ..., build error"
When dali-core is built for tizen-2.2.1
(url = http://download.tizen.org/releases/2.2.1/tizen-2.2.1/)
build error is occured.
Change-Id: I2e9dee090a763d7cb5cdb7d93cba2e794b1607e8
Adeel Kazmi [Fri, 18 Jul 2014 17:05:45 +0000 (18:05 +0100)]
(Build) Updated spec file to allow building for SMACK enabled targets
Use gbs build ... --define "%enable_dali_smack_rules 1"
Change-Id: I25ffacd72e17c92ac1dcd0eb6f6f8859eb625e72
Adeel Kazmi [Mon, 21 Jul 2014 11:02:12 +0000 (12:02 +0100)]
CAPI removal
Change-Id: Ib30ced6c7f9b7aa55feb4d531bce7f626ec2f83e
Adeel Kazmi [Thu, 17 Jul 2014 14:29:05 +0000 (07:29 -0700)]
Merge "(HitTest) Ensure non-renderable actors are hittable even if outside the stencil" into tizen
Kimmo Hoikka [Thu, 17 Jul 2014 13:10:32 +0000 (06:10 -0700)]
Merge "proper fix for the gcc4.8 scope resolution issue" into tizen
Paul Wisbey [Thu, 17 Jul 2014 10:52:53 +0000 (03:52 -0700)]
Merge "Text - Methods added to find characters and retrieve sub-texts." into tizen
Kimmo Hoikka [Thu, 17 Jul 2014 10:39:06 +0000 (11:39 +0100)]
proper fix for the gcc4.8 scope resolution issue
[Problem]
[Cause]
[Solution]
Change-Id: Ia3563cfb6a5cafefd851311a571217901c64433b
Adeel Kazmi [Wed, 16 Jul 2014 15:54:09 +0000 (16:54 +0100)]
(HitTest) Ensure non-renderable actors are hittable even if outside the stencil
We do not expect to receive a hit outside the stencil area for a rendered actor. However, for
non-renderable actors, we cannot see these anyway and so these should still be hittable even if we
haven't hit the stencil area. This would allow controls like scroll-view to work with stencils
where we only want the stencil to affect the children of scroll-view.
Change-Id: Ic8e9d00a4125c94972ad2cfe298fae65313ad7dd
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Kimmo Hoikka [Wed, 16 Jul 2014 15:25:46 +0000 (08:25 -0700)]
Merge "prevent memory corruption by calling erase on unallocated vector" into tizen
Kimmo Hoikka [Wed, 16 Jul 2014 12:18:58 +0000 (13:18 +0100)]
remove the defunct and undocumented dynamics debug renderer, to be replaced with something more reusable in future
[Problem] dead code
[Cause] unmaintained feature
[Solution] remove it
Change-Id: I239f7d8ba0f12e9f113e4bffbf146d198c032ba1
Kimmo Hoikka [Wed, 16 Jul 2014 12:09:56 +0000 (13:09 +0100)]
prevent memory corruption by calling erase on unallocated vector
[Problem] potential memory corruption / crash
[Cause] not checking if vector internal buffer is allocated
[Solution] check
Change-Id: I299b7e6bd12ab8dc70ca3783ec8b823d37ba5b6f
Victor Cebollada [Mon, 7 Jul 2014 07:12:42 +0000 (08:12 +0100)]
Text - Methods added to find characters and retrieve sub-texts.
The only way to split a text in lines and words is retrieve
character per character and query if it's a white space or
a new line character.
Every time a character is requested, Text creates a Character
object with its implementation.
The Find methods retrieve all the positions of the white
space, new line character or any other character within the
given range saving the creation of all Character objects.
Change-Id: Ie6107edfef5db9eb6d54dd84ec9e662dead8a229
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Adeel Kazmi [Tue, 15 Jul 2014 14:22:34 +0000 (15:22 +0100)]
(Events) Cleaned up documentation
Change-Id: Ied26dfde72b9124c40489f67230235938db634ec
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Tue, 15 Jul 2014 13:40:24 +0000 (06:40 -0700)]
Merge "(Pan Gesture Prediction Tests) Added tests for pan prediction algorithms" into tizen
Adeel Kazmi [Tue, 15 Jul 2014 13:39:35 +0000 (06:39 -0700)]
Merge "(LightActor) Fixed it reporting an incorrect type for one of its properties" into tizen
David Steele [Thu, 10 Jul 2014 17:12:14 +0000 (18:12 +0100)]
removed reliance on dali-adaptor
Changed test cases to use dali-core.h instead of dali.h, which is a dali-adaptor header.
Change-Id: I3ed7c5adb4166f57660f36666fe320fb7395bc9d
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Julien Heanley [Thu, 10 Jul 2014 15:12:53 +0000 (16:12 +0100)]
(Pan Gesture Prediction Tests) Added tests for pan prediction algorithms
Change-Id: I3e7c47f5198516b4c3e9fe9681db53254ad9149b
Signed-off-by: Julien Heanley <j.heanley@partner.samsung.com>
Adeel Kazmi [Mon, 7 Jul 2014 16:12:01 +0000 (17:12 +0100)]
(LightActor) Fixed it reporting an incorrect type for one of its properties
The enable property reported that it was a Vector2 and then assert when trying to set it as it's actually expecting a bool.
Change-Id: I92db4dc28816c2e2b618b8d4b5b01b9612eff2ff
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Agnelo Vaz [Mon, 7 Jul 2014 10:06:24 +0000 (11:06 +0100)]
(Image) Fix Ninepatch image to get correct child region and stretch border
[problem] Algorithm for calculating child region stops when reaches end of stretch region and regions are off by 1.
[solution] Don't break loop until found the end of both regions correctly. Fix logic for calculating regions. Create Test case.
Change-Id: I30d8e4b43c5ec04313e1523a8f633e346e273621
Signed-off-by: Agnelo Vaz <agnelo.vaz@samsung.com>
Victor Cebollada [Fri, 11 Jul 2014 08:21:18 +0000 (09:21 +0100)]
Coverage fix for test cases execute script.
*.gcno files are deleted every time the execute.sh script is run.
These files are needed to run the coverage script and they are generated only when DALi or test cases are built.
Change-Id: I7c6a4fb491d7586aff4dfc4be2c40b53f0e44bc1
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
David Steele [Thu, 10 Jul 2014 14:33:26 +0000 (15:33 +0100)]
Updated scripts for faster build/execution cycle
Added 2 options to build script to prevent cleaning down the build
area and to prevent generation of tests - this improves the cycle time
for writing/building tests
Removed old coverage data prior to executing tests - prevents large
scale output with "version mismatch" errors.
Change-Id: I86f1c37a2207bc62eda699340c37588720ed70dd
Signed-off-by: David Steele <david.steele@partner.samsung.com>
David Steele [Thu, 10 Jul 2014 13:32:10 +0000 (14:32 +0100)]
Enabled test cases to install to target.
Test cases require an install script to put them on target.
Change-Id: I13e01b4539eaa7fdb64bb05af2f144dc90c07cdd
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Yan Wang [Wed, 25 Jun 2014 07:12:55 +0000 (15:12 +0800)]
Remove smack flags for Tizen 3.0.
Change-Id: I2261293e7f2554570c9c9ab5c20408965af3429b
Adeel Kazmi [Wed, 9 Jul 2014 17:03:42 +0000 (18:03 +0100)]
DALi Version 1.0.0
Change-Id: I162fa67691cad9cf74b259978793902b033ba857
Adeel Kazmi [Tue, 8 Jul 2014 11:57:45 +0000 (12:57 +0100)]
(AutomatedTests) Added a touch test for checking actors that are reparented and require leave
[problem] No test for problem fixed by:
(Touch) Ensure leave events are emitted to an actor that's detatched then re-attached to the stage in quick succession
[cause] N/A
[solution] Add a test which would have failed before the specified patch.
Change-Id: I7cb24f8617e991d454afde4ae1f30908007f76a8
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Tue, 8 Jul 2014 11:12:45 +0000 (12:12 +0100)]
(Touch) Ensure leave events are emitted to an actor that's detatched then re-attached to the stage in quick succession
[problem] The primary hit actor is removed from the stage then re-added between motion events.
[cause] Problem is that when it is removed, we have a flag to say we have disconnected
from it. Normally we set a different actor on the next touch but if we set the same
actor again, then this flag is not reset.
[solution] Reset the flag when setting the actor.
Change-Id: Ia64fe0ac91107ada391f91a7d7b3d5a7a1280e84
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
David Steele [Mon, 7 Jul 2014 19:35:36 +0000 (20:35 +0100)]
Removed synchronous image size getter
[problem] Image::New() takes 1-4ms under load
[cause] Each Image::New() calls GetClosestImageSize(), which performs
synchronous file i/o to load the image header.
[solution] Removed this call and backed off to use the requested size or the
loaded size. Application code that relies on image size being immediately set on
creation will break. (Image actors will no longer get their size set
automatically ).
Change-Id: Ide116312cf841a61e13993ff42b7c8399bb86ca7
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Kimmo Hoikka [Mon, 7 Jul 2014 12:58:15 +0000 (13:58 +0100)]
Stop using raw matrix pointers directly in render thread as that can cause matrix from wrong frame to being used
Change-Id: Ie956986f048786657cc6055b87f39113bb55a54d
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Kimmo Hoikka [Mon, 7 Jul 2014 17:17:52 +0000 (18:17 +0100)]
fix the normal matrix calculation and view matrix check to send the matrix when it has not yet been sent
Change-Id: I1afc0383fc0a2712a0121328c8081f37418a6460
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
daemyung jang [Fri, 4 Jul 2014 04:48:43 +0000 (13:48 +0900)]
Fixed the build errors.
[problem] Build error with gcc4.8
[cause] No declarations were found by argument-dependent lookup at the
point of instantiation
[solution] Call the functions with this pointer.
Change-Id: Ib3aeea88f607f6d7a9f43afbaa5ca39497d9b039
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
David Steele [Tue, 1 Jul 2014 16:53:48 +0000 (17:53 +0100)]
Added pre/post render methods to GL abstraction
[problem] Metrics gathering in adaptor needs to know start and end of
frame in order to perform per-frame data gathering.
[solution] Add PreRender and PostRender calls that render thread can call
Change-Id: I84a87bdfd5dd7c26642694b25be2602dd854e0ea
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Kimmo Hoikka [Tue, 1 Jul 2014 17:10:38 +0000 (18:10 +0100)]
Cleanup of the renderers and shader, reduces parameters passed to renderers and shader so saves some CPU time and ROM size, remove duplicate code.
1. move Matrix and Color uniform setters to Renderer base class (reduces the number of parameter to derived renderers)
2. rename Shader::Apply to SetUniforms and move the call to base Renderer class from (removes parameters and code duplication)
4. perform culling first in base renderer Render method so we avoid any GL state changes if renderer is culled (previously we enabled blending etc)
5. remove MVP matrix from Shader as it has no use there anymore
6. rename GetGeometryTypes to ResolveGeometryTypes as its not just-a-getter. Remove duplicate calls to it from text and mesh renderers (removes code duplication)
7. removed implementation of dynamics debug renderer as it was a uncommented hack.
Change-Id: I1bcd57c205ff54cad7f6f3fd23561d568c1d9802
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Victor Cebollada [Mon, 30 Jun 2014 13:07:13 +0000 (14:07 +0100)]
Font - Fixes some documentation issues and the pass of some parameters has been replaced from copy to const references.
Change-Id: I3a824f1ea040d4bf73ed533b5a0d94f032b1e601
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Julien Heanley [Wed, 2 Jul 2014 14:52:56 +0000 (15:52 +0100)]
TCT Fix - Added header declaration for integration-api/input-options.h
[problem] utc-Dali-PanGestureDetector.cpp failed to build
[cause] Missing header
[solution] Included header in .cpp
Change-Id: I46a1065c56a423276bb6b5fe5a0f0cd2cecbc8a0
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Julien Heanley [Wed, 2 Jul 2014 07:30:20 +0000 (08:30 +0100)]
Pan Gesture Cleanup Move functions from profiling.h/cpp to new files input-options.h/cpp Removed backwards compatible pan gesture environment variable code since homescreen already has patch for new ones Correct references to old environment values
Change-Id: I5eb2b75fce7d4f57fa0dd4e38c3c3942379ac2b2
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Julien Heanley [Thu, 12 Jun 2014 13:40:43 +0000 (14:40 +0100)]
Pan Gesture Prediction - Added smoothing phase
Removed SimpleAverageAlgorithm, instead use:
DALI_PAN_PREDICTION_MODE=0 and DALI_PAN_SMOOTHING_MODE=1
Any prediction method can be combined with any smoothing algorithm (currently only 1 simple algorithm)
Current prediction mode is SMOOTHING_LAST_VALUE(1)
For prediction use DALI_PAN_PREDICTION_MODE=1 with DALI_PAN_PREDICTION_AMOUNT
For smoothing use DALI_PAN_SMOOTHING_MODE=1 with DALI_PAN_SMOOTHING_AMOUNT(0.0 to 1.0)
Increase DALI_PAN_PREDICTION_AMOUNT to make up for touch distance increase due to smoothing
[problem] Prediction modes are not very smooth
[cause] Prediction calculations can exagerate movement
[solution] Add smoothing phase
Change-Id: Ied98227e1dc8002be94bd0449ac09179b7125d75
Signed-off-by: Julien Heanley <j.heanley@partner.samsung.com>
Kimmo Hoikka [Mon, 30 Jun 2014 17:05:05 +0000 (18:05 +0100)]
avoid sending view and projection matrices multiple times per frame to gl programs
Reduces almost 30% of matrix sets in dali-demo (from 75k to 53k once the demo is up and running)
Change-Id: I21b6985446fb2e9d832388c0c619b0bc60c13000
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Mon, 30 Jun 2014 08:05:39 +0000 (17:05 +0900)]
(PanGesture) Ensure we do not send invalid velocities
[problem] Sometimes, the velocity is an infinite number.
[cause] In these cases, no time has passed between the current and the last velocity so time
difference is zero.
[solution] Ensure we do not divide by 0, just send a ZERO vector2 if this is the case.
Change-Id: I80c03000576a324febe0e19e257a4f095079547b
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Ferran Sole [Fri, 20 Jun 2014 08:47:07 +0000 (09:47 +0100)]
Added funcionality to play animations from an specified initial progress
[problem] Lack of functionality to play an animation from an specified
initial progress
[cause] N/A
[solution] Added new API to retrieve the current progress and to play
animations from an specified initial cursor
Change-Id: I2777961e0ae6a9b18ddb16e62920c68cb3eb39a3
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Kimmo Hoikka [Wed, 25 Jun 2014 10:58:20 +0000 (11:58 +0100)]
Guarantee notifications are served in the right order in the case that event thread did not have time to process them yet
Change-Id: I30374a8a86a93bb022ee83abe6a9459e78c9acab
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Fri, 27 Jun 2014 16:10:10 +0000 (01:10 +0900)]
(Touch) Ensure touch-events are cleared before emitting to stage and documentation update
[problem] Stage signal has the wrong touch-event information.
[cause] We change it when we emit the interrupted event for the original down actor.
[solution] Revert to original.
Change-Id: Ib93364a8df74204c5f15c8d33e264189dc1a752c
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Fri, 27 Jun 2014 12:24:19 +0000 (21:24 +0900)]
(Touch) Emit Up to down consumer (if different from current consumer)
[problem] Actor receiving touch-down may never receive touch-up and it cannot rely on leave.
[cause] Can be moved away and another actor may be hit.
[solution] Emit an Interrupted event to the touch-down actor if it's not the current one
consumed.
Change-Id: Icb59c3434eac12cffebf4d58dff9a2310764099b
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Fri, 20 Jun 2014 08:22:17 +0000 (17:22 +0900)]
(Gestures) Remove Functor usage from processors
[problem] Functor usage is confusing and they need to be stack-allocated at the start of every
gesture.
[cause] N/A
[solution] Use deriving methods instead which is a bit clearer and does not require stack allocation
when the gesture starts.
Change-Id: I099eed5677914301559c5ff7ca55a170b5a99816
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Kimmo Hoikka [Tue, 24 Jun 2014 17:22:36 +0000 (18:22 +0100)]
Prevent event thread from picking up notifications too soon
[problem] Animation-finished and property-notifications can be fired off too soon.
[cause] We queue the message from update straight away, even before the scene has been
updated.
[solution] Create another buffer in the notification-manager which is only swapped at the end
of the update.
Change-Id: I7b72fa2485ed9faa606b52a3925e111df2931776
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
David Steele [Mon, 23 Jun 2014 10:15:52 +0000 (11:15 +0100)]
Added more unit tests for NinePatchImage
Double checking the ImageActor behaviour with 9 patch images.
Change-Id: If00f9ca4425305885c965202a09d7862fe813d49
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Adeel Kazmi [Tue, 24 Jun 2014 12:53:25 +0000 (21:53 +0900)]
(UpdateManager) Fire animation notifications ONLY when scene is actually updated
[problem] Timing problem where animation finsihed callbacks are emitted before the scene has
been updated.
[cause] We add messages to the event-queue before we've updated the scene. The queues can
be swapped while we're still updating and the finished callback can be then fired.
Any attempt to get current values in this callback will be from the previous frame.
[solution] Delay adding animation-finished messages to the queue till just before update ends.
Change-Id: I3c610e5139e1bfe32873cf3f85474ab7d61ed343
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Kimmo Hoikka [Sat, 21 Jun 2014 13:11:50 +0000 (14:11 +0100)]
fixing a potential memory corruption/crash if Dali::Vector is Resized before putting any elements into it
Change-Id: Idb66f6938421ca53ddc3199e0677f0bc87ceeceb
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
David Steele [Thu, 12 Jun 2014 18:11:43 +0000 (19:11 +0100)]
Added image renderer clip space culling
[problem] Render thread taking too long setting up renderers that will be clipped by GPU
[solution] Calculate which renderers are in clip space, and cull those that aren't.
Now uses OBB culling (which is relatively expensive, but still less expensive than drawing)
Adds an API to RenderTask to disable culling (enabled by default)
Change-Id: Ibe0c9c454b97fb02d8a63d17aeed9e2d4ff5d12e
Signed-off-by: David Steele <david.steele@partner.samsung.com>
David Steele [Fri, 20 Jun 2014 13:59:46 +0000 (14:59 +0100)]
Fixed segfault if nine-patch image failed to load
[problem] If nine patch image fails to load, e.g. file not found,
then empty bitmap pointer is accessed when image actor tries to use it.
[cause] Not checking bitmap pointer before dereference
[solution] Ensured bitmap pointers are checked, if NULL, then an error is logged.
Change-Id: If42d2db4f662fc2323057f71b365a741e254d125
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Paul Wisbey [Thu, 19 Jun 2014 17:56:41 +0000 (18:56 +0100)]
Optimization to reduce Handle size by 50%
[problem] Memory usage is too high, event-thread operations are too heavy.
[cause] Too much Dali::Handle data copied around.
[solution] Remove all virtual methods from handles, to avoid needing a C++ vptr
Change-Id: Ib03898bc8fe073d41e5a44cc49af91958d164ee1
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Wed, 18 Jun 2014 01:17:26 +0000 (10:17 +0900)]
(HitTest) Added API to layer so that it can consume all touch if required
[problem] Currently, the only way to stop gestures being delivered to actors behind a layer is
by attaching the layer to a gesture detector which is cumbersome.
[cause] N/A
[solution] Implemented an API which allows the user to set whether a layer should consume all
touch. When this is set on a layer, any layers behind that layer are not hit-test.
Change-Id: I34468c13a3b7b5f81a53ca4746a5c97a4ece09ba
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Wed, 18 Jun 2014 02:46:59 +0000 (11:46 +0900)]
(AutomatedTests) Ensure dali automated tests can be built for target
[problem] Tests cannot be built for target on a clean gbs-root.
[cause] Missing boost-devel dependency.
[solution] Add dependency to test spec files.
Change-Id: I6f2663f281c5006eb6a54e5355cdcb2a395f2f2c
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Mon, 16 Jun 2014 08:47:08 +0000 (17:47 +0900)]
(PanGesture) Added pan velocities as a property.
[problem] Unable to use the pan velocity values in constraint.
[cause] They are not properties.
[solution] Add properties which use this.
Change-Id: I066a528ab0f56c1208e891d2f0d7a698ce09feac
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Victor Cebollada [Fri, 23 May 2014 09:50:57 +0000 (10:50 +0100)]
Any type - const getters added.
[problem] Getter methods from clases which store values inside an Any container can't be const.
[cause] Some const getters are missing in the Any class.
[solution] Add them.
Change-Id: Icdf4276a8efe31ee7d9ba3b17c3fcf075081d41d
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Paul Wisbey [Fri, 13 Jun 2014 11:36:28 +0000 (20:36 +0900)]
Fixed RenderTask bug when source actor is off-stage.
[problem] If a render-once RenderTask's source actor is off-stage, this will cause Dali to render continuously.
[cause] The RenderTask is waiting, but not ready to render.
[solution] Change update logic to only keepUpdating if a waiting task is ready.
Change-Id: I8f6e400a4f19ba731460bcda7e9ea83bd3593268
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Richard Underhill [Thu, 22 May 2014 08:54:24 +0000 (09:54 +0100)]
(Dali-Core) Memory optimisation for Text-Styles
[problem] TextStyles create structure for all attributes, the moment
one is created taking up more memory than needed
[cause] Single structure of attributes
[solution] A container is created when attributes (or a set of attributes) are created.
Change-Id: Ibcb69df8b8f8f84ec862f295125fe0d9c83d511e
Signed-off-by: Richard Underhill <r.underhill@partner.samsung.com>
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Agnelo Vaz [Wed, 11 Jun 2014 15:11:24 +0000 (16:11 +0100)]
Hit test algorithm fixed to traverse hit actor tree if stencil first
[problem] If stencil is added to layer before a tree of actors only the first actor in the tree will be returned, it's children will not be traversed.
[solution] Only stop traversal if current actor is a stencil and that stencil was hit, else traverse children.
Change-Id: I19bf8b3a24b2ac5629079bec7131b266db460143
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Andrew Cox [Wed, 11 Jun 2014 17:18:51 +0000 (18:18 +0100)]
Remove cropping from ImageAttributes
[problem] We have a cropping feature advertised but not used and not
really implemented so confusing potential users and wasting space in our
current builds.
[cause] No users have wanted this feature.
[solution] Remove the partial implementation of this feature.
Change-Id: I24d604c439111ed5a2048908bcdb17795d7a82df
Signed-off-by: Andrew Cox <andrew.cox@partner.samsung.com>
Xiangyin Ma [Wed, 11 Jun 2014 10:24:25 +0000 (11:24 +0100)]
(MeshActor) Add a reference to AnimatableMesh
[problem] AnimatableMesh get deleted before MeshActor
[solution] Keep a reference to the AnimatableMesh so it would not be destroyed before the MeshActor object
Change-Id: Ib56bd23ddd630e4fb25f65310bd639f76a656fa3
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Andrew Cox [Wed, 11 Jun 2014 12:55:43 +0000 (13:55 +0100)]
Document the processing pipeline applied to images at load time
[problem] Dali applications cannot use image attributes with confidence
and they are not obeyed in our image loading code.
[cause] There is no clear wording on how the use of ImageAttributes is
expected to affect the loading of images by Dali in our documentation.
[solution] Clearly lay out an order of operations and the handling of
special parameter values (zero dimensions).
Change-Id: I30399cc17dc6581606fa85886ab8b51c79e4a94f
Signed-off-by: Andrew Cox <andrew.cox@partner.samsung.com>
Adeel Kazmi [Tue, 10 Jun 2014 14:07:59 +0000 (15:07 +0100)]
(BaseObject) If type-name is not found then show a warning instead of an error
[problem] Too many error messages when launching apps that do not use the type-registry
(not an bug, apps can choose not to use it).
[solution] Change to warning.
Change-Id: I9900fcf987aa7b02a904d1f304e43f0fe7e556c5
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Fri, 6 Jun 2014 16:45:19 +0000 (17:45 +0100)]
(Gestures) Use the actor-gesture-data containers and use raw Actor pointers.
Use the containers provided by actor-gesture-data rather than checking if the actor
is available in attached detectors (should be faster).
Using raw Internal::Actor pointers instead of handles.
Removing unnecessary templates.
Next step is to remove gesture-processor functors and use deriving methods instead.
Change-Id: I130cc8cbd0dae293713b74156fcbf3c1c3eaa758
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Wed, 11 Jun 2014 10:30:33 +0000 (11:30 +0100)]
Updated spec file and removed unrequired shader binaries
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Change-Id: I5be805be1b4d8c6fe6ecd64daa9f107b8ab3b5aa
Adeel Kazmi [Fri, 6 Jun 2014 14:23:38 +0000 (15:23 +0100)]
(Gestures) Extract out GestureData from Actor
[problem] Actor is too closely coupled with gesture-detectors.
[cause] GestureData is private within Actor which stores info about gesture detection.
[solution] Move GestureData out of actor-impl.cpp and Actor provides a method to retrieve this.
Change-Id: I534723f5cfb772c88f13d2d90ab97d8c64571f8f
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
David Steele [Thu, 5 Jun 2014 16:38:59 +0000 (17:38 +0100)]
Fixed test case build & some test cases
Change-Id: Id86bef87e2f24bf4b31a02cea3358a36fd7efa32
Signed-off-by: David Steele <david.steele@partner.samsung.com>
Julien Heanley [Mon, 2 Jun 2014 19:32:43 +0000 (20:32 +0100)]
Pan Gesture Prediction - Fixed issue where initial displacement could be close to zero
This used to result in 0 pixel movement in first frame
Change-Id: Ia12ba1660a6ae8c17c8596437dfbb3be5e506fb4
Signed-off-by: Julien Heanley <j.heanley@partner.samsung.com>
Andrew Cox [Thu, 5 Jun 2014 10:23:25 +0000 (11:23 +0100)]
Image Load Cancelation - Downgrade error log to warning and note the cause of it
[problem] A rare event that will probably continue to happen until we do
some rewrites is firing as an error.
[solution] Turn error into a warning and document why it currently
Signed-off-by: Andrew Cox <andrew.cox@partner.samsung.com>
Julien Heanley [Thu, 5 Jun 2014 09:26:59 +0000 (10:26 +0100)]
Pan Gestures - Changed Pan gesture prediction amount units to millis
Instead of 0.7 the prediction amount to set should be (0.7 * 16)
Change-Id: I4cb5a10018b35ab3d2000eaf796b1c7994927dd3
Signed-off-by: Julien Heanley <j.heanley@partner.samsung.com>
Taeyoon [Tue, 3 Jun 2014 09:55:46 +0000 (18:55 +0900)]
Conversion to Apache 2.0 license
Change-Id: I841fa42a784c2ae44266b579dad04db62ad9c246
Adeel Kazmi [Wed, 4 Jun 2014 12:59:57 +0000 (13:59 +0100)]
(Gestures) Each actor is now aware of what gestures it requires which is used when hit-testing
[problem] Cannot tap anything behind invisible status bar.
[cause] Status bar consumes all gestures even though it doesn't require them.
[solution] Change the system so that actors are aware of what gestures they have so it is
possible to gesture actors behind the status bar.
Change-Id: I713c907c764445263362803a98af0fa514ffd955
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Adeel Kazmi [Wed, 4 Jun 2014 13:10:52 +0000 (14:10 +0100)]
(HitTest) Ensure we do not create Actor handles when using the hit-test callback
[problem] Whenever we call the hit-test callback, we create a temporary Actor handle which
can be quite an expensive operation (as constructors are called). We HAVE to do
this for public hit-testing, but we are paying the penalty on internal hit-testing
as well.
[cause] Using the same interface for public and internal hit-testing.
[solution] Use a functor internally which uses a specialised functor with an Actor handle for
external hit-testing and another functor for the internal hit-test which uses
an Internal::Actor* so we do not pay the penalty of creating a handle then.
Change-Id: I7bb81265b9c03aa3c7a714f0dd2ceec22e6a997b
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>