(Programming Guide) Initial chapter on creating a custom control
[platform/core/uifw/dali-toolkit.git] / docs / content / main.md
index 54bff7c..2a9fd0b 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
- - \link script-json-specification JSON Specification\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)
+  + [Scene Graph](@ref scene-graph)
+  + [Handle / Body Idiom](@ref handle-body-idiom)
+  + [Signals](@ref signals)
+  + [Properties](@ref properties)
+  + [Actions](@ref actions)
+ + [Tutorial: Hello World](@ref hello-world)
+
+### Getting Started
+ + [How to build DALi on Ubuntu Desktop](@ref build-ubuntu)
+
+### 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](@ref actors-and-stage)
+  + [Positioning](@ref positioning-actors)
+  + [Event Handling](@ref event-system)
+  + [Layouting](@ref size-negotiation)
+  + [Image Actor](@ref image-actor)
+  + [Image View](@ref image-view)
+ + [Animation](@ref animation)
+  + [Basic Framework](@ref animation-basics)
+  + [Key Frame Animations](@ref animation-key-frame)
+  + [Path Animations](@ref animation-paths)
+  + [Constraints](@ref constraints)
+   + [Equal To Constraint](@ref constraints-equal-to)
+   + [Relative To Constraint](@ref constraints-relative-to)
+  + [Multi-threading Notes](@ref animation-multi-threading-notes)
+  + [Shader Animation](@ref animation-shader)
+  + [Styling](@ref styling)
+
+### Resources
+ + [Resource Image](@ref resource-image)
+ + [9 Patch Image](@ref resource-9-patch)
+ + [Buffer Image](@ref resource-buffer)
+
+### Control Base Class & Renderers
+ + [Background Feature](@ref background)
+ + Keyboard Focus
+ + [Accessibility](@ref accessibility)
+ + [Control Renderers](@ref control-renderers)
+
+### UI Components
+ + Buttons
+ + [ItemView](@ref item-view)
+ + [Popup](@ref popup)
+ + [Scroll View](@ref scroll-view)
+ + TableView
+ + [Text Editor](@ref text-editor)
+ + [Text Field](@ref text-field)
+ + [Text Label](@ref text-label)
+
+### 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
+ + [Debug Renderer](@ref debugrenderer)
+ + [Stagehand - DALi Visual Debugger](@ref stagehand)
+
+### Viewing Modes
+ + [Overview](@ref viewing-modes)
+
+### Extending DALi
+ + [How to write Custom UI Components](@ref creating-custom-controls)
+  + [Size Negotiation for Controls](@ref size-negotiation-controls)
+  + [Type Registration](@ref type-registration)
+ + [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)
+ + [Rescaling Images](@ref resourceimagescaling)
+ + Performance & Debugging
+ + [Performance Tips](@ref performancetips)
+ + [Performance Profiling](@ref performanceprofiling)