Merge "Update contents of programming guide" into tizen
[platform/core/uifw/dali-toolkit.git] / docs / content / main.md
index 3665970..1289468 100644 (file)
-# DALi introduction
-
-## DALi 3D ( Dynamic Animation Library )
-
-DALi is a quick and easy way of allowing developers to create Rich UI Applications like:
-
- + Image & Video galleries
- + Music players
- + Games
- + Maps
- + Homescreens / launch pads
- + Advanced watch faces for wearable devices
-
-DALi is based on OpenGL ES 2.0 & 3.0, however it hides the complexity of
-the OpenGL API from developers and provides a clean cross-platform C++ & JavaScript framework.
-
-+ Create Images, Text and Meshes
-+ Create shaders using GLSL
-+ Provide multiple cameras and render targets
-+ Provides Layers to aid in 2D UI layout
-+ Easy to use Animation framework
-+ Automatic background loading of resources ( images / text / meshes )
-+ Runs all animations in a seperate thread. This helps maintain 60 FPS even if JavaScript is performing a long operation ( e.g. Garbage Collection ).
-+ Provides keyboard / touch / mouse handling
-
-![ ](screen-shot.png)
-
-## Introduction
-- \link fundamentals Dali Fundamentals \endlink
-- \link dali-application Dali Application and Adaptor \endlink
-- \link hello-world Hello World - explained \endlink
-- \link handle-body-idiom Handle – body idiom \endlink
-
-## Actors
- - \link image-mesh-actor Image, Text and Mesh actors \endlink
- - \link event-system Event Handling \endlink
- - \link custom-actor Custom Actor \endlink
-
- ## ShaderEffects
- - \link shader-intro Shader Effects\endlink
-
- ## Animation
- - \link animation-example Example and Usage\endlink
- - \link animation-rotation Rotation with quaternions \endlink
- - \link animation-shader Shader Animation \endlink
- - \link animation-multi-threading-notes Multi-threading Notes \endlink
-
- ## Constraints
- - \link constraints Introduction to Constraints \endlink
-
-## Size Negotation
- - \link size-negotiation Size Negotiation \endlink
-
- ## UI Controls
- - \link scroll-view Scroll View \endlink
- - \link size-negotiation-controls Size Negotiation for Controls \endlink
- - \link type-registration Type Registration \endlink
- - \link properties Properties \endlink
- - \link background Background \endlink
-
- ## Dynamics
- - \link dynamics-intro Introduction to Dynamics\endlink
- - \link dynamics-initialization Initializing the Simulation\endlink
- - \link dynamics-bodies Bodies - adding and controlling dynamic objects \endlink
- - \link dynamics-joints Joints - linking objects\endlink
- - \link dynamics-collisions Collision Detection and Filtering\endlink
-
- ## Scripting
- - \link scriptoverview.html JSON and JavaScript Overview \endlink
- - \link javascriptwrapping.html JavaScript Wrapping Guide for DALi developers\endlink
- - \link script-hello Hello World in script \endlink
-
- ## Rendering
- - \link viewing-modes Viewing modes \endlink
-
- ## Profiling
- - \link performanceprofiling.html Performance Profiling \endlink
- - \link resourcetracking.html Resource Tracking \endlink
-
- ## Performance
- - \link performancetips.html Performance Tips \endlink
- - \link textureatlases.html Texture Atlases  \endlink
- - \link texturecompression.html Compressing Textures \endlink
-
-## Testing
- See [Automated Tests](@ref auto_testing) for instructions.
-
-
-## Modifying this documentation
-- \link documentationguide.html Modifying this documentation \endlink
-
+# DALi Introduction
+
+### Introduction
+ + [What is DALi?](@ref dali-introduction)
+ + [Features](@ref dali-features)
+ + [High Level Design](@ref dali-hld)
+  + [Components](@ref dali-components)
+  + [Main, Update & Render Threads](@ref dali-threads)
+ + [DALi Fundamentals](@ref fundamentals)
+  + [Actors & Stage](@ref actors-and-stage)
+  + [Coordinate System](@ref coordinate-system)
+  + Units & the Default Camera (default unit 1 is 1 pixel with default camera)
+  + [Handle / Body Idiom](@ref handle-body-idiom)
+  + Signals
+  + [Properties](@ref properties)
+  + Actions
+ + Tutorial
+  + [Hello World](@ref hello-world)
+
+### Getting Started
+ + How to build DALi on Ubuntu Desktop
+
+### Programming Guide
+ + [Programming Languages:](@ref programming-languages)
+  + [C++](@ref c-plus-plus)
+  + [JavaScript](@ref java-script-support)
+  + [JSON](@ref json-support)
+ + [Application](@ref dali-application)
+ + Actors
+  + [Positioning](@ref positioning-actors)
+  + [Event Handling](@ref event-system)
+  + [Layouting](@ref size-negotiation)
+  + [Image Actor](@ref image-actor)
+ + Animation
+  + AnimateTo
+  + AnimateBy
+  + Key Frame Animations
+  + Path Animations
+  + [Constraints](@ref constraints)
+   + Equal To Constraint
+   + Relative To Constraint
+   + Linear Constrainer
+   + Path Constrainer
+  + [Multi-threading Notes](@ref animation-multi-threading-notes)
+  + [Shader Animation](@ref animation-shader)
+  + [Example and Usage](@ref animation-example)
+  + [Rotation with quaternions](@ref animation-rotation)
+
+### Resources
+ + Resource Image
+ + 9 Patch Image
+ + Buffer Image
+
+### Control Base Class
+ + [Background Feature](@ref background)
+ + Keyboard Focus
+ + Accessibility
+
+### UI Controls
+ + [Text Label](@ref text-label)
+ + TextEntry
+ + Buttons
+ + TableView
+ + [Scroll View](@ref scroll-view)
+ + ItemView
+
+### RenderTasks
+
+### Shader Effects
+ + [Overview](@ref shader-intro)
+
+### Scripting
+ + [JSON and JavaScript Overview](@ref scriptoverview)
+ + [JSON Syntax](@ref script-json-specification)
+ + [Scripting Hello World](@ref script-hello)
+
+### Tools
+ + Environment Variables
+ + [Resource Tracking](@ref resourcetracking)
+ + Logging
+ + GUI Builder
+ + Stagehand
+
+### Viewing Modes
+ + [Overview](@ref viewing-modes)
+
+### Extending DALi
+ + Control Base Class Services
+ + How to write Custom UI Controls
+  + [Size Negotiation for Controls](@ref size-negotiation-controls)
+  + [Type Registration](@ref type-registration)
+  + How to make Controls Scriptable
+ + [Automated Tests](@ref auto_testing)
+ + [Programming Guide](@ref documentationguide)
+ + [JavaScript Wrapping Guide for DALi developers](@ref javascriptwrapping)
+
+### Application Optimization Guide
+ + [Texture Atlases](@ref textureatlases)
+ + [Texture Compression](@ref texturecompression)
+ + Performance & Debugging
+ + [Performance Tips](@ref performancetips)
+ + [Performance Profiling](@ref performanceprofiling)