Merge "Text improvement 1. Text - Layout text & icons. * Feature added to layout...
[platform/core/uifw/dali-toolkit.git] / docs / content / shared-javascript-and-cpp-documentation / script-json-specification.md
index 2575417..599e6ce 100644 (file)
@@ -82,7 +82,7 @@ The JSON format deviates from the formal JSON specification and allows C style c
 
 ## Includes {#includes}
 
 
 ## Includes {#includes}
 
-The "includes" section is an array of filenames to be merged in order to
+The "includes" section is an array of file names to be merged in order to
 create a final in memory JSON tree.
 
 The merge process will walk key, value attributes from the root JSON
 create a final in memory JSON tree.
 
 The merge process will walk key, value attributes from the root JSON
@@ -255,7 +255,7 @@ Builder.AnimateTo("light-theme", myActor, TimePeriod(0, 10));
 ~~~
 
 When applied to an actor tree the actors are referenced by name. Names
 ~~~
 
 When applied to an actor tree the actors are referenced by name. Names
-are not unique in Dali.
+are not unique in DALi.
 
 When a style is applied in code DALi will perform a depth first search
 stopping with the first matching name.
 
 When a style is applied in code DALi will perform a depth first search
 stopping with the first matching name.
@@ -369,48 +369,55 @@ Shader uniforms can be animated as if they are properties of the actor.
 
 When the animation is created from code (or from a signal) the property
 name search begins on the actor, if it isn't found the search continues
 
 When the animation is created from code (or from a signal) the property
 name search begins on the actor, if it isn't found the search continues
-on the attached shader object.
+on the attached renderer, and then on the attached shader object.
 
 The actor property names and shader uniform names must not clash for the
 
 The actor property names and shader uniform names must not clash for the
-uniform to animate correctly. The convention in DALi is to prepend
-uniforms with 'u'.
+uniform to animate correctly.
+
+The actor needs to register the uniform properties as custom animatable
+properties.
 
 ~~~
 
 ~~~
-    {                                    \\
-    "animations":                        \\ Animation library
-    {                                    \\
-     "rotate":                           \\ An Animation named rotate
-     {                                   \\
-     "duration": 10,                     \\
-     "properties":                       \\ Properties changed in this animation
-     [                                   \\
-     {
-     "actor":"image",                    \\ Actor found by name from the stage
-     "property":"uTranslate",            \\ Uniform name specified as if it is a
-                                         \\ property of the object.
-     "value":[10, 20],
-     ...
-     },
-     ...
-     ]
-     },
-     "shaderEffects":
-     {
-     "myshader1":
-     {
-                                        \\ Shader program with uniform
-     "program": {...}                   \\ "uTranslate"
-     }
-     },
-     "actors":
-     [
-     {
-     "name": "image",
-     "effect": "myshader1"              \\ Actor using shader effect instance
-                                        \\ "myshader1"
-     }
-     ]
+{
+  "animations":
+  {
+    "rotate":                          \\ An Animation named rotate
+    {
+      "properties":                    \\ Properties changed in this animation
+      [
+        {
+          "actor": "image",            \\ Actor found by name from the stage
+          "property": "uTranslate",    \\ Uniform name specified as if it is a property of the object
+          "value": [10, 20],           \\ Target value of uniform
+          ...
+        }
+      ]
+    },
+    ...
+  },
+  "stage":
+  [
+    {
+      "type": "ImageView",
+      "name": "image",                 \\ Name of the actor
+      ...
+      "image":
+      {
+        ...
+        "shader":                      \\ ImageView has a shader property where we can set a custom shader
+        {
+          "vertexShader": "..."        \\ Vertex shader with uniform "uTranslate"
+        }
+      },
+      "animatableProperties":          \\ Custom properties that the actor needs to register
+      {
+        "uTranslate": [0, 0]           \\ The name should match the uniform we want to animate
+      },
+      ...
     },
     },
+    ...
+  ]
+}
 ~~~
 
 ## Stage {#stage}
 ~~~
 
 ## Stage {#stage}
@@ -418,7 +425,7 @@ uniforms with 'u'.
 The stage section supports the immediate creation of actors at the time
 the JSON is loaded.
 
 The stage section supports the immediate creation of actors at the time
 the JSON is loaded.
 
-The stage is a tree of actors that can be added to Dali's stage object.
+The stage is a tree of actors that can be added to DALi's stage object.
 
 ~~~
 // C++
 
 ~~~
 // C++
@@ -461,7 +468,7 @@ builder.addActors( dali.stage.getRootLayer() );
 
 # Actor and Control Properties {#actorprop}
 
 
 # Actor and Control Properties {#actorprop}
 
-Each control has a set of supported properties documented in the "Dali
+Each control has a set of supported properties documented in the "DALi
 UI Control Specification".
 
 Please refer to the above document for further information about specific
 UI Control Specification".
 
 Please refer to the above document for further information about specific