platform/core/uifw/dali-core.git
9 years agoDALi Version 1.0.2 03/25303/1 dali_1.0.2
Adeel Kazmi [Fri, 1 Aug 2014 14:50:12 +0000 (15:50 +0100)]
DALi Version 1.0.2

Change-Id: I249e7f4ca118f2a659ab3c067d7e5592018957af

9 years agoChanged build directory to tizen 88/25288/1
Adeel Kazmi [Fri, 1 Aug 2014 11:05:24 +0000 (12:05 +0100)]
Changed build directory to tizen

Change-Id: I032e2a3628eec75e0d4d2be187d71d118e391e96

9 years agoMerge "Add some constants that show the version of the library" into tizen
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

9 years agoMerge "Added new shader hint for modifying geometry" 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

9 years agoMerge "Refactored shader effect implementation." into tizen
Adeel Kazmi [Fri, 1 Aug 2014 09:29:11 +0000 (02:29 -0700)]
Merge "Refactored shader effect implementation." into tizen

9 years agoAdded new shader hint for modifying geometry 64/25164/6
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>
9 years agoAdd some constants that show the version of the library 72/25172/6
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

9 years agoRefactored shader effect implementation. 17/24817/3
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>
9 years agoAdded text renderer culling 66/25066/4
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>
9 years ago[Font] Removing Error message which is not actually an error but desired behaviour. 35/25035/1
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>
9 years agoMerge "Ensured text mesh is centered in text actor." into tizen
Paul Wisbey [Fri, 25 Jul 2014 14:54:52 +0000 (07:54 -0700)]
Merge "Ensured text mesh is centered in text actor." into tizen

9 years agoEnsured text mesh is centered in text actor. 26/25026/2
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>
9 years agoTexture image filtering 11/24811/9
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

9 years agoTextActor - New constructor with a parameter object replaces previous constructors. 47/24947/7
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>
9 years agoDALi Version 1.0.1 62/24962/1 dali_1.0.1
Adeel Kazmi [Thu, 24 Jul 2014 12:46:29 +0000 (13:46 +0100)]
DALi Version 1.0.1

Change-Id: I87d5cf04aa22c83e70503d6f3de1001cc43b4863

9 years agoMerge "Fixed test case to match new stencil hit rules" into tizen
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

9 years agoMerge "Property - Allow the custom property to be INTEGER type" 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

9 years agoFix regression in debug build & test cases 60/24860/1
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

9 years agoMerge "Changed Dali::Signal to use Dali::Vector instead of std::vector. Reduces Signa...
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

9 years agoFixed test case to match new stencil hit rules 44/24844/1
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

9 years agoFixed test case to match new CameraActor defaults 18/24818/2
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>
9 years agoProperty - Allow the custom property to be INTEGER type 39/24339/9
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>
9 years agoChanged Dali::Signal to use Dali::Vector instead of std::vector. Reduces Signal size... 08/24808/2
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

9 years agoTextStyle - Merge operation added. 86/24386/5
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>
9 years agoMerge "Fix ".libs/linker.test: hidden symbol..., final link failed ..., build error...
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

9 years agoImprove the CameraActor defaults 11/24711/7
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>
9 years agoAdded README with build commands 84/24784/2
Adeel Kazmi [Mon, 21 Jul 2014 17:29:37 +0000 (18:29 +0100)]
Added README with build commands

Change-Id: I3ce9605821d87c10f0822be345e1ae41ca24092b

9 years agoFix ".libs/linker.test: hidden symbol..., final link failed ..., build error" 64/24764/2
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

9 years ago(Build) Updated spec file to allow building for SMACK enabled targets 23/24723/6
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

9 years agoCAPI removal 71/24771/3
Adeel Kazmi [Mon, 21 Jul 2014 11:02:12 +0000 (12:02 +0100)]
CAPI removal

Change-Id: Ib30ced6c7f9b7aa55feb4d531bce7f626ec2f83e

9 years agoMerge "(HitTest) Ensure non-renderable actors are hittable even if outside the stenci...
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

9 years agoMerge "proper fix for the gcc4.8 scope resolution issue" 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

9 years agoMerge "Text - Methods added to find characters and retrieve sub-texts." 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

9 years agoproper fix for the gcc4.8 scope resolution issue 30/24630/1
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

9 years ago(HitTest) Ensure non-renderable actors are hittable even if outside the stencil 81/24581/2
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>
9 years agoMerge "prevent memory corruption by calling erase on unallocated vector" into tizen
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

9 years agoremove the defunct and undocumented dynamics debug renderer, to be replaced with... 64/24564/1
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

9 years agoprevent memory corruption by calling erase on unallocated vector 61/24561/1
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

9 years agoText - Methods added to find characters and retrieve sub-texts. 31/24231/8
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>
9 years ago(Events) Cleaned up documentation 12/24512/3
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>
9 years agoMerge "(Pan Gesture Prediction Tests) Added tests for pan prediction algorithms"...
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

9 years agoMerge "(LightActor) Fixed it reporting an incorrect type for one of its properties...
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

9 years agoremoved reliance on dali-adaptor 46/24346/3
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>
9 years ago(Pan Gesture Prediction Tests) Added tests for pan prediction algorithms 37/24337/3
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>
9 years ago(LightActor) Fixed it reporting an incorrect type for one of its properties 57/24457/1
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>
9 years ago(Image) Fix Ninepatch image to get correct child region and stretch border 29/24329/2
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>
9 years agoCoverage fix for test cases execute script. 69/24369/2
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>
9 years agoUpdated scripts for faster build/execution cycle 33/24333/4
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>
9 years agoEnabled test cases to install to target. 25/24325/3
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>
9 years agoRemove smack flags for Tizen 3.0. 13/23413/2
Yan Wang [Wed, 25 Jun 2014 07:12:55 +0000 (15:12 +0800)]
Remove smack flags for Tizen 3.0.

Change-Id: I2261293e7f2554570c9c9ab5c20408965af3429b

9 years agoDALi Version 1.0.0 84/24284/1 dali_1.0.0
Adeel Kazmi [Wed, 9 Jul 2014 17:03:42 +0000 (18:03 +0100)]
DALi Version 1.0.0

Change-Id: I162fa67691cad9cf74b259978793902b033ba857

9 years ago(AutomatedTests) Added a touch test for checking actors that are reparented and requi... 18/24118/1
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>
9 years ago(Touch) Ensure leave events are emitted to an actor that's detatched then re-attached... 17/24117/1
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>
9 years agoRemoved synchronous image size getter 06/24106/1
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>
9 years agoStop using raw matrix pointers directly in render thread as that can cause matrix... 05/24105/1
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>
9 years agofix the normal matrix calculation and view matrix check to send the matrix when it... 04/24104/1
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>
9 years agoFixed the build errors. 03/24103/1
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>
9 years agoAdded pre/post render methods to GL abstraction 02/24102/1
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>
9 years agoCleanup of the renderers and shader, reduces parameters passed to renderers and shade... 01/24101/1
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>
9 years agoFont - Fixes some documentation issues and the pass of some parameters has been repla... 00/24100/1
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>
9 years agoTCT Fix - Added header declaration for integration-api/input-options.h 99/24099/1
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>
9 years agoPan Gesture Cleanup Move functions from profiling.h/cpp to new files input-options... 98/24098/1
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>
9 years agoPan Gesture Prediction - Added smoothing phase 97/24097/1
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>
9 years agoavoid sending view and projection matrices multiple times per frame to gl programs 96/24096/1
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>
9 years ago(PanGesture) Ensure we do not send invalid velocities 95/24095/1
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>
9 years agoAdded funcionality to play animations from an specified initial progress 94/24094/1
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>
9 years agoGuarantee notifications are served in the right order in the case that event thread... 93/24093/1
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>
9 years ago(Touch) Ensure touch-events are cleared before emitting to stage and documentation... 92/24092/1
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>
9 years ago(Touch) Emit Up to down consumer (if different from current consumer) 91/24091/1
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>
9 years ago(Gestures) Remove Functor usage from processors 90/24090/1
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>
9 years agoPrevent event thread from picking up notifications too soon 89/24089/1
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>
9 years agoAdded more unit tests for NinePatchImage 88/24088/1
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>
9 years ago(UpdateManager) Fire animation notifications ONLY when scene is actually updated 87/24087/1
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>
9 years agofixing a potential memory corruption/crash if Dali::Vector is Resized before putting... 86/24086/1
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>
9 years agoAdded image renderer clip space culling 85/24085/1
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>
9 years agoFixed segfault if nine-patch image failed to load 84/24084/1
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>
9 years agoOptimization to reduce Handle size by 50% 83/24083/1
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>
9 years ago(HitTest) Added API to layer so that it can consume all touch if required 82/24082/1
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>
9 years ago(AutomatedTests) Ensure dali automated tests can be built for target 81/24081/1
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>
9 years ago(PanGesture) Added pan velocities as a property. 80/24080/1
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>
9 years agoAny type - const getters added. 79/24079/1
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>
9 years agoFixed RenderTask bug when source actor is off-stage. 78/24078/1
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>
9 years ago(Dali-Core) Memory optimisation for Text-Styles 77/24077/1
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>
9 years agoHit test algorithm fixed to traverse hit actor tree if stencil first 76/24076/1
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>
9 years agoRemove cropping from ImageAttributes 75/24075/1
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>
9 years ago(MeshActor) Add a reference to AnimatableMesh 74/24074/1
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>
9 years agoDocument the processing pipeline applied to images at load time 73/24073/1
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>
9 years ago(BaseObject) If type-name is not found then show a warning instead of an error 72/24072/1
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>
9 years ago(Gestures) Use the actor-gesture-data containers and use raw Actor pointers. 71/24071/1
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>
9 years agoUpdated spec file and removed unrequired shader binaries 67/22767/5
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

9 years ago(Gestures) Extract out GestureData from Actor
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>
9 years agoFixed test case build & some test cases
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>
9 years agoPan Gesture Prediction - Fixed issue where initial displacement could be close to...
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>
9 years agoImage Load Cancelation - Downgrade error log to warning and note the cause of it
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>
9 years agoPan Gestures - Changed Pan gesture prediction amount units to millis
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>
9 years agoConversion to Apache 2.0 license
Taeyoon [Tue, 3 Jun 2014 09:55:46 +0000 (18:55 +0900)]
Conversion to Apache 2.0 license

Change-Id: I841fa42a784c2ae44266b579dad04db62ad9c246

9 years ago(Gestures) Each actor is now aware of what gestures it requires which is used when...
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>
9 years ago(HitTest) Ensure we do not create Actor handles when using the hit-test callback
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>
9 years agoUpload package dali_0.9.21
jonghyun.ho [Thu, 5 Jun 2014 01:27:47 +0000 (10:27 +0900)]
Upload package dali_0.9.21

9 years agoChange the default pan algorithm
daemyung jang [Thu, 5 Jun 2014 05:38:12 +0000 (14:38 +0900)]
Change the default pan algorithm

[problem] Jitter problem is happend.
[cause] Cause by the prediction algorithm.
[solution] Use the average algorithm.