Commit a97c94ece473b511a7ee02acbb729a59e6ba7aa2

Authored by Kingsley Stephens
2 parents e47588a2 11edf9dc

[dali_1.0.37] Merge branch 'tizen'

Change-Id: Ibae4f16083c08db218e766a8707b40548f5d6a95
Showing 67 changed files with 2287 additions and 2501 deletions
.gitignore
@@ -35,3 +35,4 @@ dali-builder @@ -35,3 +35,4 @@ dali-builder
35 *.creator.user 35 *.creator.user
36 /build/desktop 36 /build/desktop
37 /packaging/home* 37 /packaging/home*
  38 +*.mo
build/tizen/CMakeLists.txt
@@ -20,15 +20,27 @@ SET(RESOURCE_DIR ${ROOT_SRC_DIR}/resources) @@ -20,15 +20,27 @@ SET(RESOURCE_DIR ${ROOT_SRC_DIR}/resources)
20 SET(LOCAL_IMAGES_DIR ${RESOURCE_DIR}/images) 20 SET(LOCAL_IMAGES_DIR ${RESOURCE_DIR}/images)
21 SET(LOCAL_MODELS_DIR ${RESOURCE_DIR}/models) 21 SET(LOCAL_MODELS_DIR ${RESOURCE_DIR}/models)
22 SET(LOCAL_SCRIPTS_DIR ${RESOURCE_DIR}/scripts) 22 SET(LOCAL_SCRIPTS_DIR ${RESOURCE_DIR}/scripts)
  23 +IF(NOT DEFINED LOCAL_STYLE_DIR)
  24 + SET(LOCAL_STYLE_DIR ${RESOURCE_DIR}/style)
  25 +ENDIF()
23 26
24 SET(IMAGES_DIR ${APP_DATA_DIR}/images/) 27 SET(IMAGES_DIR ${APP_DATA_DIR}/images/)
25 SET(MODELS_DIR ${APP_DATA_DIR}/models/) 28 SET(MODELS_DIR ${APP_DATA_DIR}/models/)
26 SET(SCRIPTS_DIR ${APP_DATA_DIR}/scripts/) 29 SET(SCRIPTS_DIR ${APP_DATA_DIR}/scripts/)
  30 +SET(STYLE_DIR ${APP_DATA_DIR}/style/)
  31 +
  32 +IF(NOT DEFINED LOCALE_DIR)
  33 + SET(LOCALE_DIR ${PREFIX}/share/locale)
  34 +ENDIF()
27 35
28 SET(DALI_IMAGE_DIR \\"${IMAGES_DIR}\\") 36 SET(DALI_IMAGE_DIR \\"${IMAGES_DIR}\\")
29 SET(DALI_MODEL_DIR \\"${MODELS_DIR}\\") 37 SET(DALI_MODEL_DIR \\"${MODELS_DIR}\\")
30 SET(DALI_SCRIPT_DIR \\"${SCRIPTS_DIR}\\") 38 SET(DALI_SCRIPT_DIR \\"${SCRIPTS_DIR}\\")
  39 +SET(DALI_STYLE_DIR \\"${STYLE_DIR}\\")
  40 +SET(DALI_DEMO_THEME_PATH \\"${STYLE_DIR}/demo-theme.json\\")
31 SET(DALI_EXAMPLE_BIN \\"${BINDIR}/\\") 41 SET(DALI_EXAMPLE_BIN \\"${BINDIR}/\\")
  42 +SET(DALI_LOCALE_DIR \\"${LOCALE_DIR}\\")
  43 +SET(DALI_LANG \\"${LANG}\\")
32 44
33 FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png") 45 FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png")
34 FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg") 46 FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg")
@@ -52,6 +64,8 @@ FOREACH(flag ${LOCAL_SCRIPTS_LIST}) @@ -52,6 +64,8 @@ FOREACH(flag ${LOCAL_SCRIPTS_LIST})
52 INSTALL(FILES ${LOCAL_SCRIPTS_DIR}/${flag} DESTINATION ${SCRIPTS_DIR}) 64 INSTALL(FILES ${LOCAL_SCRIPTS_DIR}/${flag} DESTINATION ${SCRIPTS_DIR})
53 ENDFOREACH(flag) 65 ENDFOREACH(flag)
54 66
  67 +INSTALL(FILES ${LOCAL_STYLE_DIR}/demo-theme.json DESTINATION ${STYLE_DIR})
  68 +
55 SET(PKG_LIST dali 69 SET(PKG_LIST dali
56 dali-toolkit) 70 dali-toolkit)
57 71
@@ -62,7 +76,7 @@ FOREACH(flag ${REQUIRED_PKGS_CFLAGS}) @@ -62,7 +76,7 @@ FOREACH(flag ${REQUIRED_PKGS_CFLAGS})
62 SET(REQUIRED_CFLAGS "${REQUIRED_CFLAGS} ${flag}") 76 SET(REQUIRED_CFLAGS "${REQUIRED_CFLAGS} ${flag}")
63 ENDFOREACH(flag) 77 ENDFOREACH(flag)
64 78
65 -SET(DALI_DEMO_CFLAGS "-DDALI_IMAGE_DIR=${DALI_IMAGE_DIR} -DDALI_MODEL_DIR=${DALI_MODEL_DIR} -DDALI_SCRIPT_DIR=${DALI_SCRIPT_DIR} -DDALI_EXAMPLE_BIN=${DALI_EXAMPLE_BIN} -fvisibility=hidden -DHIDE_DALI_INTERNALS") 79 +SET(DALI_DEMO_CFLAGS "-DDALI_IMAGE_DIR=${DALI_IMAGE_DIR} -DDALI_MODEL_DIR=${DALI_MODEL_DIR} -DDALI_SCRIPT_DIR=${DALI_SCRIPT_DIR} -DDALI_DEMO_THEME_PATH=${DALI_DEMO_THEME_PATH} -DDALI_EXAMPLE_BIN=${DALI_EXAMPLE_BIN} -DDALI_LOCALE_DIR=${DALI_LOCALE_DIR} -fvisibility=hidden -DHIDE_DALI_INTERNALS -DDALI_LANG=${DALI_LANG}")
66 80
67 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${REQUIRED_CFLAGS} ${DALI_DEMO_CFLAGS} -Werror -Wall") 81 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${REQUIRED_CFLAGS} ${DALI_DEMO_CFLAGS} -Werror -Wall")
68 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") 82 SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
build/tizen/demo/CMakeLists.txt
@@ -6,3 +6,27 @@ ADD_EXECUTABLE(${PROJECT_NAME} ${DEMO_SRCS}) @@ -6,3 +6,27 @@ ADD_EXECUTABLE(${PROJECT_NAME} ${DEMO_SRCS})
6 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${REQUIRED_PKGS_LDFLAGS}) 6 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${REQUIRED_PKGS_LDFLAGS})
7 7
8 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) 8 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
  9 +
  10 +# Internationalization
  11 +
  12 +SET(PO_DIR ${DEMO_SRC_DIR}/po)
  13 +
  14 +FILE(GLOB PO_FILES RELATIVE "${PO_DIR}" "${PO_DIR}/*.po")
  15 +
  16 +SET(MSGFMT "/usr/bin/msgfmt")
  17 +
  18 +FOREACH(PO_FILE ${PO_FILES})
  19 + SET(PO_FILE ${PO_DIR}/${PO_FILE})
  20 + MESSAGE("PO: ${PO_FILE}")
  21 + GET_FILENAME_COMPONENT(ABS_PO_FILE ${PO_FILE} ABSOLUTE)
  22 + GET_FILENAME_COMPONENT(lang ${ABS_PO_FILE} NAME_WE)
  23 + SET(MO_FILE ${PO_DIR}/${lang}.mo)
  24 + ADD_CUSTOM_COMMAND(OUTPUT ${MO_FILE}
  25 + COMMAND ${MSGFMT} -o ${MO_FILE} ${ABS_PO_FILE}
  26 + DEPENDS ${ABS_PO_FILE})
  27 + INSTALL(FILES ${MO_FILE} DESTINATION ${LOCALE_DIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
  28 + SET(MO_FILES ${MO_FILES} ${MO_FILE})
  29 +ENDFOREACH(PO_FILE)
  30 +
  31 +MESSAGE(".mo files: ${MO_FILES}")
  32 +ADD_CUSTOM_TARGET(po ALL DEPENDS ${MO_FILES})
build/tizen/docs/.gitignore deleted
1 -doxygen-errors.txt  
build/tizen/docs/dali.doxy.in deleted
1 -# Doxyfile 1.5.8  
2 -  
3 -# This file describes the settings to be used by the documentation system  
4 -# doxygen (www.doxygen.org) for a project  
5 -#  
6 -# All text after a hash (#) is considered a comment and will be ignored  
7 -# The format is:  
8 -# TAG = value [value, ...]  
9 -# For lists items can also be appended using:  
10 -# TAG += value [value, ...]  
11 -# Values that contain spaces should be placed between quotes (" ")  
12 -  
13 -#---------------------------------------------------------------------------  
14 -# Project related configuration options  
15 -#---------------------------------------------------------------------------  
16 -  
17 -# This tag specifies the encoding used for all characters in the config file  
18 -# that follow. The default is UTF-8 which is also the encoding used for all  
19 -# text before the first occurrence of this tag. Doxygen uses libiconv (or the  
20 -# iconv built into libc) for the transcoding. See  
21 -# http://www.gnu.org/software/libiconv for the list of possible encodings.  
22 -  
23 -DOXYFILE_ENCODING = UTF-8  
24 -  
25 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded  
26 -# by quotes) that should identify the project.  
27 -  
28 -PROJECT_NAME = Dali  
29 -  
30 -# The PROJECT_NUMBER tag can be used to enter a project or revision number.  
31 -# This could be handy for archiving the generated documentation or  
32 -# if some version control system is used.  
33 -  
34 -PROJECT_NUMBER =  
35 -  
36 -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)  
37 -# base path where the generated documentation will be put.  
38 -# If a relative path is entered, it will be relative to the location  
39 -# where doxygen was started. If left blank the current directory will be used.  
40 -  
41 -OUTPUT_DIRECTORY = @DOXYGEN_DOCS_DIR@/generated  
42 -  
43 -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create  
44 -# 4096 sub-directories (in 2 levels) under the output directory of each output  
45 -# format and will distribute the generated files over these directories.  
46 -# Enabling this option can be useful when feeding doxygen a huge amount of  
47 -# source files, where putting all generated files in the same directory would  
48 -# otherwise cause performance problems for the file system.  
49 -  
50 -CREATE_SUBDIRS = NO  
51 -  
52 -# The OUTPUT_LANGUAGE tag is used to specify the language in which all  
53 -# documentation generated by doxygen is written. Doxygen will use this  
54 -# information to generate all constant output in the proper language.  
55 -# The default language is English, other supported languages are:  
56 -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,  
57 -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,  
58 -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),  
59 -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,  
60 -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,  
61 -# Spanish, Swedish, and Ukrainian.  
62 -  
63 -OUTPUT_LANGUAGE = English  
64 -  
65 -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will  
66 -# include brief member descriptions after the members that are listed in  
67 -# the file and class documentation (similar to JavaDoc).  
68 -# Set to NO to disable this.  
69 -  
70 -BRIEF_MEMBER_DESC = YES  
71 -  
72 -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend  
73 -# the brief description of a member or function before the detailed description.  
74 -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the  
75 -# brief descriptions will be completely suppressed.  
76 -  
77 -REPEAT_BRIEF = YES  
78 -  
79 -# This tag implements a quasi-intelligent brief description abbreviator  
80 -# that is used to form the text in various listings. Each string  
81 -# in this list, if found as the leading text of the brief description, will be  
82 -# stripped from the text and the result after processing the whole list, is  
83 -# used as the annotated text. Otherwise, the brief description is used as-is.  
84 -# If left blank, the following values are used ("$name" is automatically  
85 -# replaced with the name of the entity): "The $name class" "The $name widget"  
86 -# "The $name file" "is" "provides" "specifies" "contains"  
87 -# "represents" "a" "an" "the"  
88 -  
89 -ABBREVIATE_BRIEF = "The $name class" \  
90 - "The $name widget" \  
91 - "The $name file" \  
92 - is \  
93 - provides \  
94 - specifies \  
95 - contains \  
96 - represents \  
97 - a \  
98 - an \  
99 - the  
100 -  
101 -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then  
102 -# Doxygen will generate a detailed section even if there is only a brief  
103 -# description.  
104 -  
105 -ALWAYS_DETAILED_SEC = NO  
106 -  
107 -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all  
108 -# inherited members of a class in the documentation of that class as if those  
109 -# members were ordinary class members. Constructors, destructors and assignment  
110 -# operators of the base classes will not be shown.  
111 -  
112 -INLINE_INHERITED_MEMB = NO  
113 -  
114 -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full  
115 -# path before files name in the file list and in the header files. If set  
116 -# to NO the shortest path that makes the file name unique will be used.  
117 -  
118 -FULL_PATH_NAMES = YES  
119 -  
120 -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag  
121 -# can be used to strip a user-defined part of the path. Stripping is  
122 -# only done if one of the specified strings matches the left-hand part of  
123 -# the path. The tag can be used to show relative paths in the file list.  
124 -# If left blank the directory from which doxygen is run is used as the  
125 -# path to strip.  
126 -  
127 -STRIP_FROM_PATH = .  
128 -  
129 -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of  
130 -# the path mentioned in the documentation of a class, which tells  
131 -# the reader which header file to include in order to use a class.  
132 -# If left blank only the name of the header file containing the class  
133 -# definition is used. Otherwise one should specify the include paths that  
134 -# are normally passed to the compiler using the -I flag.  
135 -  
136 -STRIP_FROM_INC_PATH =  
137 -  
138 -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter  
139 -# (but less readable) file names. This can be useful is your file systems  
140 -# doesn't support long names like on DOS, Mac, or CD-ROM.  
141 -  
142 -SHORT_NAMES = NO  
143 -  
144 -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen  
145 -# will interpret the first line (until the first dot) of a JavaDoc-style  
146 -# comment as the brief description. If set to NO, the JavaDoc  
147 -# comments will behave just like regular Qt-style comments  
148 -# (thus requiring an explicit @brief command for a brief description.)  
149 -  
150 -JAVADOC_AUTOBRIEF = YES  
151 -  
152 -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will  
153 -# interpret the first line (until the first dot) of a Qt-style  
154 -# comment as the brief description. If set to NO, the comments  
155 -# will behave just like regular Qt-style comments (thus requiring  
156 -# an explicit \brief command for a brief description.)  
157 -  
158 -QT_AUTOBRIEF = NO  
159 -  
160 -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen  
161 -# treat a multi-line C++ special comment block (i.e. a block of //! or ///  
162 -# comments) as a brief description. This used to be the default behaviour.  
163 -# The new default is to treat a multi-line C++ comment block as a detailed  
164 -# description. Set this tag to YES if you prefer the old behaviour instead.  
165 -  
166 -MULTILINE_CPP_IS_BRIEF = NO  
167 -  
168 -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented  
169 -# member inherits the documentation from any documented member that it  
170 -# re-implements.  
171 -  
172 -INHERIT_DOCS = YES  
173 -  
174 -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce  
175 -# a new page for each member. If set to NO, the documentation of a member will  
176 -# be part of the file/class/namespace that contains it.  
177 -  
178 -SEPARATE_MEMBER_PAGES = NO  
179 -  
180 -# The TAB_SIZE tag can be used to set the number of spaces in a tab.  
181 -# Doxygen uses this value to replace tabs by spaces in code fragments.  
182 -  
183 -TAB_SIZE = 2  
184 -  
185 -# This tag can be used to specify a number of aliases that acts  
186 -# as commands in the documentation. An alias has the form "name=value".  
187 -# For example adding "sideeffect=\par Side Effects:\n" will allow you to  
188 -# put the command \sideeffect (or @sideeffect) in the documentation, which  
189 -# will result in a user-defined paragraph with heading "Side Effects:".  
190 -# You can put \n's in the value part of an alias to insert newlines.  
191 -  
192 -ALIASES =  
193 -  
194 -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C  
195 -# sources only. Doxygen will then generate output that is more tailored for C.  
196 -# For instance, some of the names that are used will be different. The list  
197 -# of all members will be omitted, etc.  
198 -  
199 -OPTIMIZE_OUTPUT_FOR_C = NO  
200 -  
201 -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java  
202 -# sources only. Doxygen will then generate output that is more tailored for  
203 -# Java. For instance, namespaces will be presented as packages, qualified  
204 -# scopes will look different, etc.  
205 -  
206 -OPTIMIZE_OUTPUT_JAVA = NO  
207 -  
208 -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran  
209 -# sources only. Doxygen will then generate output that is more tailored for  
210 -# Fortran.  
211 -  
212 -OPTIMIZE_FOR_FORTRAN = NO  
213 -  
214 -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL  
215 -# sources. Doxygen will then generate output that is tailored for  
216 -# VHDL.  
217 -  
218 -OPTIMIZE_OUTPUT_VHDL = NO  
219 -  
220 -# Doxygen selects the parser to use depending on the extension of the files it parses.  
221 -# With this tag you can assign which parser to use for a given extension.  
222 -# Doxygen has a built-in mapping, but you can override or extend it using this tag.  
223 -# The format is ext=language, where ext is a file extension, and language is one of  
224 -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,  
225 -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat  
226 -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),  
227 -# use: inc=Fortran f=C  
228 -  
229 -EXTENSION_MAPPING =  
230 -  
231 -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want  
232 -# to include (a tag file for) the STL sources as input, then you should  
233 -# set this tag to YES in order to let doxygen match functions declarations and  
234 -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.  
235 -# func(std::string) {}). This also make the inheritance and collaboration  
236 -# diagrams that involve STL classes more complete and accurate.  
237 -  
238 -BUILTIN_STL_SUPPORT = YES  
239 -  
240 -# If you use Microsoft's C++/CLI language, you should set this option to YES to  
241 -# enable parsing support.  
242 -  
243 -CPP_CLI_SUPPORT = NO  
244 -  
245 -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.  
246 -# Doxygen will parse them like normal C++ but will assume all classes use public  
247 -# instead of private inheritance when no explicit protection keyword is present.  
248 -  
249 -SIP_SUPPORT = NO  
250 -  
251 -# For Microsoft's IDL there are propget and propput attributes to indicate getter  
252 -# and setter methods for a property. Setting this option to YES (the default)  
253 -# will make doxygen to replace the get and set methods by a property in the  
254 -# documentation. This will only work if the methods are indeed getting or  
255 -# setting a simple type. If this is not the case, or you want to show the  
256 -# methods anyway, you should set this option to NO.  
257 -  
258 -IDL_PROPERTY_SUPPORT = YES  
259 -  
260 -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC  
261 -# tag is set to YES, then doxygen will reuse the documentation of the first  
262 -# member in the group (if any) for the other members of the group. By default  
263 -# all members of a group must be documented explicitly.  
264 -  
265 -DISTRIBUTE_GROUP_DOC = NO  
266 -  
267 -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of  
268 -# the same type (for instance a group of public functions) to be put as a  
269 -# subgroup of that type (e.g. under the Public Functions section). Set it to  
270 -# NO to prevent subgrouping. Alternatively, this can be done per class using  
271 -# the \nosubgrouping command.  
272 -  
273 -SUBGROUPING = YES  
274 -  
275 -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum  
276 -# is documented as struct, union, or enum with the name of the typedef. So  
277 -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct  
278 -# with name TypeT. When disabled the typedef will appear as a member of a file,  
279 -# namespace, or class. And the struct will be named TypeS. This can typically  
280 -# be useful for C code in case the coding convention dictates that all compound  
281 -# types are typedef'ed and only the typedef is referenced, never the tag name.  
282 -  
283 -TYPEDEF_HIDES_STRUCT = NO  
284 -  
285 -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to  
286 -# determine which symbols to keep in memory and which to flush to disk.  
287 -# When the cache is full, less often used symbols will be written to disk.  
288 -# For small to medium size projects (<1000 input files) the default value is  
289 -# probably good enough. For larger projects a too small cache size can cause  
290 -# doxygen to be busy swapping symbols to and from disk most of the time  
291 -# causing a significant performance penality.  
292 -# If the system has enough physical memory increasing the cache will improve the  
293 -# performance by keeping more symbols in memory. Note that the value works on  
294 -# a logarithmic scale so increasing the size by one will rougly double the  
295 -# memory usage. The cache size is given by this formula:  
296 -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,  
297 -# corresponding to a cache size of 2^16 = 65536 symbols  
298 -  
299 -SYMBOL_CACHE_SIZE = 0  
300 -  
301 -#---------------------------------------------------------------------------  
302 -# Build related configuration options  
303 -#---------------------------------------------------------------------------  
304 -  
305 -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in  
306 -# documentation are documented, even if no documentation was available.  
307 -# Private class members and static file members will be hidden unless  
308 -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES  
309 -  
310 -EXTRACT_ALL = YES  
311 -  
312 -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class  
313 -# will be included in the documentation.  
314 -  
315 -EXTRACT_PRIVATE = YES  
316 -  
317 -# If the EXTRACT_STATIC tag is set to YES all static members of a file  
318 -# will be included in the documentation.  
319 -  
320 -EXTRACT_STATIC = YES  
321 -  
322 -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)  
323 -# defined locally in source files will be included in the documentation.  
324 -# If set to NO only classes defined in header files are included.  
325 -  
326 -EXTRACT_LOCAL_CLASSES = YES  
327 -  
328 -# This flag is only useful for Objective-C code. When set to YES local  
329 -# methods, which are defined in the implementation section but not in  
330 -# the interface are included in the documentation.  
331 -# If set to NO (the default) only methods in the interface are included.  
332 -  
333 -EXTRACT_LOCAL_METHODS = NO  
334 -  
335 -# If this flag is set to YES, the members of anonymous namespaces will be  
336 -# extracted and appear in the documentation as a namespace called  
337 -# 'anonymous_namespace{file}', where file will be replaced with the base  
338 -# name of the file that contains the anonymous namespace. By default  
339 -# anonymous namespace are hidden.  
340 -  
341 -EXTRACT_ANON_NSPACES = NO  
342 -  
343 -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all  
344 -# undocumented members of documented classes, files or namespaces.  
345 -# If set to NO (the default) these members will be included in the  
346 -# various overviews, but no documentation section is generated.  
347 -# This option has no effect if EXTRACT_ALL is enabled.  
348 -  
349 -HIDE_UNDOC_MEMBERS = NO  
350 -  
351 -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all  
352 -# undocumented classes that are normally visible in the class hierarchy.  
353 -# If set to NO (the default) these classes will be included in the various  
354 -# overviews. This option has no effect if EXTRACT_ALL is enabled.  
355 -  
356 -HIDE_UNDOC_CLASSES = NO  
357 -  
358 -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all  
359 -# friend (class|struct|union) declarations.  
360 -# If set to NO (the default) these declarations will be included in the  
361 -# documentation.  
362 -  
363 -HIDE_FRIEND_COMPOUNDS = NO  
364 -  
365 -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any  
366 -# documentation blocks found inside the body of a function.  
367 -# If set to NO (the default) these blocks will be appended to the  
368 -# function's detailed documentation block.  
369 -  
370 -HIDE_IN_BODY_DOCS = NO  
371 -  
372 -# The INTERNAL_DOCS tag determines if documentation  
373 -# that is typed after a \internal command is included. If the tag is set  
374 -# to NO (the default) then the documentation will be excluded.  
375 -# Set it to YES to include the internal documentation.  
376 -  
377 -INTERNAL_DOCS = NO  
378 -  
379 -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate  
380 -# file names in lower-case letters. If set to YES upper-case letters are also  
381 -# allowed. This is useful if you have classes or files whose names only differ  
382 -# in case and if your file system supports case sensitive file names. Windows  
383 -# and Mac users are advised to set this option to NO.  
384 -  
385 -CASE_SENSE_NAMES = NO  
386 -  
387 -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen  
388 -# will show members with their full class and namespace scopes in the  
389 -# documentation. If set to YES the scope will be hidden.  
390 -  
391 -HIDE_SCOPE_NAMES = NO  
392 -  
393 -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen  
394 -# will put a list of the files that are included by a file in the documentation  
395 -# of that file.  
396 -  
397 -SHOW_INCLUDE_FILES = YES  
398 -  
399 -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]  
400 -# is inserted in the documentation for inline members.  
401 -  
402 -INLINE_INFO = YES  
403 -  
404 -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen  
405 -# will sort the (detailed) documentation of file and class members  
406 -# alphabetically by member name. If set to NO the members will appear in  
407 -# declaration order.  
408 -  
409 -SORT_MEMBER_DOCS = YES  
410 -  
411 -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the  
412 -# brief documentation of file, namespace and class members alphabetically  
413 -# by member name. If set to NO (the default) the members will appear in  
414 -# declaration order.  
415 -  
416 -SORT_BRIEF_DOCS = NO  
417 -  
418 -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the  
419 -# hierarchy of group names into alphabetical order. If set to NO (the default)  
420 -# the group names will appear in their defined order.  
421 -  
422 -SORT_GROUP_NAMES = NO  
423 -  
424 -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be  
425 -# sorted by fully-qualified names, including namespaces. If set to  
426 -# NO (the default), the class list will be sorted only by class name,  
427 -# not including the namespace part.  
428 -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.  
429 -# Note: This option applies only to the class list, not to the  
430 -# alphabetical list.  
431 -  
432 -SORT_BY_SCOPE_NAME = NO  
433 -  
434 -# The GENERATE_TODOLIST tag can be used to enable (YES) or  
435 -# disable (NO) the todo list. This list is created by putting \todo  
436 -# commands in the documentation.  
437 -  
438 -GENERATE_TODOLIST = NO  
439 -  
440 -# The GENERATE_TESTLIST tag can be used to enable (YES) or  
441 -# disable (NO) the test list. This list is created by putting \test  
442 -# commands in the documentation.  
443 -  
444 -GENERATE_TESTLIST = NO  
445 -  
446 -# The GENERATE_BUGLIST tag can be used to enable (YES) or  
447 -# disable (NO) the bug list. This list is created by putting \bug  
448 -# commands in the documentation.  
449 -  
450 -GENERATE_BUGLIST = NO  
451 -  
452 -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or  
453 -# disable (NO) the deprecated list. This list is created by putting  
454 -# \deprecated commands in the documentation.  
455 -  
456 -GENERATE_DEPRECATEDLIST= YES  
457 -  
458 -# The ENABLED_SECTIONS tag can be used to enable conditional  
459 -# documentation sections, marked by \if sectionname ... \endif.  
460 -  
461 -ENABLED_SECTIONS =  
462 -  
463 -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines  
464 -# the initial value of a variable or define consists of for it to appear in  
465 -# the documentation. If the initializer consists of more lines than specified  
466 -# here it will be hidden. Use a value of 0 to hide initializers completely.  
467 -# The appearance of the initializer of individual variables and defines in the  
468 -# documentation can be controlled using \showinitializer or \hideinitializer  
469 -# command in the documentation regardless of this setting.  
470 -  
471 -MAX_INITIALIZER_LINES = 30  
472 -  
473 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated  
474 -# at the bottom of the documentation of classes and structs. If set to YES the  
475 -# list will mention the files that were used to generate the documentation.  
476 -  
477 -SHOW_USED_FILES = YES  
478 -  
479 -# If the sources in your project are distributed over multiple directories  
480 -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy  
481 -# in the documentation. The default is NO.  
482 -  
483 -SHOW_DIRECTORIES = YES  
484 -  
485 -# Set the SHOW_FILES tag to NO to disable the generation of the Files page.  
486 -# This will remove the Files entry from the Quick Index and from the  
487 -# Folder Tree View (if specified). The default is YES.  
488 -  
489 -SHOW_FILES = YES  
490 -  
491 -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the  
492 -# Namespaces page. This will remove the Namespaces entry from the Quick Index  
493 -# and from the Folder Tree View (if specified). The default is YES.  
494 -  
495 -SHOW_NAMESPACES = YES  
496 -  
497 -# The FILE_VERSION_FILTER tag can be used to specify a program or script that  
498 -# doxygen should invoke to get the current version for each file (typically from  
499 -# the version control system). Doxygen will invoke the program by executing (via  
500 -# popen()) the command <command> <input-file>, where <command> is the value of  
501 -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file  
502 -# provided by doxygen. Whatever the program writes to standard output  
503 -# is used as the file version. See the manual for examples.  
504 -  
505 -FILE_VERSION_FILTER =  
506 -  
507 -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by  
508 -# doxygen. The layout file controls the global structure of the generated output files  
509 -# in an output format independent way. The create the layout file that represents  
510 -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a  
511 -# file name after the option, if omitted DoxygenLayout.xml will be used as the name  
512 -# of the layout file.  
513 -  
514 -LAYOUT_FILE = @DOXYGEN_DOCS_DIR@/DaliLayout.xml  
515 -  
516 -#---------------------------------------------------------------------------  
517 -# configuration options related to warning and progress messages  
518 -#---------------------------------------------------------------------------  
519 -  
520 -# The QUIET tag can be used to turn on/off the messages that are generated  
521 -# by doxygen. Possible values are YES and NO. If left blank NO is used.  
522 -  
523 -QUIET = YES  
524 -  
525 -# The WARNINGS tag can be used to turn on/off the warning messages that are  
526 -# generated by doxygen. Possible values are YES and NO. If left blank  
527 -# NO is used.  
528 -  
529 -WARNINGS = YES  
530 -  
531 -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings  
532 -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will  
533 -# automatically be disabled.  
534 -  
535 -WARN_IF_UNDOCUMENTED = YES  
536 -  
537 -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for  
538 -# potential errors in the documentation, such as not documenting some  
539 -# parameters in a documented function, or documenting parameters that  
540 -# don't exist or using markup commands wrongly.  
541 -  
542 -WARN_IF_DOC_ERROR = YES  
543 -  
544 -# This WARN_NO_PARAMDOC option can be abled to get warnings for  
545 -# functions that are documented, but have no documentation for their parameters  
546 -# or return value. If set to NO (the default) doxygen will only warn about  
547 -# wrong or incomplete parameter documentation, but not about the absence of  
548 -# documentation.  
549 -  
550 -WARN_NO_PARAMDOC = YES  
551 -  
552 -# The WARN_FORMAT tag determines the format of the warning messages that  
553 -# doxygen can produce. The string should contain the $file, $line, and $text  
554 -# tags, which will be replaced by the file and line number from which the  
555 -# warning originated and the warning text. Optionally the format may contain  
556 -# $version, which will be replaced by the version of the file (if it could  
557 -# be obtained via FILE_VERSION_FILTER)  
558 -  
559 -WARN_FORMAT = "$file:$line: $text"  
560 -  
561 -# The WARN_LOGFILE tag can be used to specify a file to which warning  
562 -# and error messages should be written. If left blank the output is written  
563 -# to stderr.  
564 -  
565 -WARN_LOGFILE =  
566 -  
567 -#---------------------------------------------------------------------------  
568 -# configuration options related to the input files  
569 -#---------------------------------------------------------------------------  
570 -  
571 -# The INPUT tag can be used to specify the files and/or directories that contain  
572 -# documented source files. You may enter file names like "myfile.cpp" or  
573 -# directories like "/usr/src/myproject". Separate the files or directories  
574 -# with spaces.  
575 -  
576 -INPUT = @DOXYGEN_DOCS_DIR@/content \  
577 - @prefix@/include/dali/public-api \  
578 - @prefix@/include/dali-toolkit/public-api  
579 -  
580 -  
581 -# This tag can be used to specify the character encoding of the source files  
582 -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is  
583 -# also the default input encoding. Doxygen uses libiconv (or the iconv built  
584 -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for  
585 -# the list of possible encodings.  
586 -  
587 -INPUT_ENCODING = UTF-8  
588 -  
589 -# If the value of the INPUT tag contains directories, you can use the  
590 -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp  
591 -# and *.h) to filter out the source-files in the directories. If left  
592 -# blank the following patterns are tested:  
593 -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx  
594 -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90  
595 -  
596 -FILE_PATTERNS = *.c \  
597 - *.cc \  
598 - *.cxx \  
599 - *.cpp \  
600 - *.c++ \  
601 - *.d \  
602 - *.java \  
603 - *.ii \  
604 - *.ixx \  
605 - *.ipp \  
606 - *.i++ \  
607 - *.inl \  
608 - *.h \  
609 - *.hh \  
610 - *.hxx \  
611 - *.hpp \  
612 - *.h++ \  
613 - *.idl \  
614 - *.odl \  
615 - *.cs \  
616 - *.php \  
617 - *.php3 \  
618 - *.inc \  
619 - *.m \  
620 - *.mm \  
621 - *.dox \  
622 - *.py \  
623 - *.f90 \  
624 - *.f \  
625 - *.vhd \  
626 - *.vhdl  
627 -  
628 -# The RECURSIVE tag can be used to turn specify whether or not subdirectories  
629 -# should be searched for input files as well. Possible values are YES and NO.  
630 -# If left blank NO is used.  
631 -  
632 -RECURSIVE = YES  
633 -  
634 -# The EXCLUDE tag can be used to specify files and/or directories that should  
635 -# excluded from the INPUT source files. This way you can easily exclude a  
636 -# subdirectory from a directory tree whose root is specified with the INPUT tag.  
637 -  
638 -EXCLUDE = dali/integration-api  
639 -  
640 -  
641 -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or  
642 -# directories that are symbolic links (a Unix filesystem feature) are excluded  
643 -# from the input.  
644 -  
645 -EXCLUDE_SYMLINKS = NO  
646 -  
647 -# If the value of the INPUT tag contains directories, you can use the  
648 -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude  
649 -# certain files from those directories. Note that the wildcards are matched  
650 -# against the file with absolute path, so to exclude all test directories  
651 -# for example use the pattern */test/*  
652 -  
653 -EXCLUDE_PATTERNS =  
654 -  
655 -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names  
656 -# (namespaces, classes, functions, etc.) that should be excluded from the  
657 -# output. The symbol name can be a fully qualified name, a word, or if the  
658 -# wildcard * is used, a substring. Examples: ANamespace, AClass,  
659 -# AClass::ANamespace, ANamespace::*Test  
660 -  
661 -EXCLUDE_SYMBOLS = DaliInternal \  
662 - Dali::Internal \  
663 - Dali::Integration \  
664 - Impl \  
665 - ApplicationImpl  
666 -  
667 -# The EXAMPLE_PATH tag can be used to specify one or more files or  
668 -# directories that contain example code fragments that are included (see  
669 -# the \include command).  
670 -  
671 -EXAMPLE_PATH = @DOXYGEN_ROOT_DIR@/examples  
672 -  
673 -# If the value of the EXAMPLE_PATH tag contains directories, you can use the  
674 -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp  
675 -# and *.h) to filter out the source-files in the directories. If left  
676 -# blank all files are included.  
677 -  
678 -EXAMPLE_PATTERNS = *  
679 -  
680 -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be  
681 -# searched for input files to be used with the \include or \dontinclude  
682 -# commands irrespective of the value of the RECURSIVE tag.  
683 -# Possible values are YES and NO. If left blank NO is used.  
684 -  
685 -EXAMPLE_RECURSIVE = YES  
686 -  
687 -# The IMAGE_PATH tag can be used to specify one or more files or  
688 -# directories that contain image that are included in the documentation (see  
689 -# the \image command).  
690 -  
691 -IMAGE_PATH = @DOXYGEN_DOCS_DIR@/content/images  
692 -  
693 -# The INPUT_FILTER tag can be used to specify a program that doxygen should  
694 -# invoke to filter for each input file. Doxygen will invoke the filter program  
695 -# by executing (via popen()) the command <filter> <input-file>, where <filter>  
696 -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an  
697 -# input file. Doxygen will then use the output that the filter program writes  
698 -# to standard output. If FILTER_PATTERNS is specified, this tag will be  
699 -# ignored.  
700 -  
701 -INPUT_FILTER =  
702 -  
703 -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern  
704 -# basis. Doxygen will compare the file name with each pattern and apply the  
705 -# filter if there is a match. The filters are a list of the form:  
706 -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further  
707 -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER  
708 -# is applied to all files.  
709 -  
710 -FILTER_PATTERNS =  
711 -  
712 -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using  
713 -# INPUT_FILTER) will be used to filter the input files when producing source  
714 -# files to browse (i.e. when SOURCE_BROWSER is set to YES).  
715 -  
716 -FILTER_SOURCE_FILES = NO  
717 -  
718 -#---------------------------------------------------------------------------  
719 -# configuration options related to source browsing  
720 -#---------------------------------------------------------------------------  
721 -  
722 -# If the SOURCE_BROWSER tag is set to YES then a list of source files will  
723 -# be generated. Documented entities will be cross-referenced with these sources.  
724 -# Note: To get rid of all source code in the generated output, make sure also  
725 -# VERBATIM_HEADERS is set to NO.  
726 -  
727 -SOURCE_BROWSER = YES  
728 -  
729 -# Setting the INLINE_SOURCES tag to YES will include the body  
730 -# of functions and classes directly in the documentation.  
731 -  
732 -INLINE_SOURCES = NO  
733 -  
734 -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct  
735 -# doxygen to hide any special comment blocks from generated source code  
736 -# fragments. Normal C and C++ comments will always remain visible.  
737 -  
738 -STRIP_CODE_COMMENTS = YES  
739 -  
740 -# If the REFERENCED_BY_RELATION tag is set to YES  
741 -# then for each documented function all documented  
742 -# functions referencing it will be listed.  
743 -  
744 -REFERENCED_BY_RELATION = NO  
745 -  
746 -# If the REFERENCES_RELATION tag is set to YES  
747 -# then for each documented function all documented entities  
748 -# called/used by that function will be listed.  
749 -  
750 -REFERENCES_RELATION = NO  
751 -  
752 -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)  
753 -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from  
754 -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will  
755 -# link to the source code. Otherwise they will link to the documentation.  
756 -  
757 -REFERENCES_LINK_SOURCE = YES  
758 -  
759 -# If the USE_HTAGS tag is set to YES then the references to source code  
760 -# will point to the HTML generated by the htags(1) tool instead of doxygen  
761 -# built-in source browser. The htags tool is part of GNU's global source  
762 -# tagging system (see http://www.gnu.org/software/global/global.html). You  
763 -# will need version 4.8.6 or higher.  
764 -  
765 -USE_HTAGS = NO  
766 -  
767 -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen  
768 -# will generate a verbatim copy of the header file for each class for  
769 -# which an include is specified. Set to NO to disable this.  
770 -  
771 -VERBATIM_HEADERS = YES  
772 -  
773 -#---------------------------------------------------------------------------  
774 -# configuration options related to the alphabetical class index  
775 -#---------------------------------------------------------------------------  
776 -  
777 -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index  
778 -# of all compounds will be generated. Enable this if the project  
779 -# contains a lot of classes, structs, unions or interfaces.  
780 -  
781 -ALPHABETICAL_INDEX = NO  
782 -  
783 -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then  
784 -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns  
785 -# in which this list will be split (can be a number in the range [1..20])  
786 -  
787 -COLS_IN_ALPHA_INDEX = 5  
788 -  
789 -# In case all classes in a project start with a common prefix, all  
790 -# classes will be put under the same header in the alphabetical index.  
791 -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that  
792 -# should be ignored while generating the index headers.  
793 -  
794 -IGNORE_PREFIX =  
795 -  
796 -#---------------------------------------------------------------------------  
797 -# configuration options related to the HTML output  
798 -#---------------------------------------------------------------------------  
799 -  
800 -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will  
801 -# generate HTML output.  
802 -  
803 -GENERATE_HTML = YES  
804 -  
805 -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.  
806 -# If a relative path is entered the value of OUTPUT_DIRECTORY will be  
807 -# put in front of it. If left blank `html' will be used as the default path.  
808 -  
809 -HTML_OUTPUT = html  
810 -  
811 -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for  
812 -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank  
813 -# doxygen will generate files with .html extension.  
814 -  
815 -HTML_FILE_EXTENSION = .html  
816 -  
817 -# The HTML_HEADER tag can be used to specify a personal HTML header for  
818 -# each generated HTML page. If it is left blank doxygen will generate a  
819 -# standard header.  
820 -  
821 -HTML_HEADER =  
822 -  
823 -# The HTML_FOOTER tag can be used to specify a personal HTML footer for  
824 -# each generated HTML page. If it is left blank doxygen will generate a  
825 -# standard footer.  
826 -  
827 -HTML_FOOTER = @DOXYGEN_DOCS_DIR@/api_footer.html  
828 -  
829 -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading  
830 -# style sheet that is used by each HTML page. It can be used to  
831 -# fine-tune the look of the HTML output. If the tag is left blank doxygen  
832 -# will generate a default style sheet. Note that doxygen will try to copy  
833 -# the style sheet file to the HTML output directory, so don't put your own  
834 -# stylesheet in the HTML output directory as well, or it will be erased!  
835 -  
836 -HTML_STYLESHEET =  
837 -  
838 -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,  
839 -# files or namespaces will be aligned in HTML using tables. If set to  
840 -# NO a bullet list will be used.  
841 -  
842 -HTML_ALIGN_MEMBERS = YES  
843 -  
844 -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML  
845 -# documentation will contain sections that can be hidden and shown after the  
846 -# page has loaded. For this to work a browser that supports  
847 -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox  
848 -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).  
849 -  
850 -HTML_DYNAMIC_SECTIONS = NO  
851 -  
852 -# If the GENERATE_DOCSET tag is set to YES, additional index files  
853 -# will be generated that can be used as input for Apple's Xcode 3  
854 -# integrated development environment, introduced with OSX 10.5 (Leopard).  
855 -# To create a documentation set, doxygen will generate a Makefile in the  
856 -# HTML output directory. Running make will produce the docset in that  
857 -# directory and running "make install" will install the docset in  
858 -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find  
859 -# it at startup.  
860 -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.  
861 -  
862 -GENERATE_DOCSET = NO  
863 -  
864 -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the  
865 -# feed. A documentation feed provides an umbrella under which multiple  
866 -# documentation sets from a single provider (such as a company or product suite)  
867 -# can be grouped.  
868 -  
869 -DOCSET_FEEDNAME = "Doxygen generated docs"  
870 -  
871 -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that  
872 -# should uniquely identify the documentation set bundle. This should be a  
873 -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen  
874 -# will append .docset to the name.  
875 -  
876 -DOCSET_BUNDLE_ID = org.doxygen.Project  
877 -  
878 -# If the GENERATE_HTMLHELP tag is set to YES, additional index files  
879 -# will be generated that can be used as input for tools like the  
880 -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)  
881 -# of the generated HTML documentation.  
882 -  
883 -GENERATE_HTMLHELP = YES  
884 -  
885 -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can  
886 -# be used to specify the file name of the resulting .chm file. You  
887 -# can add a path in front of the file if the result should not be  
888 -# written to the html output directory.  
889 -  
890 -CHM_FILE = dali.chm  
891 -  
892 -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can  
893 -# be used to specify the location (absolute path including file name) of  
894 -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run  
895 -# the HTML help compiler on the generated index.hhp.  
896 -  
897 -HHC_LOCATION =  
898 -  
899 -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag  
900 -# controls if a separate .chi index file is generated (YES) or that  
901 -# it should be included in the master .chm file (NO).  
902 -  
903 -GENERATE_CHI = NO  
904 -  
905 -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING  
906 -# is used to encode HtmlHelp index (hhk), content (hhc) and project file  
907 -# content.  
908 -  
909 -CHM_INDEX_ENCODING =  
910 -  
911 -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag  
912 -# controls whether a binary table of contents is generated (YES) or a  
913 -# normal table of contents (NO) in the .chm file.  
914 -  
915 -BINARY_TOC = NO  
916 -  
917 -# The TOC_EXPAND flag can be set to YES to add extra items for group members  
918 -# to the contents of the HTML help documentation and to the tree view.  
919 -  
920 -TOC_EXPAND = NO  
921 -  
922 -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER  
923 -# are set, an additional index file will be generated that can be used as input for  
924 -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated  
925 -# HTML documentation.  
926 -  
927 -GENERATE_QHP = NO  
928 -  
929 -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can  
930 -# be used to specify the file name of the resulting .qch file.  
931 -# The path specified is relative to the HTML output folder.  
932 -  
933 -QCH_FILE =  
934 -  
935 -# The QHP_NAMESPACE tag specifies the namespace to use when generating  
936 -# Qt Help Project output. For more information please see  
937 -# http://doc.trolltech.com/qthelpproject.html#namespace  
938 -  
939 -QHP_NAMESPACE =  
940 -  
941 -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating  
942 -# Qt Help Project output. For more information please see  
943 -# http://doc.trolltech.com/qthelpproject.html#virtual-folders  
944 -  
945 -QHP_VIRTUAL_FOLDER = doc  
946 -  
947 -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.  
948 -# For more information please see  
949 -# http://doc.trolltech.com/qthelpproject.html#custom-filters  
950 -  
951 -QHP_CUST_FILTER_NAME =  
952 -  
953 -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see  
954 -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.  
955 -  
956 -QHP_CUST_FILTER_ATTRS =  
957 -  
958 -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's  
959 -# filter section matches.  
960 -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.  
961 -  
962 -QHP_SECT_FILTER_ATTRS =  
963 -  
964 -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can  
965 -# be used to specify the location of Qt's qhelpgenerator.  
966 -# If non-empty doxygen will try to run qhelpgenerator on the generated  
967 -# .qhp file.  
968 -  
969 -QHG_LOCATION =  
970 -  
971 -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at  
972 -# top of each HTML page. The value NO (the default) enables the index and  
973 -# the value YES disables it.  
974 -  
975 -DISABLE_INDEX = NO  
976 -  
977 -# This tag can be used to set the number of enum values (range [1..20])  
978 -# that doxygen will group on one line in the generated HTML documentation.  
979 -  
980 -ENUM_VALUES_PER_LINE = 4  
981 -  
982 -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index  
983 -# structure should be generated to display hierarchical information.  
984 -# If the tag value is set to FRAME, a side panel will be generated  
985 -# containing a tree-like index structure (just like the one that  
986 -# is generated for HTML Help). For this to work a browser that supports  
987 -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,  
988 -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are  
989 -# probably better off using the HTML help feature. Other possible values  
990 -# for this tag are: HIERARCHIES, which will generate the Groups, Directories,  
991 -# and Class Hierarchy pages using a tree view instead of an ordered list;  
992 -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which  
993 -# disables this behavior completely. For backwards compatibility with previous  
994 -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE  
995 -# respectively.  
996 -  
997 -GENERATE_TREEVIEW = NONE  
998 -  
999 -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be  
1000 -# used to set the initial width (in pixels) of the frame in which the tree  
1001 -# is shown.  
1002 -  
1003 -TREEVIEW_WIDTH = 250  
1004 -  
1005 -# Use this tag to change the font size of Latex formulas included  
1006 -# as images in the HTML documentation. The default is 10. Note that  
1007 -# when you change the font size after a successful doxygen run you need  
1008 -# to manually remove any form_*.png images from the HTML output directory  
1009 -# to force them to be regenerated.  
1010 -  
1011 -FORMULA_FONTSIZE = 10  
1012 -  
1013 -#---------------------------------------------------------------------------  
1014 -# configuration options related to the LaTeX output  
1015 -#---------------------------------------------------------------------------  
1016 -  
1017 -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will  
1018 -# generate Latex output.  
1019 -  
1020 -GENERATE_LATEX = NO  
1021 -  
1022 -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.  
1023 -# If a relative path is entered the value of OUTPUT_DIRECTORY will be  
1024 -# put in front of it. If left blank `latex' will be used as the default path.  
1025 -  
1026 -LATEX_OUTPUT = latex  
1027 -  
1028 -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be  
1029 -# invoked. If left blank `latex' will be used as the default command name.  
1030 -  
1031 -LATEX_CMD_NAME = latex  
1032 -  
1033 -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to  
1034 -# generate index for LaTeX. If left blank `makeindex' will be used as the  
1035 -# default command name.  
1036 -  
1037 -MAKEINDEX_CMD_NAME = makeindex  
1038 -  
1039 -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact  
1040 -# LaTeX documents. This may be useful for small projects and may help to  
1041 -# save some trees in general.  
1042 -  
1043 -COMPACT_LATEX = NO  
1044 -  
1045 -# The PAPER_TYPE tag can be used to set the paper type that is used  
1046 -# by the printer. Possible values are: a4, a4wide, letter, legal and  
1047 -# executive. If left blank a4wide will be used.  
1048 -  
1049 -PAPER_TYPE = a4wide  
1050 -  
1051 -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX  
1052 -# packages that should be included in the LaTeX output.  
1053 -  
1054 -EXTRA_PACKAGES =  
1055 -  
1056 -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for  
1057 -# the generated latex document. The header should contain everything until  
1058 -# the first chapter. If it is left blank doxygen will generate a  
1059 -# standard header. Notice: only use this tag if you know what you are doing!  
1060 -  
1061 -LATEX_HEADER =  
1062 -  
1063 -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated  
1064 -# is prepared for conversion to pdf (using ps2pdf). The pdf file will  
1065 -# contain links (just like the HTML output) instead of page references  
1066 -# This makes the output suitable for online browsing using a pdf viewer.  
1067 -  
1068 -PDF_HYPERLINKS = YES  
1069 -  
1070 -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of  
1071 -# plain latex in the generated Makefile. Set this option to YES to get a  
1072 -# higher quality PDF documentation.  
1073 -  
1074 -USE_PDFLATEX = YES  
1075 -  
1076 -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.  
1077 -# command to the generated LaTeX files. This will instruct LaTeX to keep  
1078 -# running if errors occur, instead of asking the user for help.  
1079 -# This option is also used when generating formulas in HTML.  
1080 -  
1081 -LATEX_BATCHMODE = NO  
1082 -  
1083 -# If LATEX_HIDE_INDICES is set to YES then doxygen will not  
1084 -# include the index chapters (such as File Index, Compound Index, etc.)  
1085 -# in the output.  
1086 -  
1087 -LATEX_HIDE_INDICES = NO  
1088 -  
1089 -#---------------------------------------------------------------------------  
1090 -# configuration options related to the RTF output  
1091 -#---------------------------------------------------------------------------  
1092 -  
1093 -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output  
1094 -# The RTF output is optimized for Word 97 and may not look very pretty with  
1095 -# other RTF readers or editors.  
1096 -  
1097 -GENERATE_RTF = NO  
1098 -  
1099 -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.  
1100 -# If a relative path is entered the value of OUTPUT_DIRECTORY will be  
1101 -# put in front of it. If left blank `rtf' will be used as the default path.  
1102 -  
1103 -RTF_OUTPUT = rtf  
1104 -  
1105 -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact  
1106 -# RTF documents. This may be useful for small projects and may help to  
1107 -# save some trees in general.  
1108 -  
1109 -COMPACT_RTF = NO  
1110 -  
1111 -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated  
1112 -# will contain hyperlink fields. The RTF file will  
1113 -# contain links (just like the HTML output) instead of page references.  
1114 -# This makes the output suitable for online browsing using WORD or other  
1115 -# programs which support those fields.  
1116 -# Note: wordpad (write) and others do not support links.  
1117 -  
1118 -RTF_HYPERLINKS = NO  
1119 -  
1120 -# Load stylesheet definitions from file. Syntax is similar to doxygen's  
1121 -# config file, i.e. a series of assignments. You only have to provide  
1122 -# replacements, missing definitions are set to their default value.  
1123 -  
1124 -RTF_STYLESHEET_FILE =  
1125 -  
1126 -# Set optional variables used in the generation of an rtf document.  
1127 -# Syntax is similar to doxygen's config file.  
1128 -  
1129 -RTF_EXTENSIONS_FILE =  
1130 -  
1131 -#---------------------------------------------------------------------------  
1132 -# configuration options related to the man page output  
1133 -#---------------------------------------------------------------------------  
1134 -  
1135 -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will  
1136 -# generate man pages  
1137 -  
1138 -GENERATE_MAN = NO  
1139 -  
1140 -# The MAN_OUTPUT tag is used to specify where the man pages will be put.  
1141 -# If a relative path is entered the value of OUTPUT_DIRECTORY will be  
1142 -# put in front of it. If left blank `man' will be used as the default path.  
1143 -  
1144 -MAN_OUTPUT = man  
1145 -  
1146 -# The MAN_EXTENSION tag determines the extension that is added to  
1147 -# the generated man pages (default is the subroutine's section .3)  
1148 -  
1149 -MAN_EXTENSION = .3  
1150 -  
1151 -# If the MAN_LINKS tag is set to YES and Doxygen generates man output,  
1152 -# then it will generate one additional man file for each entity  
1153 -# documented in the real man page(s). These additional files  
1154 -# only source the real man page, but without them the man command  
1155 -# would be unable to find the correct page. The default is NO.  
1156 -  
1157 -MAN_LINKS = NO  
1158 -  
1159 -#---------------------------------------------------------------------------  
1160 -# configuration options related to the XML output  
1161 -#---------------------------------------------------------------------------  
1162 -  
1163 -# If the GENERATE_XML tag is set to YES Doxygen will  
1164 -# generate an XML file that captures the structure of  
1165 -# the code including all documentation.  
1166 -  
1167 -GENERATE_XML = NO  
1168 -  
1169 -# The XML_OUTPUT tag is used to specify where the XML pages will be put.  
1170 -# If a relative path is entered the value of OUTPUT_DIRECTORY will be  
1171 -# put in front of it. If left blank `xml' will be used as the default path.  
1172 -  
1173 -XML_OUTPUT = xml  
1174 -  
1175 -# The XML_SCHEMA tag can be used to specify an XML schema,  
1176 -# which can be used by a validating XML parser to check the  
1177 -# syntax of the XML files.  
1178 -  
1179 -XML_SCHEMA =  
1180 -  
1181 -# The XML_DTD tag can be used to specify an XML DTD,  
1182 -# which can be used by a validating XML parser to check the  
1183 -# syntax of the XML files.  
1184 -  
1185 -XML_DTD =  
1186 -  
1187 -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will  
1188 -# dump the program listings (including syntax highlighting  
1189 -# and cross-referencing information) to the XML output. Note that  
1190 -# enabling this will significantly increase the size of the XML output.  
1191 -  
1192 -XML_PROGRAMLISTING = YES  
1193 -  
1194 -#---------------------------------------------------------------------------  
1195 -# configuration options for the AutoGen Definitions output  
1196 -#---------------------------------------------------------------------------  
1197 -  
1198 -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will  
1199 -# generate an AutoGen Definitions (see autogen.sf.net) file  
1200 -# that captures the structure of the code including all  
1201 -# documentation. Note that this feature is still experimental  
1202 -# and incomplete at the moment.  
1203 -  
1204 -GENERATE_AUTOGEN_DEF = NO  
1205 -  
1206 -#---------------------------------------------------------------------------  
1207 -# configuration options related to the Perl module output  
1208 -#---------------------------------------------------------------------------  
1209 -  
1210 -# If the GENERATE_PERLMOD tag is set to YES Doxygen will  
1211 -# generate a Perl module file that captures the structure of  
1212 -# the code including all documentation. Note that this  
1213 -# feature is still experimental and incomplete at the  
1214 -# moment.  
1215 -  
1216 -GENERATE_PERLMOD = NO  
1217 -  
1218 -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate  
1219 -# the necessary Makefile rules, Perl scripts and LaTeX code to be able  
1220 -# to generate PDF and DVI output from the Perl module output.  
1221 -  
1222 -PERLMOD_LATEX = NO  
1223 -  
1224 -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be  
1225 -# nicely formatted so it can be parsed by a human reader. This is useful  
1226 -# if you want to understand what is going on. On the other hand, if this  
1227 -# tag is set to NO the size of the Perl module output will be much smaller  
1228 -# and Perl will parse it just the same.  
1229 -  
1230 -PERLMOD_PRETTY = YES  
1231 -  
1232 -# The names of the make variables in the generated doxyrules.make file  
1233 -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.  
1234 -# This is useful so different doxyrules.make files included by the same  
1235 -# Makefile don't overwrite each other's variables.  
1236 -  
1237 -PERLMOD_MAKEVAR_PREFIX =  
1238 -  
1239 -#---------------------------------------------------------------------------  
1240 -# Configuration options related to the preprocessor  
1241 -#---------------------------------------------------------------------------  
1242 -  
1243 -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will  
1244 -# evaluate all C-preprocessor directives found in the sources and include  
1245 -# files.  
1246 -  
1247 -ENABLE_PREPROCESSING = YES  
1248 -  
1249 -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro  
1250 -# names in the source code. If set to NO (the default) only conditional  
1251 -# compilation will be performed. Macro expansion can be done in a controlled  
1252 -# way by setting EXPAND_ONLY_PREDEF to YES.  
1253 -  
1254 -MACRO_EXPANSION = YES  
1255 -  
1256 -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES  
1257 -# then the macro expansion is limited to the macros specified with the  
1258 -# PREDEFINED and EXPAND_AS_DEFINED tags.  
1259 -  
1260 -EXPAND_ONLY_PREDEF = YES  
1261 -  
1262 -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files  
1263 -# in the INCLUDE_PATH (see below) will be search if a #include is found.  
1264 -  
1265 -SEARCH_INCLUDES = YES  
1266 -  
1267 -# The INCLUDE_PATH tag can be used to specify one or more directories that  
1268 -# contain include files that are not input files but should be processed by  
1269 -# the preprocessor.  
1270 -  
1271 -INCLUDE_PATH =  
1272 -  
1273 -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard  
1274 -# patterns (like *.h and *.hpp) to filter out the header-files in the  
1275 -# directories. If left blank, the patterns specified with FILE_PATTERNS will  
1276 -# be used.  
1277 -  
1278 -INCLUDE_FILE_PATTERNS =  
1279 -  
1280 -# The PREDEFINED tag can be used to specify one or more macro names that  
1281 -# are defined before the preprocessor is started (similar to the -D option of  
1282 -# gcc). The argument of the tag is a list of macros of the form: name  
1283 -# or name=definition (no spaces). If the definition and the = are  
1284 -# omitted =1 is assumed. To prevent a macro definition from being  
1285 -# undefined via #undef or recursively expanded use the := operator  
1286 -# instead of the = operator.  
1287 -  
1288 -PREDEFINED = DALI_IMPORT_API DALI_INTERNAL \  
1289 - __attribute__ ((visibility ("default"))) \  
1290 - __attribute__ ((visibility ("hidden")))  
1291 -  
1292 -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then  
1293 -# this tag can be used to specify a list of macro names that should be expanded.  
1294 -# The macro definition that is found in the sources will be used.  
1295 -# Use the PREDEFINED tag if you want to use a different macro definition.  
1296 -  
1297 -EXPAND_AS_DEFINED =  
1298 -  
1299 -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then  
1300 -# doxygen's preprocessor will remove all function-like macros that are alone  
1301 -# on a line, have an all uppercase name, and do not end with a semicolon. Such  
1302 -# function macros are typically used for boiler-plate code, and will confuse  
1303 -# the parser if not removed.  
1304 -  
1305 -SKIP_FUNCTION_MACROS = YES  
1306 -  
1307 -#---------------------------------------------------------------------------  
1308 -# Configuration::additions related to external references  
1309 -#---------------------------------------------------------------------------  
1310 -  
1311 -# The TAGFILES option can be used to specify one or more tagfiles.  
1312 -# Optionally an initial location of the external documentation  
1313 -# can be added for each tagfile. The format of a tag file without  
1314 -# this location is as follows:  
1315 -# TAGFILES = file1 file2 ...  
1316 -# Adding location for the tag files is done as follows:  
1317 -# TAGFILES = file1=loc1 "file2 = loc2" ...  
1318 -# where "loc1" and "loc2" can be relative or absolute paths or  
1319 -# URLs. If a location is present for each tag, the installdox tool  
1320 -# does not have to be run to correct the links.  
1321 -# Note that each tag file must have a unique name  
1322 -# (where the name does NOT include the path)  
1323 -# If a tag file is not located in the directory in which doxygen  
1324 -# is run, you must also specify the path to the tagfile here.  
1325 -  
1326 -TAGFILES =  
1327 -  
1328 -# When a file name is specified after GENERATE_TAGFILE, doxygen will create  
1329 -# a tag file that is based on the input files it reads.  
1330 -  
1331 -GENERATE_TAGFILE =  
1332 -  
1333 -# If the ALLEXTERNALS tag is set to YES all external classes will be listed  
1334 -# in the class index. If set to NO only the inherited external classes  
1335 -# will be listed.  
1336 -  
1337 -ALLEXTERNALS = NO  
1338 -  
1339 -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed  
1340 -# in the modules index. If set to NO, only the current project's groups will  
1341 -# be listed.  
1342 -  
1343 -EXTERNAL_GROUPS = YES  
1344 -  
1345 -# The PERL_PATH should be the absolute path and name of the perl script  
1346 -# interpreter (i.e. the result of `which perl').  
1347 -  
1348 -PERL_PATH = /usr/bin/perl  
1349 -  
1350 -#---------------------------------------------------------------------------  
1351 -# Configuration options related to the dot tool  
1352 -#---------------------------------------------------------------------------  
1353 -  
1354 -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will  
1355 -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base  
1356 -# or super classes. Setting the tag to NO turns the diagrams off. Note that  
1357 -# this option is superseded by the HAVE_DOT option below. This is only a  
1358 -# fallback. It is recommended to install and use dot, since it yields more  
1359 -# powerful graphs.  
1360 -  
1361 -CLASS_DIAGRAMS = YES  
1362 -  
1363 -# You can define message sequence charts within doxygen comments using the \msc  
1364 -# command. Doxygen will then run the mscgen tool (see  
1365 -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the  
1366 -# documentation. The MSCGEN_PATH tag allows you to specify the directory where  
1367 -# the mscgen tool resides. If left empty the tool is assumed to be found in the  
1368 -# default search path.  
1369 -  
1370 -MSCGEN_PATH =  
1371 -  
1372 -# If set to YES, the inheritance and collaboration graphs will hide  
1373 -# inheritance and usage relations if the target is undocumented  
1374 -# or is not a class.  
1375 -  
1376 -HIDE_UNDOC_RELATIONS = YES  
1377 -  
1378 -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is  
1379 -# available from the path. This tool is part of Graphviz, a graph visualization  
1380 -# toolkit from AT&T and Lucent Bell Labs. The other options in this section  
1381 -# have no effect if this option is set to NO (the default)  
1382 -  
1383 -HAVE_DOT = NO  
1384 -  
1385 -# By default doxygen will write a font called FreeSans.ttf to the output  
1386 -# directory and reference it in all dot files that doxygen generates. This  
1387 -# font does not include all possible unicode characters however, so when you need  
1388 -# these (or just want a differently looking font) you can specify the font name  
1389 -# using DOT_FONTNAME. You need need to make sure dot is able to find the font,  
1390 -# which can be done by putting it in a standard location or by setting the  
1391 -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory  
1392 -# containing the font.  
1393 -  
1394 -DOT_FONTNAME = FreeSans  
1395 -  
1396 -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.  
1397 -# The default size is 10pt.  
1398 -  
1399 -DOT_FONTSIZE = 10  
1400 -  
1401 -# By default doxygen will tell dot to use the output directory to look for the  
1402 -# FreeSans.ttf font (which doxygen will put there itself). If you specify a  
1403 -# different font using DOT_FONTNAME you can set the path where dot  
1404 -# can find it using this tag.  
1405 -  
1406 -DOT_FONTPATH =  
1407 -  
1408 -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen  
1409 -# will generate a graph for each documented class showing the direct and  
1410 -# indirect inheritance relations. Setting this tag to YES will force the  
1411 -# the CLASS_DIAGRAMS tag to NO.  
1412 -  
1413 -CLASS_GRAPH = YES  
1414 -  
1415 -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen  
1416 -# will generate a graph for each documented class showing the direct and  
1417 -# indirect implementation dependencies (inheritance, containment, and  
1418 -# class references variables) of the class with other documented classes.  
1419 -  
1420 -COLLABORATION_GRAPH = YES  
1421 -  
1422 -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen  
1423 -# will generate a graph for groups, showing the direct groups dependencies  
1424 -  
1425 -GROUP_GRAPHS = YES  
1426 -  
1427 -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and  
1428 -# collaboration diagrams in a style similar to the OMG's Unified Modeling  
1429 -# Language.  
1430 -  
1431 -UML_LOOK = NO  
1432 -  
1433 -# If set to YES, the inheritance and collaboration graphs will show the  
1434 -# relations between templates and their instances.  
1435 -  
1436 -TEMPLATE_RELATIONS = NO  
1437 -  
1438 -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT  
1439 -# tags are set to YES then doxygen will generate a graph for each documented  
1440 -# file showing the direct and indirect include dependencies of the file with  
1441 -# other documented files.  
1442 -  
1443 -INCLUDE_GRAPH = YES  
1444 -  
1445 -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and  
1446 -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each  
1447 -# documented header file showing the documented files that directly or  
1448 -# indirectly include this file.  
1449 -  
1450 -INCLUDED_BY_GRAPH = YES  
1451 -  
1452 -# If the CALL_GRAPH and HAVE_DOT options are set to YES then  
1453 -# doxygen will generate a call dependency graph for every global function  
1454 -# or class method. Note that enabling this option will significantly increase  
1455 -# the time of a run. So in most cases it will be better to enable call graphs  
1456 -# for selected functions only using the \callgraph command.  
1457 -  
1458 -CALL_GRAPH = NO  
1459 -  
1460 -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then  
1461 -# doxygen will generate a caller dependency graph for every global function  
1462 -# or class method. Note that enabling this option will significantly increase  
1463 -# the time of a run. So in most cases it will be better to enable caller  
1464 -# graphs for selected functions only using the \callergraph command.  
1465 -  
1466 -CALLER_GRAPH = NO  
1467 -  
1468 -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen  
1469 -# will graphical hierarchy of all classes instead of a textual one.  
1470 -  
1471 -GRAPHICAL_HIERARCHY = YES  
1472 -  
1473 -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES  
1474 -# then doxygen will show the dependencies a directory has on other directories  
1475 -# in a graphical way. The dependency relations are determined by the #include  
1476 -# relations between the files in the directories.  
1477 -  
1478 -DIRECTORY_GRAPH = YES  
1479 -  
1480 -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images  
1481 -# generated by dot. Possible values are png, jpg, or gif  
1482 -# If left blank png will be used.  
1483 -  
1484 -DOT_IMAGE_FORMAT = png  
1485 -  
1486 -# The tag DOT_PATH can be used to specify the path where the dot tool can be  
1487 -# found. If left blank, it is assumed the dot tool can be found in the path.  
1488 -  
1489 -DOT_PATH =  
1490 -  
1491 -# The DOTFILE_DIRS tag can be used to specify one or more directories that  
1492 -# contain dot files that are included in the documentation (see the  
1493 -# \dotfile command).  
1494 -  
1495 -DOTFILE_DIRS =  
1496 -  
1497 -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of  
1498 -# nodes that will be shown in the graph. If the number of nodes in a graph  
1499 -# becomes larger than this value, doxygen will truncate the graph, which is  
1500 -# visualized by representing a node as a red box. Note that doxygen if the  
1501 -# number of direct children of the root node in a graph is already larger than  
1502 -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note  
1503 -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.  
1504 -  
1505 -DOT_GRAPH_MAX_NODES = 50  
1506 -  
1507 -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the  
1508 -# graphs generated by dot. A depth value of 3 means that only nodes reachable  
1509 -# from the root by following a path via at most 3 edges will be shown. Nodes  
1510 -# that lay further from the root node will be omitted. Note that setting this  
1511 -# option to 1 or 2 may greatly reduce the computation time needed for large  
1512 -# code bases. Also note that the size of a graph can be further restricted by  
1513 -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.  
1514 -  
1515 -MAX_DOT_GRAPH_DEPTH = 0  
1516 -  
1517 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent  
1518 -# background. This is disabled by default, because dot on Windows does not  
1519 -# seem to support this out of the box. Warning: Depending on the platform used,  
1520 -# enabling this option may lead to badly anti-aliased labels on the edges of  
1521 -# a graph (i.e. they become hard to read).  
1522 -  
1523 -DOT_TRANSPARENT = NO  
1524 -  
1525 -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output  
1526 -# files in one run (i.e. multiple -o and -T options on the command line). This  
1527 -# makes dot run faster, but since only newer versions of dot (>1.8.10)  
1528 -# support this, this feature is disabled by default.  
1529 -  
1530 -DOT_MULTI_TARGETS = NO  
1531 -  
1532 -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will  
1533 -# generate a legend page explaining the meaning of the various boxes and  
1534 -# arrows in the dot generated graphs.  
1535 -  
1536 -GENERATE_LEGEND = YES  
1537 -  
1538 -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will  
1539 -# remove the intermediate dot files that are used to generate  
1540 -# the various graphs.  
1541 -  
1542 -DOT_CLEANUP = YES  
1543 -  
1544 -#---------------------------------------------------------------------------  
1545 -# Options related to the search engine  
1546 -#---------------------------------------------------------------------------  
1547 -  
1548 -# When the SEARCHENGINE tag is enabled doxygen will generate a search box  
1549 -# for the HTML output. The underlying search engine uses javascript  
1550 -# and DHTML and should work on any modern browser. Note that when using  
1551 -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets  
1552 -# (GENERATE_DOCSET) there is already a search function so this one should  
1553 -# typically be disabled. For large projects the javascript based search engine  
1554 -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.  
1555 -  
1556 -SEARCHENGINE = NO  
1557 -  
1558 -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be  
1559 -# implemented using a PHP enabled web server instead of at the web client  
1560 -# using Javascript. Doxygen will generate the search PHP script and index  
1561 -# file to put on the web server. The advantage of the server  
1562 -# based approach is that it scales better to large projects and allows  
1563 -# full text search. The disadvances is that it is more difficult to setup  
1564 -# and does not have live searching capabilities.  
1565 -  
1566 -# SERVER_BASED_SEARCH = NO  
com.samsung.dali-demo.xml
@@ -73,8 +73,17 @@ @@ -73,8 +73,17 @@
73 <ui-application appid="buttons.example" exec="/usr/apps/com.samsung.dali-demo/bin/buttons.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true"> 73 <ui-application appid="buttons.example" exec="/usr/apps/com.samsung.dali-demo/bin/buttons.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
74 <label>Buttons</label> 74 <label>Buttons</label>
75 </ui-application> 75 </ui-application>
76 - <ui-application appid="text-view.example" exec="/usr/apps/com.samsung.dali-demo/bin/text-view.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">  
77 - <label>Text View</label> 76 + <ui-application appid="text-label.example" exec="/usr/apps/com.samsung.dali-demo/bin/text-label.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
  77 + <label>Text Label</label>
  78 + </ui-application>
  79 + <ui-application appid="text-label-multi-language.example" exec="/usr/apps/com.samsung.dali-demo/bin/text-label-multi-language.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
  80 + <label>Multi-language Text Label</label>
  81 + </ui-application>
  82 + <ui-application appid="text-label-emojis.example" exec="/usr/apps/com.samsung.dali-demo/bin/text-label-emojis.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
  83 + <label>Emojis Text Label</label>
  84 + </ui-application>
  85 + <ui-application appid="text-field.example" exec="/usr/apps/com.samsung.dali-demo/bin/text-field.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
  86 + <label>Text Label</label>
78 </ui-application> 87 </ui-application>
79 <ui-application appid="logging.example" exec="/usr/apps/com.samsung.dali-demo/bin/logging.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true"> 88 <ui-application appid="logging.example" exec="/usr/apps/com.samsung.dali-demo/bin/logging.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
80 <label>Logging</label> 89 <label>Logging</label>
demo/dali-demo.cpp
@@ -15,39 +15,53 @@ @@ -15,39 +15,53 @@
15 * 15 *
16 */ 16 */
17 17
  18 +// EXTERNAL INCLUDES
  19 +#include <dali/dali.h>
  20 +
  21 +// INTERNAL INCLUDES
18 #include "dali-table-view.h" 22 #include "dali-table-view.h"
  23 +#include "shared/dali-demo-strings.h"
19 24
20 using namespace Dali; 25 using namespace Dali;
21 26
22 int main(int argc, char **argv) 27 int main(int argc, char **argv)
23 { 28 {
  29 + // Configure gettext for internalization
  30 + bindtextdomain(DALI_DEMO_DOMAIN_LOCAL, DALI_LOCALE_DIR);
  31 + textdomain(DALI_DEMO_DOMAIN_LOCAL);
  32 + setlocale(LC_ALL, DALI_LANG);
  33 +
24 Application app = Application::New(&argc, &argv); 34 Application app = Application::New(&argc, &argv);
25 35
  36 + // Create the demo launcher
26 DaliTableView demo(app); 37 DaliTableView demo(app);
27 38
28 - demo.AddExample(Example("bubble-effect.example", "Bubbles"));  
29 - demo.AddExample(Example("blocks.example", "Blocks"));  
30 - demo.AddExample(Example("cluster.example", "Cluster control"));  
31 - demo.AddExample(Example("cube-transition-effect.example", "Cube Transition"));  
32 - demo.AddExample(Example("dissolve-effect.example", "Dissolve Transition"));  
33 - demo.AddExample(Example("item-view.example", "Item View"));  
34 - demo.AddExample(Example("magnifier.example", "Magnifier"));  
35 - demo.AddExample(Example("motion-blur.example", "Motion Blur"));  
36 - demo.AddExample(Example("motion-stretch.example", "Motion Stretch"));  
37 - demo.AddExample(Example("page-turn-view.example", "Page Turn View"));  
38 - demo.AddExample(Example("radial-menu.example", "Radial Menu"));  
39 - demo.AddExample(Example("refraction-effect.example", "Refraction"));  
40 - demo.AddExample(Example("scroll-view.example", "Scroll View"));  
41 - demo.AddExample(Example("shadow-bone-lighting.example", "Lights and shadows"));  
42 -// demo.AddExample(Example("builder.example", "Script Based UI"));  
43 - demo.AddExample(Example("image-scaling-irregular-grid.example", "Image Scaling Modes"));  
44 - demo.AddExample(Example("text-view.example", "Text View"));  
45 - demo.AddExample(Example("animated-shapes.example", "Animated Shapes"));  
46 - demo.AddExample(Example("path-animation.example", "Path Animation")); 39 + demo.AddExample(Example("bubble-effect.example", DALI_DEMO_STR_TITLE_BUBBLES));
  40 + demo.AddExample(Example("blocks.example", DALI_DEMO_STR_TITLE_BLOCKS));
  41 + demo.AddExample(Example("cluster.example", DALI_DEMO_STR_TITLE_CLUSTER));
  42 + demo.AddExample(Example("cube-transition-effect.example", DALI_DEMO_STR_TITLE_CUBE_TRANSITION));
  43 + demo.AddExample(Example("dissolve-effect.example", DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION));
  44 + demo.AddExample(Example("item-view.example", DALI_DEMO_STR_TITLE_ITEM_VIEW));
  45 + demo.AddExample(Example("magnifier.example", DALI_DEMO_STR_TITLE_MAGNIFIER));
  46 + demo.AddExample(Example("motion-blur.example", DALI_DEMO_STR_TITLE_MOTION_BLUR));
  47 + demo.AddExample(Example("motion-stretch.example", DALI_DEMO_STR_TITLE_MOTION_STRETCH));
  48 + demo.AddExample(Example("page-turn-view.example", DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW));
  49 + demo.AddExample(Example("radial-menu.example", DALI_DEMO_STR_TITLE_RADIAL_MENU));
  50 + demo.AddExample(Example("refraction-effect.example", DALI_DEMO_STR_TITLE_REFRACTION));
  51 + demo.AddExample(Example("scroll-view.example", DALI_DEMO_STR_TITLE_SCROLL_VIEW));
  52 + demo.AddExample(Example("shadow-bone-lighting.example", DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS));
  53 + demo.AddExample(Example("builder.example", DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI));
  54 + demo.AddExample(Example("image-scaling-irregular-grid.example", DALI_DEMO_STR_TITLE_IMAGE_SCALING));
  55 + demo.AddExample(Example("text-label.example", DALI_DEMO_STR_TITLE_TEXT_LABEL));
  56 + demo.AddExample(Example("text-label-multi-language.example", DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE));
  57 + demo.AddExample(Example("text-label-emojis.example", DALI_DEMO_STR_TITLE_EMOJI_TEXT));
  58 + demo.AddExample(Example("animated-shapes.example", DALI_DEMO_STR_TITLE_ANIMATED_SHAPES));
  59 + demo.AddExample(Example("path-animation.example", DALI_DEMO_STR_TITLE_PATH_ANIMATION));
47 demo.AddExample(Example("size-negotiation.example", "Size Negotiation")); 60 demo.AddExample(Example("size-negotiation.example", "Size Negotiation"));
48 61
49 demo.SortAlphabetically( true ); 62 demo.SortAlphabetically( true );
50 63
  64 + // Start the event loop
51 app.MainLoop(); 65 app.MainLoop();
52 66
53 return 0; 67 return 0;
demo/dali-table-view.cpp
@@ -86,17 +86,7 @@ const Vector2 POSITION_SWING_3DEFFECT( 0.55f, 0.4f ); ///&lt; Position @@ -86,17 +86,7 @@ const Vector2 POSITION_SWING_3DEFFECT( 0.55f, 0.4f ); ///&lt; Position
86 const Vector3 ANCHOR_3DEFFECT_STYLE0( -105.0f, 30.0f, -240.0f ); ///< Rotation Anchor position for 3D Effect (Style 0) 86 const Vector3 ANCHOR_3DEFFECT_STYLE0( -105.0f, 30.0f, -240.0f ); ///< Rotation Anchor position for 3D Effect (Style 0)
87 const Vector3 ANCHOR_3DEFFECT_STYLE1( 65.0f, -70.0f, -500.0f ); ///< Rotation Anchor position for 3D Effect (Style 1) 87 const Vector3 ANCHOR_3DEFFECT_STYLE1( 65.0f, -70.0f, -500.0f ); ///< Rotation Anchor position for 3D Effect (Style 1)
88 88
89 -const std::string DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNeue");  
90 -const std::string DEFAULT_TEXT_STYLE_FONT_STYLE("Regular");  
91 -const Dali::PointSize DEFAULT_TEXT_STYLE_POINT_SIZE( 8.0f );  
92 -const Dali::TextStyle::Weight DEFAULT_TEXT_STYLE_WEIGHT(Dali::TextStyle::REGULAR);  
93 -const Dali::Vector4 DEFAULT_TEXT_STYLE_COLOR(0.7f, 0.7f, 0.7f, 1.0f);  
94 -  
95 -const std::string TABLE_TEXT_STYLE_FONT_FAMILY("HelveticaNeue");  
96 -const std::string TABLE_TEXT_STYLE_FONT_STYLE("Regular");  
97 -const Dali::PointSize TABLE_TEXT_STYLE_POINT_SIZE( 8.0f );  
98 -const Dali::TextStyle::Weight TABLE_TEXT_STYLE_WEIGHT(Dali::TextStyle::LIGHT);  
99 -const Dali::Vector4 TABLE_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f); 89 +const Dali::Vector4 TABLE_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f);
100 90
101 Vector3 ScalePointSize(const Vector3& vec) 91 Vector3 ScalePointSize(const Vector3& vec)
102 { 92 {
@@ -105,17 +95,6 @@ Vector3 ScalePointSize(const Vector3&amp; vec) @@ -105,17 +95,6 @@ Vector3 ScalePointSize(const Vector3&amp; vec)
105 95
106 #define DP(x) DemoHelper::ScalePointSize(x) 96 #define DP(x) DemoHelper::ScalePointSize(x)
107 97
108 -TextStyle GetTableTextStyle()  
109 -{  
110 - TextStyle textStyle;  
111 - textStyle.SetFontName(TABLE_TEXT_STYLE_FONT_FAMILY);  
112 - textStyle.SetFontStyle(TABLE_TEXT_STYLE_FONT_STYLE);  
113 - textStyle.SetFontPointSize( Dali::PointSize(DemoHelper::ScalePointSize(TABLE_TEXT_STYLE_POINT_SIZE)));  
114 - textStyle.SetWeight(TABLE_TEXT_STYLE_WEIGHT);  
115 - textStyle.SetTextColor(TABLE_TEXT_STYLE_COLOR);  
116 - return textStyle;  
117 -}  
118 -  
119 /** 98 /**
120 * Creates the background image 99 * Creates the background image
121 */ 100 */
@@ -151,20 +130,19 @@ public: @@ -151,20 +130,19 @@ public:
151 { 130 {
152 } 131 }
153 132
154 - Vector3 operator()( const Vector3& current, const PropertyInput& scrollProperty, const PropertyInput& parentSize ) 133 + void operator()( Vector3& position, const PropertyInputContainer& inputs )
155 { 134 {
156 - Vector3 pos( current );  
157 - const float parentHeight = parentSize.GetVector3().height; 135 + const Vector3& parentSize = inputs[1]->GetVector3();
158 136
159 - // Wrap bubbles vertically  
160 - if( pos.y + mShapeSize * 0.5f < -parentHeight * 0.5f ) 137 + // Wrap bubbles verically.
  138 + if( position.y + mShapeSize * 0.5f < -parentSize.y * 0.5f )
161 { 139 {
162 - pos.y = parentHeight * 0.5f + mShapeSize * 0.5f; 140 + position.y = parentSize.y * 0.5f + mShapeSize * 0.5f;
163 } 141 }
164 142
165 - // Bubbles X position moves parallax to horizontal panning by a scale factor unique to each bubble  
166 - pos.x = mInitialX + ( scrollProperty.GetVector3().x * mScale );  
167 - return pos; 143 + // Bubbles X position moves parallax to horizontal
  144 + // panning by a scale factor unique to each bubble.
  145 + position.x = mInitialX + ( inputs[0]->GetVector3().x * mScale );
168 } 146 }
169 147
170 private: 148 private:
@@ -236,6 +214,8 @@ void DaliTableView::SortAlphabetically( bool sortAlphabetically ) @@ -236,6 +214,8 @@ void DaliTableView::SortAlphabetically( bool sortAlphabetically )
236 214
237 void DaliTableView::Initialize( Application& application ) 215 void DaliTableView::Initialize( Application& application )
238 { 216 {
  217 + DemoHelper::RequestThemeChange();
  218 +
239 Stage::GetCurrent().KeyEventSignal().Connect( this, &DaliTableView::OnKeyEvent ); 219 Stage::GetCurrent().KeyEventSignal().Connect( this, &DaliTableView::OnKeyEvent );
240 220
241 const Vector2 stageSize = Stage::GetCurrent().GetSize(); 221 const Vector2 stageSize = Stage::GetCurrent().GetSize();
@@ -256,8 +236,7 @@ void DaliTableView::Initialize( Application&amp; application ) @@ -256,8 +236,7 @@ void DaliTableView::Initialize( Application&amp; application )
256 Dali::Layer toolBarLayer = DemoHelper::CreateToolbar(toolbar, 236 Dali::Layer toolBarLayer = DemoHelper::CreateToolbar(toolbar,
257 DEFAULT_TOOLBAR_IMAGE_PATH, 237 DEFAULT_TOOLBAR_IMAGE_PATH,
258 DEFAULT_TOOLBAR_TEXT, 238 DEFAULT_TOOLBAR_TEXT,
259 - DemoHelper::DEFAULT_VIEW_STYLE,  
260 - DemoHelper::GetDefaultTextStyle()); 239 + DemoHelper::DEFAULT_VIEW_STYLE);
261 240
262 mRootActor.AddChild( toolBarLayer, TableView::CellPosition( 0, 0 ) ); 241 mRootActor.AddChild( toolBarLayer, TableView::CellPosition( 0, 0 ) );
263 mRootActor.SetFitHeight( 0 ); 242 mRootActor.SetFitHeight( 0 );
@@ -538,20 +517,16 @@ Actor DaliTableView::CreateTile( const std::string&amp; name, const std::string&amp; tit @@ -538,20 +517,16 @@ Actor DaliTableView::CreateTile( const std::string&amp; name, const std::string&amp; tit
538 image.Add( stencil ); 517 image.Add( stencil );
539 } 518 }
540 519
541 - TextView text = TextView::New( title );  
542 - text.SetAnchorPoint( AnchorPoint::CENTER );  
543 - text.SetParentOrigin( ParentOrigin::CENTER );  
544 - text.SetWidthExceedPolicy( Toolkit::TextView::ShrinkToFit );  
545 - text.SetMultilinePolicy( Toolkit::TextView::SplitByWord );  
546 - text.SetLineJustification( Toolkit::TextView::Center );  
547 - text.SetTextAlignment( Toolkit::Alignment::Type( Alignment::HorizontalCenter | Alignment::VerticalCenter ) );  
548 - text.SetZ( 1 );  
549 - // make the text 90% of tile  
550 - text.SetResizePolicy( SIZE_RELATIVE_TO_PARENT, ALL_DIMENSIONS );  
551 - text.SetSizeModeFactor( Vector3( 0.9f, 0.9f, 0.0f ) );  
552 - text.SetStyleToCurrentText( GetTableTextStyle() );  
553 - text.SetSnapshotModeEnabled( false );  
554 - content.Add( text ); 520 + TextLabel label = TextLabel::New();
  521 + label.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  522 + label.SetProperty( Control::Property::STYLE_NAME, "launcherlabel" );
  523 + label.SetProperty( TextLabel::Property::MULTI_LINE, true );
  524 + label.SetProperty( TextLabel::Property::TEXT, title );
  525 + label.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
  526 + label.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
  527 + label.SetResizePolicy( FILL_TO_PARENT, HEIGHT );
  528 + label.SetColor( TABLE_TEXT_STYLE_COLOR );
  529 + content.Add( label );
555 530
556 // Set the tile to be keyboard focusable 531 // Set the tile to be keyboard focusable
557 content.SetKeyboardFocusable(true); 532 content.SetKeyboardFocusable(true);
@@ -780,11 +755,10 @@ void DaliTableView::InitialiseBackgroundActors( Actor actor ) @@ -780,11 +755,10 @@ void DaliTableView::InitialiseBackgroundActors( Actor actor )
780 child.SetPosition( childPos ); 755 child.SetPosition( childPos );
781 756
782 // Define bubble horizontal parallax and vertical wrapping 757 // Define bubble horizontal parallax and vertical wrapping
783 - Constraint animConstraint = Constraint::New < Vector3 > ( Actor::Property::POSITION,  
784 - Source( mScrollView, ScrollView::Property::SCROLL_POSITION ),  
785 - Dali::ParentSource( Dali::Actor::Property::SIZE ),  
786 - AnimateBubbleConstraint( childPos, Random::Range( -0.85f, 0.25f ), childSize.height ) );  
787 - child.ApplyConstraint( animConstraint ); 758 + Constraint animConstraint = Constraint::New < Vector3 > ( child, Actor::Property::POSITION, AnimateBubbleConstraint( childPos, Random::Range( -0.85f, 0.25f ), childSize.height ) );
  759 + animConstraint.AddSource( Source( mScrollView, ScrollView::Property::SCROLL_POSITION ) );
  760 + animConstraint.AddSource( Dali::ParentSource( Dali::Actor::Property::SIZE ) );
  761 + animConstraint.Apply();
788 762
789 // Kickoff animation 763 // Kickoff animation
790 Animation animation = Animation::New( Random::Range( 40.0f, 80.0f ) ); 764 Animation animation = Animation::New( Random::Range( 40.0f, 80.0f ) );
demo/po/as.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "বেলুন"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "অৱৰুদ্ধ কৰক"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "থুপ"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "ঘনক পৰিৱৰ্তনীয় প্ৰভাৱ"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "পৰিৱৰ্তনীয় প্ৰভাৱ"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "আইটেম দর্শন"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "পৰিবৰ্দ্ধক"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "অস্পষ্ট"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "বিস্তাৰ"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "পৃষ্ঠা লেআউট"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "ৰেডিয়েল নক্সা"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "প্ৰতিফলিত কৰক"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "স্ক্ৰ'ল কৰক"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "ছাঁয়া"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "লিপি"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "প্ৰতিচ্ছবি স্কেল কৰক"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "লেৱেল কৰক"
demo/po/de.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "Schaumbildung"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "Blöcke"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "Cluster"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "Würfel Übergangseffekt"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "Auflösen Übergangseffekt"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "Item-Ansicht"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "Bildschirmlupe"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "Bewegungsunschärfe"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "Bewegung Strecke"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "Seite wechseln"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "Radialmenü"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "Brechung"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "Scroll-Ansicht"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "Licht und Schatten"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "Scripting"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "Bildskalierung"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "Beschriftung"
demo/po/en.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "Bubbles"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "Blocks"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "Cluster"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "Cube Transition"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "Dissolve Transition"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "Item View"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "Magnifier"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "Motion Blur"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "Motion Stretch"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "Page Turn View"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "Radial Menu"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "Refraction"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "Scroll View"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "Lights and shadows"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "Script Based UI"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "Image Scaling Modes"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "Text Label"
demo/po/en_GB.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "Bubbles"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "Blocks"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "Cluster"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "Cube Transition"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "Dissolve Transition"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "Item View"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "Magnifier"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "Motion Blur"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "Motion Stretch"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "Page Turn View"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "Radial Menu"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "Refraction"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "Scroll View"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "Lights and shadows"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "Script Based UI"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "Image Scaling Modes"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "Text Label"
demo/po/en_US.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "Bubbles"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "Blocks"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "Cluster"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "Cube Transition"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "Dissolve Transition"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "Item View"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "Magnifier"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "Motion Blur"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "Motion Stretch"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "Page Turn View"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "Radial Menu"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "Refraction"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "Scroll View"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "Lights and shadows"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "Script Based UI"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "Image Scaling Modes"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "Text Label"
demo/po/es.po 0 → 100644
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "Burbujas"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "Bloques"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "Agrupación"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "Transición cubos"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "Transición disolver"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "Vista de elementos"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "Lupa"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "Desenfoque de movimiento"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "Movimiento con deformación"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "Vista de páginas"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "Menú radial"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "Refracción"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "Vista de desplazamiento"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "Luces y sombras"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "Interfaz definida por Script"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "Modos de escalado de imagen"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "Etiqueta de texto"
demo/po/ko.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "방울"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "블록"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "클러스터"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "입방체 전환"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "디졸브 전환"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "아이템 뷰"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "돋보기"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "모션 블러"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "늘이기"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "책장 넘기기"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "레이디 얼 메뉴"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "굴절 효과"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "스크롤 뷰"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "빛과 그림자"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "스크립팅"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "이미지 확대"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "텍스트 라벨"
demo/po/ml.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "കുമിള"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "തടയപ്പെട്ട"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "ക്ലസ്റ്റര്"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "സമചതുരക്കട്ട സംക്രമണ ഇഫക്ട്"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "സ്ഥാനാന്തരം സംക്രമണ ഇഫക്ട്"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "ഇനം കാഴ്ച"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "ഭൂതക്കണ്ണാടി"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "അവ്യക്തമാക്കല്"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "സ്ട്രെച്ച്"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "പേജ് ലേഔട്ട്"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "റേഡിയല് രേഖാചിത്രം"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "പ്രതിഫലിക്കുക"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "സ്ക്രോള്ചെയ്യുക കാഴ്ച"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "നിഴല്"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "സ്ക്രിപ്റ്റ്"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "ഇമേജിംഗ്"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "ലേബലുചെയ്യുക"
demo/po/ur.po 0 → 100644
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "بلبلے"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "اینٹیں"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "کلسٹر"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "کیوب منتقلی"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "حل منتقلی"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "چیزوں کی فہرست"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "مکبر"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "دھندلانے کی حرکت"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "کھینچھنے کی حرکت"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "کتاب"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "ریڈیل مینو"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "رفراکشن"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "سکرول ویو"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "روشنی اور سائے"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "سکرپٹ"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "تصویر پیمائی"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "لیبل"
demo/po/zn_CH.po 0 → 100755
  1 +msgid "DALI_DEMO_STR_TITLE_BUBBLES"
  2 +msgstr "气泡"
  3 +
  4 +msgid "DALI_DEMO_STR_TITLE_BLOCKS"
  5 +msgstr "块体"
  6 +
  7 +msgid "DALI_DEMO_STR_TITLE_CLUSTER"
  8 +msgstr "叢集"
  9 +
  10 +msgid "DALI_DEMO_STR_TITLE_CUBE_TRANSITION"
  11 +msgstr "方块 切换效果"
  12 +
  13 +msgid "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION"
  14 +msgstr "冰消瓦解 切换效果"
  15 +
  16 +msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW"
  17 +msgstr "項目 檢視"
  18 +
  19 +msgid "DALI_DEMO_STR_TITLE_MAGNIFIER"
  20 +msgstr "放大鏡"
  21 +
  22 +msgid "DALI_DEMO_STR_TITLE_MOTION_BLUR"
  23 +msgstr "动作 模糊"
  24 +
  25 +msgid "DALI_DEMO_STR_TITLE_MOTION_STRETCH"
  26 +msgstr "动作 拉伸"
  27 +
  28 +msgid "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW"
  29 +msgstr "页面"
  30 +
  31 +msgid "DALI_DEMO_STR_TITLE_RADIAL_MENU"
  32 +msgstr "射线图"
  33 +
  34 +msgid "DALI_DEMO_STR_TITLE_REFRACTION"
  35 +msgstr "折光"
  36 +
  37 +msgid "DALI_DEMO_STR_TITLE_SCROLL_VIEW"
  38 +msgstr "捲動"
  39 +
  40 +msgid "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS"
  41 +msgstr "阴影"
  42 +
  43 +msgid "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI"
  44 +msgstr "指令檔"
  45 +
  46 +msgid "DALI_DEMO_STR_TITLE_IMAGE_SCALING"
  47 +msgstr "图像 制定級數"
  48 +
  49 +msgid "DALI_DEMO_STR_TITLE_TEXT_LABEL"
  50 +msgstr "标签"
examples/animated-shapes/animated-shapes-example.cpp
@@ -18,6 +18,8 @@ @@ -18,6 +18,8 @@
18 #include <dali/dali.h> 18 #include <dali/dali.h>
19 #include <dali-toolkit/dali-toolkit.h> 19 #include <dali-toolkit/dali-toolkit.h>
20 20
  21 +#include "shared/view.h"
  22 +
21 using namespace Dali; 23 using namespace Dali;
22 24
23 namespace 25 namespace
@@ -47,6 +49,8 @@ public: @@ -47,6 +49,8 @@ public:
47 // The Init signal is received once (only) during the Application lifetime 49 // The Init signal is received once (only) during the Application lifetime
48 void Create( Application& application ) 50 void Create( Application& application )
49 { 51 {
  52 + DemoHelper::RequestThemeChange();
  53 +
50 // Get a handle to the stage 54 // Get a handle to the stage
51 Stage stage = Stage::GetCurrent(); 55 Stage stage = Stage::GetCurrent();
52 56
examples/atlas/atlas-example.cpp
@@ -209,7 +209,6 @@ private: @@ -209,7 +209,6 @@ private:
209 209
210 Toolkit::View mView; ///< The View instance. 210 Toolkit::View mView; ///< The View instance.
211 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 211 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
212 - Toolkit::TextView mTitleActor; ///< The Toolbar's Title.  
213 Layer mContentLayer; ///< Content layer (scrolling cluster content) 212 Layer mContentLayer; ///< Content layer (scrolling cluster content)
214 Toolkit::PushButton mLoseContextButton; 213 Toolkit::PushButton mLoseContextButton;
215 Atlas mAtlas; 214 Atlas mAtlas;
examples/blocks/blocks-example.cpp
@@ -73,65 +73,6 @@ const int TOTAL_LEVELS(3); ///&lt; @@ -73,65 +73,6 @@ const int TOTAL_LEVELS(3); ///&lt;
73 // constraints //////////////////////////////////////////////////////////////// 73 // constraints ////////////////////////////////////////////////////////////////
74 74
75 /** 75 /**
76 - * CollisionConstraint generates a collision vector  
77 - * between two actors a and b, assuming they're rectangular  
78 - * based on their size.  
79 - */  
80 -struct CollisionConstraint  
81 -{  
82 - /**  
83 - * Collision Constraint constructor  
84 - * The adjust (optional) parameter can be used to add a margin  
85 - * to the actors. A +ve size will result in larger collisions,  
86 - * while a -ve size will result in tighter collisions.  
87 - *  
88 - * @param[in] adjust (optional) Adjusts the rectangular size detection  
89 - */  
90 - CollisionConstraint(Vector3 adjust = Vector3::ZERO)  
91 - : mAdjust(adjust)  
92 - {  
93 - }  
94 -  
95 - /**  
96 - * Generates collision vector indicating whether Actor's A and B  
97 - * have overlapped eachother, and the relative position of Actor B to A.  
98 - *  
99 - * @param[in] current The current collision-property (ignored)  
100 - * @param[in] propertyA Actor A's Position property.  
101 - * @param[in] propertyB Actor B's Position property.  
102 - * @param[in] propertySizeA Actor A's Size property.  
103 - * @param[in] propertySizeB Actor B's Size property.  
104 - * @return The collision vector is returned.  
105 - */  
106 - Vector3 operator()(const Vector3& current,  
107 - const PropertyInput& propertyA,  
108 - const PropertyInput& propertyB,  
109 - const PropertyInput& propertySizeA,  
110 - const PropertyInput& propertySizeB)  
111 - {  
112 - const Vector3& a = propertyA.GetVector3();  
113 - const Vector3& b = propertyB.GetVector3();  
114 - const Vector3& sizeA = propertySizeA.GetVector3();  
115 - const Vector3& sizeB = propertySizeB.GetVector3();  
116 - const Vector3 sizeComb = (sizeA + sizeB + mAdjust) * 0.5f;  
117 -  
118 - // get collision relative to a.  
119 - Vector3 delta = b - a;  
120 -  
121 - // Check if not overlapping Actors.  
122 - if( (fabsf(delta.x) > sizeComb.width) ||  
123 - (fabsf(delta.y) > sizeComb.height) )  
124 - {  
125 - delta = Vector3::ZERO; // not overlapping  
126 - }  
127 -  
128 - return delta; // overlapping, return overlap vector relative to actor a.  
129 - }  
130 -  
131 - const Vector3 mAdjust; ///< Size Adjustment value  
132 -};  
133 -  
134 -/**  
135 * CollisionCircleRectangleConstraint generates a collision vector 76 * CollisionCircleRectangleConstraint generates a collision vector
136 * between two actors a (circle) and b (rectangle) 77 * between two actors a (circle) and b (rectangle)
137 */ 78 */
@@ -157,23 +98,20 @@ struct CollisionCircleRectangleConstraint @@ -157,23 +98,20 @@ struct CollisionCircleRectangleConstraint
157 * Generates collision vector indicating whether Actor's A and B 98 * Generates collision vector indicating whether Actor's A and B
158 * have overlapped eachother, and the relative position of Actor B to A. 99 * have overlapped eachother, and the relative position of Actor B to A.
159 * 100 *
160 - * @param[in] current The current collision-property (ignored)  
161 - * @param[in] propertyA Actor A's Position property.  
162 - * @param[in] propertyB Actor B's Position property.  
163 - * @param[in] propertySizeA Actor A's Size property.  
164 - * @param[in] propertySizeB Actor B's Size property. 101 + * @param[in,out] current The current collision-property
  102 + * @param[in] inputs Contains:
  103 + * Actor A's Position property.
  104 + * Actor B's Position property.
  105 + * Actor A's Size property.
  106 + * Actor B's Size property.
165 * @return The collision vector is returned. 107 * @return The collision vector is returned.
166 */ 108 */
167 - Vector3 operator()(const Vector3& current,  
168 - const PropertyInput& propertyA,  
169 - const PropertyInput& propertyB,  
170 - const PropertyInput& propertySizeA,  
171 - const PropertyInput& propertySizeB) 109 + void operator()( Vector3& current, const PropertyInputContainer& inputs )
172 { 110 {
173 - const Vector3& a = propertyA.GetVector3();  
174 - const Vector3 b = propertyB.GetVector3() + mAdjustPosition;  
175 - const Vector3& sizeA = propertySizeA.GetVector3();  
176 - const Vector3& sizeB = propertySizeB.GetVector3(); 111 + const Vector3& a = inputs[0]->GetVector3();
  112 + const Vector3 b = inputs[1]->GetVector3() + mAdjustPosition;
  113 + const Vector3& sizeA = inputs[2]->GetVector3();
  114 + const Vector3& sizeB = inputs[3]->GetVector3();
177 const Vector3 sizeA2 = sizeA * 0.5f; // circle radius 115 const Vector3 sizeA2 = sizeA * 0.5f; // circle radius
178 const Vector3 sizeB2 = (sizeB + mAdjustSize) * 0.5f; // rectangle half rectangle. 116 const Vector3 sizeB2 = (sizeB + mAdjustSize) * 0.5f; // rectangle half rectangle.
179 117
@@ -211,10 +149,12 @@ struct CollisionCircleRectangleConstraint @@ -211,10 +149,12 @@ struct CollisionCircleRectangleConstraint
211 if(delta.Length() < sizeA2.x) 149 if(delta.Length() < sizeA2.x)
212 { 150 {
213 delta.Normalize(); 151 delta.Normalize();
214 - return delta; 152 + current = delta;
  153 + }
  154 + else
  155 + {
  156 + current = Vector3::ZERO;
215 } 157 }
216 -  
217 - return Vector3::ZERO;  
218 } 158 }
219 159
220 const Vector3 mAdjustPosition; ///< Position Adjustment value 160 const Vector3 mAdjustPosition; ///< Position Adjustment value
@@ -243,20 +183,17 @@ struct WobbleConstraint @@ -243,20 +183,17 @@ struct WobbleConstraint
243 } 183 }
244 184
245 /** 185 /**
246 - * @param[in] current The current rotation property (ignored)  
247 - * @param[in] propertyWobble The wobble property (value from 0.0f to 1.0f) 186 + * @param[in,out] current The current rotation property
  187 + * @param[in] inputs Contains the wobble property (value from 0.0f to 1.0f)
248 * @return The rotation (quaternion) is generated. 188 * @return The rotation (quaternion) is generated.
249 */ 189 */
250 - Quaternion operator()(const Quaternion& current,  
251 - const PropertyInput& propertyWobble) 190 + void operator()( Quaternion& current, const PropertyInputContainer& inputs )
252 { 191 {
253 - const float& wobble = propertyWobble.GetFloat(); 192 + const float& wobble = inputs[0]->GetFloat();
254 193
255 float f = sinf(wobble * 10.0f) * (1.0f-wobble); 194 float f = sinf(wobble * 10.0f) * (1.0f-wobble);
256 195
257 - Quaternion q(mDeviation * f, Vector3::ZAXIS);  
258 -  
259 - return q; 196 + current = Quaternion(mDeviation * f, Vector3::ZAXIS);
260 } 197 }
261 198
262 const float mDeviation; ///< Deviation factor in radians. 199 const float mDeviation; ///< Deviation factor in radians.
@@ -289,6 +226,8 @@ public: @@ -289,6 +226,8 @@ public:
289 */ 226 */
290 void Create(Application& application) 227 void Create(Application& application)
291 { 228 {
  229 + DemoHelper::RequestThemeChange();
  230 +
292 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); 231 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent);
293 232
294 // Creates a default view with a default tool bar. 233 // Creates a default view with a default tool bar.
@@ -346,10 +285,9 @@ private: @@ -346,10 +285,9 @@ private:
346 mPaddleImage.SetSize( mPaddleFullSize ); 285 mPaddleImage.SetSize( mPaddleFullSize );
347 286
348 mWobbleProperty = mPaddle.RegisterProperty(WOBBLE_PROPERTY_NAME, 0.0f); 287 mWobbleProperty = mPaddle.RegisterProperty(WOBBLE_PROPERTY_NAME, 0.0f);
349 - Constraint wobbleConstraint = Constraint::New<Quaternion>( Actor::Property::ORIENTATION,  
350 - LocalSource(mWobbleProperty),  
351 - WobbleConstraint(10.0f));  
352 - mPaddle.ApplyConstraint(wobbleConstraint); 288 + Constraint wobbleConstraint = Constraint::New<Quaternion>( mPaddle, Actor::Property::ORIENTATION, WobbleConstraint(10.0f));
  289 + wobbleConstraint.AddSource( LocalSource(mWobbleProperty) );
  290 + wobbleConstraint.Apply();
353 291
354 mPaddle.SetPosition( stageSize * Vector3( PADDLE_START_POSITION ) ); 292 mPaddle.SetPosition( stageSize * Vector3( PADDLE_START_POSITION ) );
355 mContentLayer.Add(mPaddle); 293 mContentLayer.Add(mPaddle);
@@ -375,13 +313,12 @@ private: @@ -375,13 +313,12 @@ private:
375 Actor delegate = Actor::New(); 313 Actor delegate = Actor::New();
376 stage.Add(delegate); 314 stage.Add(delegate);
377 Property::Index property = delegate.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO); 315 Property::Index property = delegate.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO);
378 - Constraint constraint = Constraint::New<Vector3>( property,  
379 - Source(mBall, Actor::Property::POSITION),  
380 - Source(mPaddle, Actor::Property::POSITION),  
381 - Source(mBall, Actor::Property::SIZE),  
382 - Source(mPaddle, Actor::Property::SIZE),  
383 - CollisionCircleRectangleConstraint( -Vector3(0.0f, mPaddleHitMargin.height * 0.575f, 0.0f),-Vector3(mPaddleHitMargin) ));  
384 - delegate.ApplyConstraint(constraint); 316 + Constraint constraint = Constraint::New<Vector3>( delegate, property, CollisionCircleRectangleConstraint( -Vector3(0.0f, mPaddleHitMargin.height * 0.575f, 0.0f),-Vector3(mPaddleHitMargin) ) );
  317 + constraint.AddSource( Source(mBall, Actor::Property::POSITION) );
  318 + constraint.AddSource( Source(mPaddle, Actor::Property::POSITION) );
  319 + constraint.AddSource( Source(mBall, Actor::Property::SIZE) );
  320 + constraint.AddSource( Source(mPaddle, Actor::Property::SIZE) );
  321 + constraint.Apply();
385 322
386 PropertyNotification paddleNotification = delegate.AddPropertyNotification( property, GreaterThanCondition(0.0f) ); 323 PropertyNotification paddleNotification = delegate.AddPropertyNotification( property, GreaterThanCondition(0.0f) );
387 paddleNotification.NotifySignal().Connect( this, &ExampleController::OnHitPaddle ); 324 paddleNotification.NotifySignal().Connect( this, &ExampleController::OnHitPaddle );
@@ -600,13 +537,12 @@ private: @@ -600,13 +537,12 @@ private:
600 537
601 // Add a constraint on the brick between it and the ball generating a collision-property 538 // Add a constraint on the brick between it and the ball generating a collision-property
602 Property::Index property = brick.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO); 539 Property::Index property = brick.RegisterProperty(COLLISION_PROPERTY_NAME, Vector3::ZERO);
603 - Constraint constraint = Constraint::New<Vector3>( property,  
604 - Source(mBall, Actor::Property::POSITION),  
605 - Source(brick, Actor::Property::POSITION),  
606 - Source(mBall, Actor::Property::SIZE),  
607 - Source(brick, Actor::Property::SIZE),  
608 - CollisionCircleRectangleConstraint(BRICK_COLLISION_MARGIN));  
609 - brick.ApplyConstraint(constraint); 540 + Constraint constraint = Constraint::New<Vector3>( brick, property, CollisionCircleRectangleConstraint(BRICK_COLLISION_MARGIN) );
  541 + constraint.AddSource( Source(mBall, Actor::Property::POSITION) );
  542 + constraint.AddSource( Source(brick, Actor::Property::POSITION) );
  543 + constraint.AddSource( Source(mBall, Actor::Property::SIZE) );
  544 + constraint.AddSource( Source(brick, Actor::Property::SIZE) );
  545 + constraint.Apply();
610 546
611 // Now add a notification on this collision-property 547 // Now add a notification on this collision-property
612 548
examples/bubble-effect/bubble-effect-example.cpp
@@ -95,6 +95,8 @@ private: @@ -95,6 +95,8 @@ private:
95 // The Init signal is received once (only) during the Application lifetime 95 // The Init signal is received once (only) during the Application lifetime
96 void Create(Application& app) 96 void Create(Application& app)
97 { 97 {
  98 + DemoHelper::RequestThemeChange();
  99 +
98 Stage stage = Stage::GetCurrent(); 100 Stage stage = Stage::GetCurrent();
99 Vector2 stageSize = stage.GetSize(); 101 Vector2 stageSize = stage.GetSize();
100 102
examples/builder/examples.cpp
@@ -59,7 +59,7 @@ std::string JSON_BROKEN(&quot; \ @@ -59,7 +59,7 @@ std::string JSON_BROKEN(&quot; \
59 'stage': \ 59 'stage': \
60 [ \ 60 [ \
61 { \ 61 { \
62 - 'type':'TextView', \ 62 + 'type':'TextLabel', \
63 'size': [50,50,1], \ 63 'size': [50,50,1], \
64 'parent-origin': 'CENTER', \ 64 'parent-origin': 'CENTER', \
65 'text':'COULD NOT LOAD JSON FILE' \ 65 'text':'COULD NOT LOAD JSON FILE' \
@@ -243,15 +243,12 @@ public: @@ -243,15 +243,12 @@ public:
243 { 243 {
244 if(!mTitleActor) 244 if(!mTitleActor)
245 { 245 {
246 - mTitleActor = TextView::New(); 246 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
247 // Add title to the tool bar. 247 // Add title to the tool bar.
248 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 248 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
249 } 249 }
250 250
251 - Font font = Font::New();  
252 - mTitleActor.SetText( title );  
253 - mTitleActor.SetSize( font.MeasureText( title ) );  
254 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 251 + mTitleActor.SetProperty( TextLabel::Property::TEXT, title );
255 } 252 }
256 253
257 bool OnToolSelectLayout( Toolkit::Button button ) 254 bool OnToolSelectLayout( Toolkit::Button button )
@@ -396,23 +393,14 @@ public: @@ -396,23 +393,14 @@ public:
396 393
397 Actor MenuItem(const std::string& text) 394 Actor MenuItem(const std::string& text)
398 { 395 {
399 - TextView t = TextView::New();  
400 - t.SetResizePolicy( FILL_TO_PARENT, WIDTH );  
401 - t.SetMarkupProcessingEnabled(true);  
402 -  
403 - int size = static_cast<int>(DemoHelper::ScalePointSize(6));  
404 -  
405 - std::ostringstream fontString;  
406 - fontString << "<font size="<< size <<">"<< ShortName( text ) << "</font>";  
407 -  
408 - t.SetText( fontString.str() );  
409 -  
410 - t.SetTextAlignment( Alignment::HorizontalLeft ); 396 + TextLabel label = TextLabel::New( ShortName( text ) );
  397 + label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "builderlabel" );
  398 + label.SetResizePolicy( FILL_TO_PARENT, WIDTH );
411 399
412 // Hook up tap detector 400 // Hook up tap detector
413 - mTapDetector.Attach( t ); 401 + mTapDetector.Attach( label );
414 402
415 - return t; 403 + return label;
416 } 404 }
417 405
418 bool OnTimer() 406 bool OnTimer()
@@ -516,6 +504,8 @@ public: @@ -516,6 +504,8 @@ public:
516 504
517 void Create(Application& app) 505 void Create(Application& app)
518 { 506 {
  507 + DemoHelper::RequestThemeChange();
  508 +
519 Stage stage = Stage::GetCurrent(); 509 Stage stage = Stage::GetCurrent();
520 510
521 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleApp::OnKeyEvent); 511 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleApp::OnKeyEvent);
@@ -605,7 +595,7 @@ private: @@ -605,7 +595,7 @@ private:
605 unsigned int mOrientation; 595 unsigned int mOrientation;
606 596
607 Toolkit::ToolBar mToolBar; 597 Toolkit::ToolBar mToolBar;
608 - TextView mTitleActor; ///< The Toolbar's Title. 598 + TextLabel mTitleActor; ///< The Toolbar's Title.
609 599
610 Layer mBuilderLayer; 600 Layer mBuilderLayer;
611 601
examples/buttons/buttons-example.cpp
@@ -108,6 +108,8 @@ class ButtonsController: public ConnectionTracker @@ -108,6 +108,8 @@ class ButtonsController: public ConnectionTracker
108 { 108 {
109 // The Init signal is received once (only) during the Application lifetime 109 // The Init signal is received once (only) during the Application lifetime
110 110
  111 + DemoHelper::RequestThemeChange();
  112 +
111 // Respond to key events 113 // Respond to key events
112 Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent); 114 Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent);
113 115
@@ -238,8 +240,8 @@ class ButtonsController: public ConnectionTracker @@ -238,8 +240,8 @@ class ButtonsController: public ConnectionTracker
238 tableView.SetSize( DP(260), 0.0f ); 240 tableView.SetSize( DP(260), 0.0f );
239 tableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT ); 241 tableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
240 242
241 - Toolkit::TextView textView = Toolkit::TextView::New( "Select enabled" );  
242 - tableView.AddChild( textView, Toolkit::TableView::CellPosition( 0, 0 ) ); 243 + Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( "Select enabled" );
  244 + tableView.AddChild( textLabel, Toolkit::TableView::CellPosition( 0, 0 ) );
243 245
244 ImageActor imageActor = ImageActor::New( ResourceImage::New( ENABLED_IMAGE ) ); 246 ImageActor imageActor = ImageActor::New( ResourceImage::New( ENABLED_IMAGE ) );
245 imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) ); 247 imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
examples/cluster/cluster-example.cpp
@@ -183,15 +183,16 @@ struct CarouselEffectOrientationConstraint @@ -183,15 +183,16 @@ struct CarouselEffectOrientationConstraint
183 * @param[in] current The object's current property value 183 * @param[in] current The object's current property value
184 * @return The object's new property value 184 * @return The object's new property value
185 */ 185 */
186 - Vector2 operator()(const Vector2& current,  
187 - const PropertyInput& propertyOrientation) 186 + void operator()( Vector2& current, const PropertyInputContainer& inputs )
188 { 187 {
189 Vector3 axis; 188 Vector3 axis;
190 float angle; 189 float angle;
191 - propertyOrientation.GetQuaternion().ToAxisAngle( axis, angle );  
192 - Vector2 direction( cosf(angle), sinf(angle) ); 190 + inputs[0]->GetQuaternion().ToAxisAngle( axis, angle );
  191 +
  192 + current.x = cosf(angle);
  193 + current.y = sinf(angle);
193 194
194 - return mAngleSweep * direction; 195 + current *= mAngleSweep;
195 } 196 }
196 197
197 Vector2 mAngleSweep; 198 Vector2 mAngleSweep;
@@ -220,16 +221,13 @@ struct ShearEffectConstraint @@ -220,16 +221,13 @@ struct ShearEffectConstraint
220 } 221 }
221 222
222 /** 223 /**
223 - * @param[in] current The current shear effect Angle.  
224 - * @param[in] scrollOvershootProperty The overshoot property from ScrollView  
225 - * @param[in] propertyViewOrientation The orientation of the view e.g. Portrait, Landscape. 224 + * @param[in,out] current The current shear effect Angle.
  225 + * @param[in] inputs Contains the overshoot property from ScrollView and the orientation of the view e.g. Portrait, Landscape.
226 * @return angle to provide ShearShaderEffect 226 * @return angle to provide ShearShaderEffect
227 */ 227 */
228 - float operator()(const float& current,  
229 - const PropertyInput& scrollOvershootProperty,  
230 - const PropertyInput& propertyViewOrientation) 228 + void operator()( float& current, const PropertyInputContainer& inputs )
231 { 229 {
232 - float f = scrollOvershootProperty.GetVector3().x; 230 + float f = inputs[0]->GetVector3().x;
233 231
234 float mag = fabsf(f); 232 float mag = fabsf(f);
235 float halfWidth = mStageSize.x * 0.5f; 233 float halfWidth = mStageSize.x * 0.5f;
@@ -245,11 +243,11 @@ struct ShearEffectConstraint @@ -245,11 +243,11 @@ struct ShearEffectConstraint
245 // the component mask passed in. 243 // the component mask passed in.
246 Vector3 axis; 244 Vector3 axis;
247 float angle; 245 float angle;
248 - propertyViewOrientation.GetQuaternion().ToAxisAngle( axis, angle ); 246 + inputs[1]->GetQuaternion().ToAxisAngle( axis, angle );
249 Vector2 direction( cosf(angle), sinf(angle) ); 247 Vector2 direction( cosf(angle), sinf(angle) );
250 float yield = direction.x * mComponentMask.x + direction.y * mComponentMask.y; 248 float yield = direction.x * mComponentMask.x + direction.y * mComponentMask.y;
251 249
252 - return overshoot * mMaxOvershoot * yield; 250 + current = overshoot * mMaxOvershoot * yield;
253 } 251 }
254 252
255 Vector2 mStageSize; 253 Vector2 mStageSize;
@@ -276,15 +274,15 @@ struct ShearEffectCenterConstraint @@ -276,15 +274,15 @@ struct ShearEffectCenterConstraint
276 } 274 }
277 275
278 /** 276 /**
279 - * @param[in] current The current center  
280 - * @param[in] propertyViewSize The current view size 277 + * @param[in,out] current The current center
  278 + * @param[in] inputs Contains the current view size
281 * @return vector to provide ShearShaderEffect 279 * @return vector to provide ShearShaderEffect
282 */ 280 */
283 - Vector2 operator()(const Vector2& current,  
284 - const PropertyInput& propertyViewSize) 281 + void operator()( Vector2& current, const PropertyInputContainer& inputs )
285 { 282 {
286 - float f = propertyViewSize.GetVector3().width / mStageSize.width;  
287 - return Vector2( f * mCenter.x, mCenter.y ); 283 + float f = inputs[0]->GetVector3().width / mStageSize.width;
  284 + current.x = f * mCenter.x;
  285 + current.y = mCenter.y;
288 } 286 }
289 287
290 Vector2 mStageSize; 288 Vector2 mStageSize;
@@ -313,9 +311,9 @@ struct SphereEffectOffsetConstraint @@ -313,9 +311,9 @@ struct SphereEffectOffsetConstraint
313 * @param[in] propertyViewSize The current view size 311 * @param[in] propertyViewSize The current view size
314 * @return vector to provide SphereShaderEffect 312 * @return vector to provide SphereShaderEffect
315 */ 313 */
316 - float operator()(const float& current) 314 + void operator()( float& current, const PropertyInputContainer& /* inputs */ )
317 { 315 {
318 - return current + mOffset; 316 + current += mOffset;
319 } 317 }
320 318
321 float mOffset; 319 float mOffset;
@@ -375,11 +373,11 @@ struct ClusterInfo @@ -375,11 +373,11 @@ struct ClusterInfo
375 } 373 }
376 374
377 375
378 - Cluster mCluster; ///< Cluster instance  
379 - int mIndex; ///< Cluster index  
380 - Vector3 mPosition; ///< Cluster original position  
381 - Vector3 mSize; ///< Cluster original size  
382 - ActiveConstraint mEffectConstraint; ///< Cluster constraint 376 + Cluster mCluster; ///< Cluster instance
  377 + int mIndex; ///< Cluster index
  378 + Vector3 mPosition; ///< Cluster original position
  379 + Vector3 mSize; ///< Cluster original size
  380 + Constraint mEffectConstraint; ///< Cluster constraint
383 }; 381 };
384 382
385 /** 383 /**
@@ -447,6 +445,8 @@ public: @@ -447,6 +445,8 @@ public:
447 */ 445 */
448 void Create(Application& application) 446 void Create(Application& application)
449 { 447 {
  448 + DemoHelper::RequestThemeChange();
  449 +
450 Stage::GetCurrent().KeyEventSignal().Connect(this, &ClusterController::OnKeyEvent); 450 Stage::GetCurrent().KeyEventSignal().Connect(this, &ClusterController::OnKeyEvent);
451 451
452 Vector2 stageSize = Stage::GetCurrent().GetSize(); 452 Vector2 stageSize = Stage::GetCurrent().GetSize();
@@ -689,7 +689,7 @@ public: @@ -689,7 +689,7 @@ public:
689 RemoveShaderEffectRecursively( cluster ); 689 RemoveShaderEffectRecursively( cluster );
690 if( i->mEffectConstraint ) 690 if( i->mEffectConstraint )
691 { 691 {
692 - cluster.RemoveConstraint(i->mEffectConstraint); 692 + i->mEffectConstraint.Remove();
693 i->mEffectConstraint.Reset(); 693 i->mEffectConstraint.Reset();
694 } 694 }
695 } 695 }
@@ -719,10 +719,10 @@ public: @@ -719,10 +719,10 @@ public:
719 719
720 Vector2 shearCenter( Vector2(position.x + size.width * shearAnchor.x, position.y + size.height * shearAnchor.y) ); 720 Vector2 shearCenter( Vector2(position.x + size.width * shearAnchor.x, position.y + size.height * shearAnchor.y) );
721 Property::Index centerProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetCenterPropertyName()); 721 Property::Index centerProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetCenterPropertyName());
722 - Constraint constraint = Constraint::New<Vector2>( centerProperty,  
723 - Source(mView, Actor::Property::SIZE),  
724 - ShearEffectCenterConstraint(stageSize, shearCenter) );  
725 - shaderEffect.ApplyConstraint(constraint); 722 + Constraint constraint = Constraint::New<Vector2>( shaderEffect, centerProperty, ShearEffectCenterConstraint(stageSize, shearCenter) );
  723 + constraint.AddSource( Source(mView, Actor::Property::SIZE) );
  724 +
  725 + constraint.Apply();
726 726
727 SetShaderEffectRecursively( cluster,shaderEffect ); 727 SetShaderEffectRecursively( cluster,shaderEffect );
728 728
@@ -731,16 +731,15 @@ public: @@ -731,16 +731,15 @@ public:
731 Property::Index angleXAxisProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetAngleXAxisPropertyName()); 731 Property::Index angleXAxisProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetAngleXAxisPropertyName());
732 Property::Index angleYAxisProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetAngleYAxisPropertyName()); 732 Property::Index angleYAxisProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetAngleYAxisPropertyName());
733 733
734 - constraint = Constraint::New<float>( angleXAxisProperty,  
735 - Source(mScrollView, scrollOvershootProperty),  
736 - Source(mView, Actor::Property::ORIENTATION),  
737 - ShearEffectConstraint(stageSize, SHEAR_EFFECT_MAX_OVERSHOOT, Vector2::XAXIS) );  
738 - shaderEffect.ApplyConstraint(constraint);  
739 - constraint = Constraint::New<float>( angleYAxisProperty,  
740 - Source(mScrollView, scrollOvershootProperty),  
741 - Source(mView, Actor::Property::ORIENTATION),  
742 - ShearEffectConstraint(stageSize, SHEAR_EFFECT_MAX_OVERSHOOT, Vector2::YAXIS) );  
743 - shaderEffect.ApplyConstraint(constraint); 734 + constraint = Constraint::New<float>( shaderEffect, angleXAxisProperty, ShearEffectConstraint(stageSize, SHEAR_EFFECT_MAX_OVERSHOOT, Vector2::XAXIS) );
  735 + constraint.AddSource( Source(mScrollView, scrollOvershootProperty) );
  736 + constraint.AddSource( Source(mView, Actor::Property::ORIENTATION) );
  737 + constraint.Apply();
  738 +
  739 + constraint = Constraint::New<float>( shaderEffect, angleYAxisProperty, ShearEffectConstraint(stageSize, SHEAR_EFFECT_MAX_OVERSHOOT, Vector2::YAXIS ) );
  740 + constraint.AddSource( Source(mScrollView, scrollOvershootProperty) );
  741 + constraint.AddSource( Source(mView, Actor::Property::ORIENTATION) );
  742 + constraint.Apply();
744 743
745 744
746 } 745 }
@@ -764,9 +763,9 @@ public: @@ -764,9 +763,9 @@ public:
764 CAROUSEL_EFFECT_ANGLE_SWEEP / stageSize.width ); 763 CAROUSEL_EFFECT_ANGLE_SWEEP / stageSize.width );
765 764
766 Property::Index anglePerUnit = shaderEffect.GetPropertyIndex( shaderEffect.GetAnglePerUnitPropertyName() ); 765 Property::Index anglePerUnit = shaderEffect.GetPropertyIndex( shaderEffect.GetAnglePerUnitPropertyName() );
767 - shaderEffect.ApplyConstraint( Constraint::New<Vector2>( anglePerUnit,  
768 - Source(mView, Actor::Property::ORIENTATION),  
769 - CarouselEffectOrientationConstraint( angleSweep ) ) ); 766 + Constraint constraint = Constraint::New<Vector2>( shaderEffect, anglePerUnit, CarouselEffectOrientationConstraint( angleSweep ) );
  767 + constraint.AddSource( Source(mView, Actor::Property::ORIENTATION) );
  768 + constraint.Apply();
770 769
771 break; 770 break;
772 } 771 }
@@ -792,11 +791,11 @@ public: @@ -792,11 +791,11 @@ public:
792 // dont apply shader effect to scrollview as it might override internal shaders for bounce effect etc 791 // dont apply shader effect to scrollview as it might override internal shaders for bounce effect etc
793 for( std::vector<ClusterInfo>::iterator i = mClusterInfo.begin(); i != mClusterInfo.end(); ++i ) 792 for( std::vector<ClusterInfo>::iterator i = mClusterInfo.begin(); i != mClusterInfo.end(); ++i )
794 { 793 {
795 - Constraint constraint = Constraint::New<float>(Actor::Property::POSITION_Z, SphereEffectOffsetConstraint(SPHERE_EFFECT_POSITION_Z));  
796 - constraint.SetRemoveAction(Constraint::Discard);  
797 Cluster cluster = i->mCluster; 794 Cluster cluster = i->mCluster;
  795 + i->mEffectConstraint = Constraint::New<float>( cluster, Actor::Property::POSITION_Z, SphereEffectOffsetConstraint( SPHERE_EFFECT_POSITION_Z ) );
  796 + i->mEffectConstraint.SetRemoveAction(Constraint::Discard);
798 SetShaderEffectRecursively( cluster, shaderEffect ); 797 SetShaderEffectRecursively( cluster, shaderEffect );
799 - i->mEffectConstraint = cluster.ApplyConstraint(constraint); 798 + i->mEffectConstraint.Apply();
800 } 799 }
801 break; 800 break;
802 } 801 }
@@ -825,15 +824,13 @@ public: @@ -825,15 +824,13 @@ public:
825 { 824 {
826 if(!mTitleActor) 825 if(!mTitleActor)
827 { 826 {
828 - mTitleActor = TextView::New(); 827 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
  828 +
829 // Add title to the tool bar. 829 // Add title to the tool bar.
830 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 830 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
831 } 831 }
832 832
833 - Font font = Font::New();  
834 - mTitleActor.SetText( title );  
835 - mTitleActor.SetSize( font.MeasureText( title ) );  
836 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 833 + mTitleActor.SetProperty( TextLabel::Property::TEXT, title );
837 } 834 }
838 835
839 /** 836 /**
@@ -855,7 +852,7 @@ private: @@ -855,7 +852,7 @@ private:
855 Application& mApplication; ///< Application instance 852 Application& mApplication; ///< Application instance
856 Toolkit::View mView; ///< The View instance. 853 Toolkit::View mView; ///< The View instance.
857 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 854 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
858 - TextView mTitleActor; ///< The Toolbar's Title. 855 + TextLabel mTitleActor; ///< The Toolbar's Title.
859 856
860 Layer mContentLayer; ///< Content layer (scrolling cluster content) 857 Layer mContentLayer; ///< Content layer (scrolling cluster content)
861 858
examples/cube-transition-effect/cube-transition-effect-example.cpp
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@
26 26
27 using namespace Dali; 27 using namespace Dali;
28 28
  29 +using Dali::Toolkit::TextLabel;
  30 +
29 // LOCAL STUFF 31 // LOCAL STUFF
30 namespace 32 namespace
31 { 33 {
@@ -173,7 +175,7 @@ private: @@ -173,7 +175,7 @@ private:
173 Toolkit::View mView; 175 Toolkit::View mView;
174 Toolkit::ToolBar mToolBar; 176 Toolkit::ToolBar mToolBar;
175 Layer mContent; 177 Layer mContent;
176 - Toolkit::TextView mTitleActor; 178 + Toolkit::TextLabel mTitleActor;
177 Actor mParent; 179 Actor mParent;
178 180
179 Vector2 mViewSize; 181 Vector2 mViewSize;
@@ -221,6 +223,8 @@ CubeTransitionApp::~CubeTransitionApp() @@ -221,6 +223,8 @@ CubeTransitionApp::~CubeTransitionApp()
221 223
222 void CubeTransitionApp::OnInit( Application& application ) 224 void CubeTransitionApp::OnInit( Application& application )
223 { 225 {
  226 + DemoHelper::RequestThemeChange();
  227 +
224 Stage::GetCurrent().KeyEventSignal().Connect(this, &CubeTransitionApp::OnKeyEvent); 228 Stage::GetCurrent().KeyEventSignal().Connect(this, &CubeTransitionApp::OnKeyEvent);
225 229
226 // Creates a default view with a default tool bar, the view is added to the stage. 230 // Creates a default view with a default tool bar, the view is added to the stage.
@@ -236,7 +240,7 @@ void CubeTransitionApp::OnInit( Application&amp; application ) @@ -236,7 +240,7 @@ void CubeTransitionApp::OnInit( Application&amp; application )
236 mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); 240 mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
237 241
238 // Add title to the tool bar. 242 // Add title to the tool bar.
239 - mTitleActor = Toolkit::TextView::New(); 243 + mTitleActor = DemoHelper::CreateToolBarLabel( APPLICATION_TITLE_WAVE );
240 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); 244 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter );
241 245
242 //Add an slideshow icon on the right of the title 246 //Add an slideshow icon on the right of the title
@@ -290,11 +294,6 @@ void CubeTransitionApp::OnInit( Application&amp; application ) @@ -290,11 +294,6 @@ void CubeTransitionApp::OnInit( Application&amp; application )
290 294
291 mCurrentEffect = mCubeWaveEffect; 295 mCurrentEffect = mCubeWaveEffect;
292 mCurrentEffect.SetCurrentImage( mCurrentImage ); 296 mCurrentEffect.SetCurrentImage( mCurrentImage );
293 -  
294 - // Set Title text  
295 - mTitleActor.SetText( APPLICATION_TITLE_WAVE );  
296 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_WAVE ) );  
297 - mTitleActor.SetStyleToCurrentText( DemoHelper::GetDefaultTextStyle() );  
298 } 297 }
299 298
300 // signal handler, called when the pan gesture is detected 299 // signal handler, called when the pan gesture is detected
@@ -359,26 +358,22 @@ bool CubeTransitionApp::OnEffectButtonClicked( Toolkit::Button button ) @@ -359,26 +358,22 @@ bool CubeTransitionApp::OnEffectButtonClicked( Toolkit::Button button )
359 if(mCurrentEffect == mCubeWaveEffect) 358 if(mCurrentEffect == mCubeWaveEffect)
360 { 359 {
361 mCurrentEffect = mCubeCrossEffect; 360 mCurrentEffect = mCubeCrossEffect;
362 - mTitleActor.SetText( APPLICATION_TITLE_CROSS );  
363 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_CROSS ) ); 361 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_CROSS) );
364 mEffectChangeButton.SetBackgroundImage(mImageCross); 362 mEffectChangeButton.SetBackgroundImage(mImageCross);
365 363
366 } 364 }
367 else if(mCurrentEffect == mCubeCrossEffect) 365 else if(mCurrentEffect == mCubeCrossEffect)
368 { 366 {
369 mCurrentEffect = mCubeFoldEffect; 367 mCurrentEffect = mCubeFoldEffect;
370 - mTitleActor.SetText( APPLICATION_TITLE_FOLD );  
371 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_FOLD ) ); 368 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_FOLD) );
372 mEffectChangeButton.SetBackgroundImage(mImageFold); 369 mEffectChangeButton.SetBackgroundImage(mImageFold);
373 } 370 }
374 else 371 else
375 { 372 {
376 mCurrentEffect = mCubeWaveEffect; 373 mCurrentEffect = mCubeWaveEffect;
377 - mTitleActor.SetText( APPLICATION_TITLE_WAVE );  
378 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_WAVE ) ); 374 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_WAVE) );
379 mEffectChangeButton.SetBackgroundImage(mImageWave); 375 mEffectChangeButton.SetBackgroundImage(mImageWave);
380 } 376 }
381 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle());  
382 377
383 // Set the current image to cube transition effect 378 // Set the current image to cube transition effect
384 // only need to set at beginning or change from another effect 379 // only need to set at beginning or change from another effect
examples/dissolve-effect/dissolve-effect-example.cpp
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@
26 26
27 using namespace Dali; 27 using namespace Dali;
28 28
  29 +using Dali::Toolkit::TextLabel;
  30 +
29 // LOCAL STUFF 31 // LOCAL STUFF
30 namespace 32 namespace
31 { 33 {
@@ -157,7 +159,7 @@ private: @@ -157,7 +159,7 @@ private:
157 Toolkit::View mView; 159 Toolkit::View mView;
158 Toolkit::ToolBar mToolBar; 160 Toolkit::ToolBar mToolBar;
159 Layer mContent; 161 Layer mContent;
160 - Toolkit::TextView mTitleActor; 162 + Toolkit::TextLabel mTitleActor;
161 Actor mParent; 163 Actor mParent;
162 164
163 ImageActor mCurrentImage; 165 ImageActor mCurrentImage;
@@ -205,6 +207,8 @@ DissolveEffectApp::~DissolveEffectApp() @@ -205,6 +207,8 @@ DissolveEffectApp::~DissolveEffectApp()
205 207
206 void DissolveEffectApp::OnInit( Application& application ) 208 void DissolveEffectApp::OnInit( Application& application )
207 { 209 {
  210 + DemoHelper::RequestThemeChange();
  211 +
208 Stage::GetCurrent().KeyEventSignal().Connect(this, &DissolveEffectApp::OnKeyEvent); 212 Stage::GetCurrent().KeyEventSignal().Connect(this, &DissolveEffectApp::OnKeyEvent);
209 213
210 // Creates a default view with a default tool bar, the view is added to the stage. 214 // Creates a default view with a default tool bar, the view is added to the stage.
@@ -219,9 +223,7 @@ void DissolveEffectApp::OnInit( Application&amp; application ) @@ -219,9 +223,7 @@ void DissolveEffectApp::OnInit( Application&amp; application )
219 mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); 223 mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
220 224
221 // Add title to the tool bar. 225 // Add title to the tool bar.
222 - mTitleActor = Toolkit::TextView::New();  
223 - mTitleActor.SetText( APPLICATION_TITLE_HIGHP );  
224 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 226 + mTitleActor = DemoHelper::CreateToolBarLabel( APPLICATION_TITLE_HIGHP );
225 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); 227 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter );
226 228
227 // Add an slide-show button on the right of the title 229 // Add an slide-show button on the right of the title
@@ -340,15 +342,14 @@ bool DissolveEffectApp::OnEffectButtonClicked( Toolkit::Button button ) @@ -340,15 +342,14 @@ bool DissolveEffectApp::OnEffectButtonClicked( Toolkit::Button button )
340 mCurrentImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision); 342 mCurrentImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision);
341 if(mUseHighPrecision) 343 if(mUseHighPrecision)
342 { 344 {
343 - mTitleActor.SetText( APPLICATION_TITLE_HIGHP ); 345 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_HIGHP) );
344 mEffectChangeButton.SetBackgroundImage(mIconHighP); 346 mEffectChangeButton.SetBackgroundImage(mIconHighP);
345 } 347 }
346 else 348 else
347 { 349 {
348 - mTitleActor.SetText( APPLICATION_TITLE_MEDIUMP ); 350 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_MEDIUMP) );
349 mEffectChangeButton.SetBackgroundImage(mIconMediumP); 351 mEffectChangeButton.SetBackgroundImage(mIconMediumP);
350 } 352 }
351 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle());  
352 353
353 return true; 354 return true;
354 } 355 }
examples/hello-world/hello-world-example.cpp
@@ -15,10 +15,10 @@ @@ -15,10 +15,10 @@
15 * 15 *
16 */ 16 */
17 17
18 -#include <dali/dali.h>  
19 -#include <iostream> 18 +#include <dali-toolkit/dali-toolkit.h>
20 19
21 using namespace Dali; 20 using namespace Dali;
  21 +using Dali::Toolkit::TextLabel;
22 22
23 // This example shows how to create and display Hello World! using a simple TextActor 23 // This example shows how to create and display Hello World! using a simple TextActor
24 // 24 //
@@ -29,8 +29,6 @@ public: @@ -29,8 +29,6 @@ public:
29 HelloWorldController( Application& application ) 29 HelloWorldController( Application& application )
30 : mApplication( application ) 30 : mApplication( application )
31 { 31 {
32 - std::cout << "HelloWorldController::HelloWorldController" << std::endl;  
33 -  
34 // Connect to the Application's Init signal 32 // Connect to the Application's Init signal
35 mApplication.InitSignal().Connect( this, &HelloWorldController::Create ); 33 mApplication.InitSignal().Connect( this, &HelloWorldController::Create );
36 } 34 }
@@ -43,19 +41,13 @@ public: @@ -43,19 +41,13 @@ public:
43 // The Init signal is received once (only) during the Application lifetime 41 // The Init signal is received once (only) during the Application lifetime
44 void Create( Application& application ) 42 void Create( Application& application )
45 { 43 {
46 - std::cout << "HelloWorldController::Create" << std::endl;  
47 -  
48 - // Initialize the actor  
49 - TextActor textActor = TextActor::New( "Hello World" );  
50 -  
51 - // Reposition the actor  
52 - textActor.SetParentOrigin( ParentOrigin::CENTER );  
53 -  
54 // Get a handle to the stage 44 // Get a handle to the stage
55 Stage stage = Stage::GetCurrent(); 45 Stage stage = Stage::GetCurrent();
56 46
57 - // Display the actor on the stage  
58 - stage.Add( textActor ); 47 + TextLabel textLabel = TextLabel::New( "Hello World" );
  48 + textLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  49 + textLabel.SetName( "hello-world-label" );
  50 + stage.Add( textLabel );
59 51
60 // Respond to a click anywhere on the stage 52 // Respond to a click anywhere on the stage
61 stage.GetRootLayer().TouchedSignal().Connect( this, &HelloWorldController::OnTouch ); 53 stage.GetRootLayer().TouchedSignal().Connect( this, &HelloWorldController::OnTouch );
examples/image-scaling-irregular-grid/image-scaling-irregular-grid-example.cpp
@@ -291,6 +291,8 @@ public: @@ -291,6 +291,8 @@ public:
291 { 291 {
292 std::cout << "ImageScalingScaleToFillController::Create" << std::endl; 292 std::cout << "ImageScalingScaleToFillController::Create" << std::endl;
293 293
  294 + DemoHelper::RequestThemeChange();
  295 +
294 // Get a handle to the stage: 296 // Get a handle to the stage:
295 Stage stage = Stage::GetCurrent(); 297 Stage stage = Stage::GetCurrent();
296 298
@@ -539,15 +541,12 @@ public: @@ -539,15 +541,12 @@ public:
539 { 541 {
540 if(!mTitleActor) 542 if(!mTitleActor)
541 { 543 {
542 - mTitleActor = TextView::New(); 544 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
543 // Add title to the tool bar. 545 // Add title to the tool bar.
544 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 546 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
545 } 547 }
546 548
547 - Font font = Font::New();  
548 - mTitleActor.SetText( title );  
549 - mTitleActor.SetSize( font.MeasureText( title ) );  
550 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 549 + mTitleActor.SetProperty( TextLabel::Property::TEXT, title );
551 } 550 }
552 551
553 /** 552 /**
@@ -576,7 +575,7 @@ private: @@ -576,7 +575,7 @@ private:
576 Layer mContentLayer; ///< The content layer (contains non gui chrome actors) 575 Layer mContentLayer; ///< The content layer (contains non gui chrome actors)
577 Toolkit::View mView; ///< The View instance. 576 Toolkit::View mView; ///< The View instance.
578 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 577 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
579 - TextView mTitleActor; ///< The Toolbar's Title. 578 + TextLabel mTitleActor; ///< The Toolbar's Title.
580 Actor mGridActor; ///< The container for the grid of images 579 Actor mGridActor; ///< The container for the grid of images
581 ScrollView mScrollView; ///< ScrollView UI Component 580 ScrollView mScrollView; ///< ScrollView UI Component
582 bool mScrolling; ///< ScrollView scrolling state (true = scrolling, false = stationary) 581 bool mScrolling; ///< ScrollView scrolling state (true = scrolling, false = stationary)
examples/item-view/item-view-example.cpp
@@ -160,12 +160,6 @@ const float BUTTON_BORDER = -10.0f; @@ -160,12 +160,6 @@ const float BUTTON_BORDER = -10.0f;
160 const float MENU_OPTION_HEIGHT(140.0f); 160 const float MENU_OPTION_HEIGHT(140.0f);
161 const float LABEL_TEXT_SIZE_Y = 20.0f; 161 const float LABEL_TEXT_SIZE_Y = 20.0f;
162 162
163 -const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue");  
164 -const char* DEFAULT_TEXT_STYLE_FONT_STYLE("Regular");  
165 -const PointSize DEFAULT_TEXT_STYLE_POINT_SIZE( 5.0f );  
166 -const TextStyle::Weight DEFAULT_TEXT_STYLE_WEIGHT(Dali::TextStyle::MEDIUM);  
167 -const Vector4 DEFAULT_TEXT_STYLE_COLOR(1.0f, 1.0f, 1.0f, 1.0f);  
168 -  
169 const Vector3 INITIAL_OFFSCREEN_POSITION( 1000.0f, 0, -1000.0f ); 163 const Vector3 INITIAL_OFFSCREEN_POSITION( 1000.0f, 0, -1000.0f );
170 164
171 static Vector3 DepthLayoutItemSizeFunctionPortrait(unsigned int numberOfColumns, float layoutWidth) 165 static Vector3 DepthLayoutItemSizeFunctionPortrait(unsigned int numberOfColumns, float layoutWidth)
@@ -240,6 +234,8 @@ public: @@ -240,6 +234,8 @@ public:
240 */ 234 */
241 void OnInit(Application& app) 235 void OnInit(Application& app)
242 { 236 {
  237 + DemoHelper::RequestThemeChange();
  238 +
243 Stage stage = Dali::Stage::GetCurrent(); 239 Stage stage = Dali::Stage::GetCurrent();
244 stage.KeyEventSignal().Connect(this, &ItemViewExample::OnKeyEvent); 240 stage.KeyEventSignal().Connect(this, &ItemViewExample::OnKeyEvent);
245 241
@@ -972,15 +968,12 @@ private: @@ -972,15 +968,12 @@ private:
972 { 968 {
973 if(!mTitleActor) 969 if(!mTitleActor)
974 { 970 {
975 - mTitleActor = TextView::New(); 971 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
976 // Add title to the tool bar. 972 // Add title to the tool bar.
977 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 973 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
978 } 974 }
979 975
980 - Font font = Font::New();  
981 - mTitleActor.SetText( title );  
982 - mTitleActor.SetSize( font.MeasureText( title ) );  
983 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 976 + mTitleActor.SetProperty( TextLabel::Property::TEXT, title );
984 } 977 }
985 978
986 void ShowMenu() 979 void ShowMenu()
@@ -1008,30 +1001,20 @@ private: @@ -1008,30 +1001,20 @@ private:
1008 slider.ValueChangedSignal().Connect( this, &ItemViewExample::SliderValueChange ); 1001 slider.ValueChangedSignal().Connect( this, &ItemViewExample::SliderValueChange );
1009 tableView.AddChild( slider, TableView::CellPosition( 0, 0 ) ); 1002 tableView.AddChild( slider, TableView::CellPosition( 0, 0 ) );
1010 1003
1011 - TextStyle defaultTextStyle;  
1012 - defaultTextStyle.SetFontName(DEFAULT_TEXT_STYLE_FONT_FAMILY);  
1013 - defaultTextStyle.SetFontStyle(DEFAULT_TEXT_STYLE_FONT_STYLE);  
1014 - defaultTextStyle.SetFontPointSize(DEFAULT_TEXT_STYLE_POINT_SIZE);  
1015 - defaultTextStyle.SetWeight(DEFAULT_TEXT_STYLE_WEIGHT);  
1016 - defaultTextStyle.SetTextColor(DEFAULT_TEXT_STYLE_COLOR);  
1017 -  
1018 - TextView text = TextView::New( "Duration" ); 1004 + TextLabel text = TextLabel::New( "Duration" );
1019 text.SetAnchorPoint( ParentOrigin::TOP_LEFT ); 1005 text.SetAnchorPoint( ParentOrigin::TOP_LEFT );
1020 text.SetParentOrigin( ParentOrigin::TOP_LEFT ); 1006 text.SetParentOrigin( ParentOrigin::TOP_LEFT );
1021 - text.SetTextAlignment( Dali::Toolkit::Alignment::HorizontalLeft );  
1022 - text.SetStyleToCurrentText( defaultTextStyle );  
1023 text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 1007 text.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1024 - text.SetSize( 0.0f, LABEL_TEXT_SIZE_Y );  
1025 - text.SetZ( -0.9f ); 1008 + text.SetResizePolicy( FIXED, HEIGHT );
  1009 + text.SetSize( Vector2( 0.0f, LABEL_TEXT_SIZE_Y ) );
1026 slider.Add( text ); 1010 slider.Add( text );
1027 1011
1028 Actor textContainer = Actor::New(); 1012 Actor textContainer = Actor::New();
1029 textContainer.SetRelayoutEnabled( true ); 1013 textContainer.SetRelayoutEnabled( true );
1030 textContainer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 1014 textContainer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
1031 - mAlphaFunctionText = TextView::New( ALPHA_FUNCTIONS_TEXT[mAlphaFuncIndex] ); 1015 + mAlphaFunctionText = TextLabel::New( ALPHA_FUNCTIONS_TEXT[mAlphaFuncIndex] );
1032 mAlphaFunctionText.SetAnchorPoint( ParentOrigin::CENTER ); 1016 mAlphaFunctionText.SetAnchorPoint( ParentOrigin::CENTER );
1033 mAlphaFunctionText.SetParentOrigin( ParentOrigin::CENTER ); 1017 mAlphaFunctionText.SetParentOrigin( ParentOrigin::CENTER );
1034 - mAlphaFunctionText.SetTextAlignment( Toolkit::Alignment::VerticalCenter );  
1035 textContainer.Add( mAlphaFunctionText ); 1018 textContainer.Add( mAlphaFunctionText );
1036 tableView.AddChild( textContainer, TableView::CellPosition( 1, 0 ) ); 1019 tableView.AddChild( textContainer, TableView::CellPosition( 1, 0 ) );
1037 1020
@@ -1039,11 +1022,9 @@ private: @@ -1039,11 +1022,9 @@ private:
1039 mTapDetector.Attach(mAlphaFunctionText); 1022 mTapDetector.Attach(mAlphaFunctionText);
1040 mTapDetector.DetectedSignal().Connect( this, &ItemViewExample::ChangeAlphaFunctionOnTap ); 1023 mTapDetector.DetectedSignal().Connect( this, &ItemViewExample::ChangeAlphaFunctionOnTap );
1041 1024
1042 - text = TextView::New( "Alpha Function" ); 1025 + text = TextLabel::New( "Alpha Function" );
1043 text.SetAnchorPoint( ParentOrigin::TOP_LEFT ); 1026 text.SetAnchorPoint( ParentOrigin::TOP_LEFT );
1044 text.SetParentOrigin( ParentOrigin::TOP_LEFT ); 1027 text.SetParentOrigin( ParentOrigin::TOP_LEFT );
1045 - text.SetTextAlignment( Dali::Toolkit::Alignment::HorizontalLeft );  
1046 - text.SetStyleToCurrentText( defaultTextStyle );  
1047 text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 1028 text.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1048 text.SetSize( 0.0f, LABEL_TEXT_SIZE_Y ); 1029 text.SetSize( 0.0f, LABEL_TEXT_SIZE_Y );
1049 textContainer.Add( text ); 1030 textContainer.Add( text );
@@ -1069,7 +1050,7 @@ private: @@ -1069,7 +1050,7 @@ private:
1069 1050
1070 if( mAlphaFunctionText ) 1051 if( mAlphaFunctionText )
1071 { 1052 {
1072 - mAlphaFunctionText.SetText( ALPHA_FUNCTIONS_TEXT[mAlphaFuncIndex] ); 1053 + mAlphaFunctionText.SetProperty( TextLabel::Property::TEXT, std::string(ALPHA_FUNCTIONS_TEXT[mAlphaFuncIndex]) );
1073 } 1054 }
1074 1055
1075 if( mItemView ) 1056 if( mItemView )
@@ -1133,7 +1114,7 @@ private: @@ -1133,7 +1114,7 @@ private:
1133 unsigned int mOrientation; 1114 unsigned int mOrientation;
1134 1115
1135 Toolkit::ToolBar mToolBar; 1116 Toolkit::ToolBar mToolBar;
1136 - TextView mTitleActor; ///< The Toolbar's Title. 1117 + TextLabel mTitleActor; ///< The Toolbar's Title.
1137 1118
1138 ItemView mItemView; 1119 ItemView mItemView;
1139 Image mBorderImage; 1120 Image mBorderImage;
@@ -1154,7 +1135,7 @@ private: @@ -1154,7 +1135,7 @@ private:
1154 Toolkit::PushButton mReplaceButton; 1135 Toolkit::PushButton mReplaceButton;
1155 1136
1156 unsigned int mAlphaFuncIndex; 1137 unsigned int mAlphaFuncIndex;
1157 - TextView mAlphaFunctionText; 1138 + TextLabel mAlphaFunctionText;
1158 BufferImage mWhiteImage; 1139 BufferImage mWhiteImage;
1159 }; 1140 };
1160 1141
examples/logging/logging-example.cpp
@@ -156,6 +156,8 @@ class LoggingController: public ConnectionTracker @@ -156,6 +156,8 @@ class LoggingController: public ConnectionTracker
156 { 156 {
157 // The Init signal is received once (only) during the Application lifetime 157 // The Init signal is received once (only) during the Application lifetime
158 158
  159 + DemoHelper::RequestThemeChange();
  160 +
159 mCurrentLogger = 0; 161 mCurrentLogger = 0;
160 mPerformanceLoggers.reserve( NUM_LOGGERS ); 162 mPerformanceLoggers.reserve( NUM_LOGGERS );
161 mPerformanceLoggers.resize( NUM_LOGGERS ); 163 mPerformanceLoggers.resize( NUM_LOGGERS );
@@ -198,7 +200,7 @@ class LoggingController: public ConnectionTracker @@ -198,7 +200,7 @@ class LoggingController: public ConnectionTracker
198 200
199 // Label 201 // Label
200 { 202 {
201 - Toolkit::TextView label = Toolkit::TextView::New( LOGGER_TEXT ); 203 + Toolkit::TextLabel label = Toolkit::TextLabel::New( LOGGER_TEXT );
202 label.SetParentOrigin( ParentOrigin::TOP_LEFT ); 204 label.SetParentOrigin( ParentOrigin::TOP_LEFT );
203 label.SetAnchorPoint( AnchorPoint::TOP_LEFT ); 205 label.SetAnchorPoint( AnchorPoint::TOP_LEFT );
204 label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) ); 206 label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) );
@@ -431,7 +433,7 @@ class LoggingController: public ConnectionTracker @@ -431,7 +433,7 @@ class LoggingController: public ConnectionTracker
431 433
432 // Label 434 // Label
433 { 435 {
434 - Toolkit::TextView label = Toolkit::TextView::New( FREQUENCY_TEXT ); 436 + Toolkit::TextLabel label = Toolkit::TextLabel::New( FREQUENCY_TEXT );
435 label.SetParentOrigin( ParentOrigin::TOP_LEFT ); 437 label.SetParentOrigin( ParentOrigin::TOP_LEFT );
436 label.SetAnchorPoint( AnchorPoint::TOP_LEFT ); 438 label.SetAnchorPoint( AnchorPoint::TOP_LEFT );
437 label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) ); 439 label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) );
@@ -541,16 +543,9 @@ class LoggingController: public ConnectionTracker @@ -541,16 +543,9 @@ class LoggingController: public ConnectionTracker
541 << ", " << ((mLoggerStates[i].isTiming) ? "Started" : "Stopped") 543 << ", " << ((mLoggerStates[i].isTiming) ? "Started" : "Stopped")
542 << ", " << ((mLoggerStates[i].isEnabled) ? "Enabled" : "Disabled"); 544 << ", " << ((mLoggerStates[i].isEnabled) ? "Enabled" : "Disabled");
543 545
544 - Dali::TextStyle textStyle;  
545 - textStyle.SetFontName( "HelveticaNue" );  
546 - textStyle.SetFontStyle( "Regular" );  
547 - textStyle.SetFontPointSize( Dali::PointSize( DemoHelper::ScalePointSize( 7.0f ) ) );  
548 - textStyle.SetWeight( Dali::TextStyle::REGULAR );  
549 -  
550 - Toolkit::TextView textView = Toolkit::TextView::New( ss.str() );  
551 - textView.SetStyleToCurrentText( textStyle ); 546 + Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( ss.str() );
552 547
553 - mLogRadioButtons[i].SetLabel( textView ); 548 + mLogRadioButtons[i].SetLabel( textLabel );
554 } 549 }
555 } 550 }
556 551
examples/magnifier/magnifier-example.cpp
@@ -57,20 +57,16 @@ struct MagnifierPathConstraint @@ -57,20 +57,16 @@ struct MagnifierPathConstraint
57 { 57 {
58 } 58 }
59 59
60 - Vector3 operator()(const Vector3& current,  
61 - const PropertyInput& sizeProperty,  
62 - const PropertyInput& animationTimeProperty) 60 + void operator()( Vector3& current, const PropertyInputContainer& inputs )
63 { 61 {
64 - float time = animationTimeProperty.GetFloat();  
65 - const Vector3& size = sizeProperty.GetVector3(); 62 + float time = inputs[1]->GetFloat();
  63 + const Vector3& size = inputs[0]->GetVector3();
66 64
67 - Vector3 range(mStageSize - size - Vector3::ONE * MAGNIFIER_INDENT * 2.0f);  
68 - Vector3 position(mOffset); 65 + current = mOffset;
69 66
70 - position.x += 0.5f * sinf(time * 0.471f) * range.width;  
71 - position.y += 0.5f * sinf(time * 0.8739f) * range.height;  
72 -  
73 - return position; 67 + Vector3 range( mStageSize - size - Vector3::ONE * MAGNIFIER_INDENT * 2.0f );
  68 + current.x += 0.5f * sinf(time * 0.471f) * range.width;
  69 + current.y += 0.5f * sinf(time * 0.8739f) * range.height;
74 } 70 }
75 71
76 Vector3 mStageSize; ///< Keep track of the stage size for determining path within stage bounds 72 Vector3 mStageSize; ///< Keep track of the stage size for determining path within stage bounds
@@ -103,23 +99,19 @@ struct ConfinementConstraint @@ -103,23 +99,19 @@ struct ConfinementConstraint
103 { 99 {
104 } 100 }
105 101
106 - Vector3 operator()(const Vector3& constPosition,  
107 - const PropertyInput& sizeProperty,  
108 - const PropertyInput& parentOriginProperty,  
109 - const PropertyInput& anchorPointProperty,  
110 - const PropertyInput& referenceSizeProperty) 102 + void operator()( Vector3& current, const PropertyInputContainer& inputs )
111 { 103 {
112 - const Vector3& size = sizeProperty.GetVector3();  
113 - const Vector3 origin = parentOriginProperty.GetVector3();  
114 - const Vector3& anchor = anchorPointProperty.GetVector3();  
115 - const Vector3& referenceSize = referenceSizeProperty.GetVector3(); 104 + const Vector3& size = inputs[0]->GetVector3();
  105 + const Vector3 origin = inputs[1]->GetVector3();
  106 + const Vector3& anchor = inputs[2]->GetVector3();
  107 + const Vector3& referenceSize = inputs[3]->GetVector3();
116 108
117 Vector3 offset(mOffsetOrigin * referenceSize); 109 Vector3 offset(mOffsetOrigin * referenceSize);
118 110
119 - Vector3 newPosition( constPosition + offset );  
120 -  
121 // Get actual position of Actor relative to parent's Top-Left. 111 // Get actual position of Actor relative to parent's Top-Left.
122 - Vector3 position(constPosition + offset + origin * referenceSize); 112 + Vector3 position(current + offset + origin * referenceSize);
  113 +
  114 + current += offset;
123 115
124 // if top-left corner is outside of Top-Left bounds, then push back in screen. 116 // if top-left corner is outside of Top-Left bounds, then push back in screen.
125 Vector3 corner(position - size * anchor - mMinIndent); 117 Vector3 corner(position - size * anchor - mMinIndent);
@@ -127,17 +119,17 @@ struct ConfinementConstraint @@ -127,17 +119,17 @@ struct ConfinementConstraint
127 if(mFlipHorizontal && corner.x < 0.0f) 119 if(mFlipHorizontal && corner.x < 0.0f)
128 { 120 {
129 corner.x = 0.0f; 121 corner.x = 0.0f;
130 - newPosition.x += size.width; 122 + current.x += size.width;
131 } 123 }
132 124
133 if(mFlipVertical && corner.y < 0.0f) 125 if(mFlipVertical && corner.y < 0.0f)
134 { 126 {
135 corner.y = 0.0f; 127 corner.y = 0.0f;
136 - newPosition.y += size.height; 128 + current.y += size.height;
137 } 129 }
138 130
139 - newPosition.x -= std::min(corner.x, 0.0f);  
140 - newPosition.y -= std::min(corner.y, 0.0f); 131 + current.x -= std::min(corner.x, 0.0f);
  132 + current.y -= std::min(corner.y, 0.0f);
141 133
142 // if bottom-right corner is outside of Bottom-Right bounds, then push back in screen. 134 // if bottom-right corner is outside of Bottom-Right bounds, then push back in screen.
143 corner += size - referenceSize + mMinIndent + mMaxIndent; 135 corner += size - referenceSize + mMinIndent + mMaxIndent;
@@ -145,19 +137,17 @@ struct ConfinementConstraint @@ -145,19 +137,17 @@ struct ConfinementConstraint
145 if(mFlipHorizontal && corner.x > 0.0f) 137 if(mFlipHorizontal && corner.x > 0.0f)
146 { 138 {
147 corner.x = 0.0f; 139 corner.x = 0.0f;
148 - newPosition.x -= size.width; 140 + current.x -= size.width;
149 } 141 }
150 142
151 if(mFlipVertical && corner.y > 0.0f) 143 if(mFlipVertical && corner.y > 0.0f)
152 { 144 {
153 corner.y = 0.0f; 145 corner.y = 0.0f;
154 - newPosition.y -= size.height; 146 + current.y -= size.height;
155 } 147 }
156 148
157 - newPosition.x -= std::max(corner.x, 0.0f);  
158 - newPosition.y -= std::max(corner.y, 0.0f);  
159 -  
160 - return newPosition; 149 + current.x -= std::max(corner.x, 0.0f);
  150 + current.y -= std::max(corner.y, 0.0f);
161 } 151 }
162 152
163 Vector3 mOffsetOrigin; ///< Manual Parent Offset Origin. 153 Vector3 mOffsetOrigin; ///< Manual Parent Offset Origin.
@@ -203,6 +193,8 @@ public: @@ -203,6 +193,8 @@ public:
203 */ 193 */
204 void Create( Application& application ) 194 void Create( Application& application )
205 { 195 {
  196 + DemoHelper::RequestThemeChange();
  197 +
206 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); 198 Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent);
207 199
208 mStageSize = Stage::GetCurrent().GetSize(); 200 mStageSize = Stage::GetCurrent().GetSize();
@@ -242,14 +234,13 @@ public: @@ -242,14 +234,13 @@ public:
242 overlay.Add( mMagnifier ); 234 overlay.Add( mMagnifier );
243 235
244 // Apply constraint to animate the position of the magnifier. 236 // Apply constraint to animate the position of the magnifier.
245 - Constraint constraint = Constraint::New<Vector3>(Actor::Property::POSITION,  
246 - LocalSource(Actor::Property::SIZE),  
247 - LocalSource(Actor::Property::PARENT_ORIGIN),  
248 - LocalSource(Actor::Property::ANCHOR_POINT),  
249 - ParentSource(Actor::Property::SIZE),  
250 - ConfinementConstraint(ParentOrigin::CENTER, Vector2::ONE * MAGNIFIER_INDENT, Vector2::ONE * MAGNIFIER_INDENT)); 237 + Constraint constraint = Constraint::New<Vector3>( mMagnifier, Actor::Property::POSITION, ConfinementConstraint(ParentOrigin::CENTER, Vector2::ONE * MAGNIFIER_INDENT, Vector2::ONE * MAGNIFIER_INDENT) );
  238 + constraint.AddSource( LocalSource(Actor::Property::SIZE) );
  239 + constraint.AddSource( LocalSource(Actor::Property::PARENT_ORIGIN) );
  240 + constraint.AddSource( LocalSource(Actor::Property::ANCHOR_POINT) );
  241 + constraint.AddSource( ParentSource(Actor::Property::SIZE) );
251 constraint.SetRemoveAction(Constraint::Discard); 242 constraint.SetRemoveAction(Constraint::Discard);
252 - mMagnifier.ApplyConstraint( constraint ); 243 + constraint.Apply();
253 244
254 // Create bouncing magnifier automatically bounces around screen. 245 // Create bouncing magnifier automatically bounces around screen.
255 mBouncingMagnifier = Toolkit::Magnifier::New(); 246 mBouncingMagnifier = Toolkit::Magnifier::New();
@@ -263,18 +254,16 @@ public: @@ -263,18 +254,16 @@ public:
263 ContinueAnimation(); 254 ContinueAnimation();
264 255
265 // Apply constraint to animate the position of the magnifier. 256 // Apply constraint to animate the position of the magnifier.
266 - constraint = Constraint::New<Vector3>(Actor::Property::POSITION,  
267 - LocalSource(Actor::Property::SIZE),  
268 - LocalSource(mAnimationTimeProperty),  
269 - MagnifierPathConstraint(mStageSize, mStageSize * 0.5f));  
270 - mBouncingMagnifier.ApplyConstraint( constraint ); 257 + constraint = Constraint::New<Vector3>( mBouncingMagnifier, Actor::Property::POSITION, MagnifierPathConstraint(mStageSize, mStageSize * 0.5f) );
  258 + constraint.AddSource( LocalSource(Actor::Property::SIZE) );
  259 + constraint.AddSource( LocalSource(mAnimationTimeProperty) );
  260 + constraint.Apply();
271 261
272 // Apply constraint to animate the source of the magnifier. 262 // Apply constraint to animate the source of the magnifier.
273 - constraint = Constraint::New<Vector3>(mBouncingMagnifier.GetPropertyIndex( Toolkit::Magnifier::SOURCE_POSITION_PROPERTY_NAME ),  
274 - LocalSource(Actor::Property::SIZE),  
275 - LocalSource(mAnimationTimeProperty),  
276 - MagnifierPathConstraint(mStageSize));  
277 - mBouncingMagnifier.ApplyConstraint( constraint ); 263 + constraint = Constraint::New<Vector3>( mBouncingMagnifier, mBouncingMagnifier.GetPropertyIndex( Toolkit::Magnifier::SOURCE_POSITION_PROPERTY_NAME ), MagnifierPathConstraint(mStageSize) );
  264 + constraint.AddSource( LocalSource(Actor::Property::SIZE) );
  265 + constraint.AddSource( LocalSource(mAnimationTimeProperty) );
  266 + constraint.Apply();
278 } 267 }
279 268
280 /** 269 /**
examples/motion-blur/motion-blur-example.cpp
@@ -509,7 +509,6 @@ private: @@ -509,7 +509,6 @@ private:
509 Application& mApplication; ///< Application instance 509 Application& mApplication; ///< Application instance
510 Toolkit::View mView; 510 Toolkit::View mView;
511 Toolkit::ToolBar mToolBar; 511 Toolkit::ToolBar mToolBar;
512 - TextView mTitleActor; ///< The Toolbar's Title.  
513 Image mIconEffectsOff; 512 Image mIconEffectsOff;
514 Image mIconEffectsOn; 513 Image mIconEffectsOn;
515 514
examples/motion-stretch/motion-stretch-example.cpp
@@ -124,6 +124,8 @@ public: @@ -124,6 +124,8 @@ public:
124 { 124 {
125 // The Init signal is received once (only) during the Application lifetime 125 // The Init signal is received once (only) during the Application lifetime
126 126
  127 + DemoHelper::RequestThemeChange();
  128 +
127 Stage::GetCurrent().KeyEventSignal().Connect(this, &MotionStretchExampleApp::OnKeyEvent); 129 Stage::GetCurrent().KeyEventSignal().Connect(this, &MotionStretchExampleApp::OnKeyEvent);
128 130
129 // Creates a default view with a default tool bar. 131 // Creates a default view with a default tool bar.
@@ -400,7 +402,6 @@ private: @@ -400,7 +402,6 @@ private:
400 Application& mApplication; ///< Application instance 402 Application& mApplication; ///< Application instance
401 Toolkit::View mView; 403 Toolkit::View mView;
402 Toolkit::ToolBar mToolBar; 404 Toolkit::ToolBar mToolBar;
403 - TextView mTitleActor; ///< The Toolbar's Title.  
404 Image mIconEffectsOff; 405 Image mIconEffectsOff;
405 Image mIconEffectsOn; 406 Image mIconEffectsOn;
406 Layer mContentLayer; ///< Content layer (contains actor for this stretch demo) 407 Layer mContentLayer; ///< Content layer (contains actor for this stretch demo)
examples/new-window/new-window-example.cpp
@@ -80,7 +80,7 @@ public: @@ -80,7 +80,7 @@ public:
80 private: 80 private:
81 Application mApplication; 81 Application mApplication;
82 Actor mCastingLight; 82 Actor mCastingLight;
83 - TextActor mTextActor; 83 + TextLabel mTextActor;
84 ImageActor mImageActor; 84 ImageActor mImageActor;
85 ImageActor mBlendActor; 85 ImageActor mBlendActor;
86 Image mEffectImage; 86 Image mEffectImage;
@@ -90,7 +90,7 @@ private: @@ -90,7 +90,7 @@ private:
90 90
91 Toolkit::View mView; ///< The View instance. 91 Toolkit::View mView; ///< The View instance.
92 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 92 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
93 - TextView mTitleActor; ///< The Toolbar's Title. 93 + TextLabel mTitleActor; ///< The Toolbar's Title.
94 Layer mContentLayer; ///< Content layer (scrolling cluster content) 94 Layer mContentLayer; ///< Content layer (scrolling cluster content)
95 Toolkit::PushButton mLoseContextButton; 95 Toolkit::PushButton mLoseContextButton;
96 Vector3 mHSVDelta; 96 Vector3 mHSVDelta;
@@ -116,6 +116,8 @@ NewWindowController::NewWindowController( Application&amp; application ) @@ -116,6 +116,8 @@ NewWindowController::NewWindowController( Application&amp; application )
116 116
117 void NewWindowController::Create( Application& app ) 117 void NewWindowController::Create( Application& app )
118 { 118 {
  119 + DemoHelper::RequestThemeChange();
  120 +
119 Stage stage = Stage::GetCurrent(); 121 Stage stage = Stage::GetCurrent();
120 stage.SetBackgroundColor(Color::YELLOW); 122 stage.SetBackgroundColor(Color::YELLOW);
121 123
@@ -379,7 +381,7 @@ void NewWindowController::CreateBlending() @@ -379,7 +381,7 @@ void NewWindowController::CreateBlending()
379 381
380 void NewWindowController::CreateText() 382 void NewWindowController::CreateText()
381 { 383 {
382 - mTextActor = TextActor::New("Some text"); 384 + mTextActor = TextLabel::New("Some text");
383 mTextActor.SetParentOrigin(ParentOrigin::CENTER); 385 mTextActor.SetParentOrigin(ParentOrigin::CENTER);
384 mTextActor.SetColor(Color::RED); 386 mTextActor.SetColor(Color::RED);
385 mTextActor.SetName("PushMe text"); 387 mTextActor.SetName("PushMe text");
examples/page-turn-view/page-turn-view-example.cpp
@@ -22,6 +22,8 @@ @@ -22,6 +22,8 @@
22 #include <string.h> 22 #include <string.h>
23 #include <iostream> 23 #include <iostream>
24 24
  25 +#include "shared/view.h"
  26 +
25 using namespace Dali; 27 using namespace Dali;
26 using namespace Dali::Toolkit; 28 using namespace Dali::Toolkit;
27 29
@@ -226,6 +228,8 @@ void PageTurnController::OnInit( Application&amp; app ) @@ -226,6 +228,8 @@ void PageTurnController::OnInit( Application&amp; app )
226 { 228 {
227 // The Init signal is received once ( only ) during the Application lifetime 229 // The Init signal is received once ( only ) during the Application lifetime
228 230
  231 + DemoHelper::RequestThemeChange();
  232 +
229 Stage::GetCurrent().KeyEventSignal().Connect(this, &PageTurnController::OnKeyEvent); 233 Stage::GetCurrent().KeyEventSignal().Connect(this, &PageTurnController::OnKeyEvent);
230 234
231 Stage stage = Stage::GetCurrent(); 235 Stage stage = Stage::GetCurrent();
examples/path-animation/path-animation.cpp
@@ -64,9 +64,10 @@ public: @@ -64,9 +64,10 @@ public:
64 */ 64 */
65 Actor CreateVectorComponentControl( const std::string& label, const Vector3& size, bool(PathController::*callback)(Slider,float) ) 65 Actor CreateVectorComponentControl( const std::string& label, const Vector3& size, bool(PathController::*callback)(Slider,float) )
66 { 66 {
67 - Dali::TextActor textActor = TextActor::New(label);  
68 - textActor.SetColor( Vector4(0.0f,0.0f,0.0f,1.0f));  
69 - textActor.SetSize(size.y,size.y,0.0f); 67 + TextLabel text = TextLabel::New(label);
  68 + text.SetResizePolicy( USE_NATURAL_SIZE, WIDTH );
  69 + text.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
  70 + text.SetColor( Vector4(0.0f,0.0f,0.0f,1.0f));
70 71
71 Slider slider = Slider::New(); 72 Slider slider = Slider::New();
72 slider.SetRelayoutEnabled( false ); 73 slider.SetRelayoutEnabled( false );
@@ -88,8 +89,8 @@ public: @@ -88,8 +89,8 @@ public:
88 slider.SetSize(size); 89 slider.SetSize(size);
89 slider.SetScale( 0.5f ); 90 slider.SetScale( 0.5f );
90 slider.ValueChangedSignal().Connect(this,callback); 91 slider.ValueChangedSignal().Connect(this,callback);
91 - textActor.Add( slider );  
92 - return textActor; 92 + text.Add( slider );
  93 + return text;
93 } 94 }
94 95
95 /** 96 /**
@@ -437,6 +438,8 @@ public: @@ -437,6 +438,8 @@ public:
437 */ 438 */
438 void Create( Application& application ) 439 void Create( Application& application )
439 { 440 {
  441 + DemoHelper::RequestThemeChange();
  442 +
440 // Get a handle to the stage: 443 // Get a handle to the stage:
441 Stage stage = Stage::GetCurrent(); 444 Stage stage = Stage::GetCurrent();
442 445
@@ -456,12 +459,8 @@ public: @@ -456,12 +459,8 @@ public:
456 mContentLayer.TouchedSignal().Connect(this, &PathController::OnTouchLayer); 459 mContentLayer.TouchedSignal().Connect(this, &PathController::OnTouchLayer);
457 460
458 //Title 461 //Title
459 - TextView title = TextView::New(); 462 + TextLabel title = DemoHelper::CreateToolBarLabel( APPLICATION_TITLE );
460 toolBar.AddControl( title, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 463 toolBar.AddControl( title, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
461 - Font font = Font::New();  
462 - title.SetText( APPLICATION_TITLE );  
463 - title.SetSize( font.MeasureText( APPLICATION_TITLE ) );  
464 - title.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle());  
465 464
466 //Path 465 //Path
467 mPath = Dali::Path::New(); 466 mPath = Dali::Path::New();
examples/radial-menu/radial-menu-example.cpp
@@ -121,6 +121,8 @@ RadialMenuExample::~RadialMenuExample() @@ -121,6 +121,8 @@ RadialMenuExample::~RadialMenuExample()
121 121
122 void RadialMenuExample::OnInit(Application& app) 122 void RadialMenuExample::OnInit(Application& app)
123 { 123 {
  124 + DemoHelper::RequestThemeChange();
  125 +
124 Stage stage = Dali::Stage::GetCurrent(); 126 Stage stage = Dali::Stage::GetCurrent();
125 127
126 // The Init signal is received once (only) during the Application lifetime 128 // The Init signal is received once (only) during the Application lifetime
examples/radial-menu/radial-sweep-view-impl.cpp
@@ -26,9 +26,8 @@ namespace @@ -26,9 +26,8 @@ namespace
26 * Method to project a point on a circle of radius halfSide at given 26 * Method to project a point on a circle of radius halfSide at given
27 * angle onto a square of side 2 * halfSide 27 * angle onto a square of side 2 * halfSide
28 */ 28 */
29 -Vector3 CircleSquareProjection( Degree angle, float halfSide ) 29 +void CircleSquareProjection( Vector3& position, Degree angle, float halfSide )
30 { 30 {
31 - Vector3 position(0.0f, 0.0f, 0.0f);  
32 Radian angleInRadians(angle); 31 Radian angleInRadians(angle);
33 32
34 // 135 90 45 33 // 135 90 45
@@ -58,7 +57,8 @@ Vector3 CircleSquareProjection( Degree angle, float halfSide ) @@ -58,7 +57,8 @@ Vector3 CircleSquareProjection( Degree angle, float halfSide )
58 position.x = halfSide; 57 position.x = halfSide;
59 position.y = -halfSide * sinf(angleInRadians) / cosf(angleInRadians); 58 position.y = -halfSide * sinf(angleInRadians) / cosf(angleInRadians);
60 } 59 }
61 - return position; 60 +
  61 + position.z = 0.0f;
62 } 62 }
63 63
64 float HoldZeroFastEaseInOutHoldOne(float progress) 64 float HoldZeroFastEaseInOutHoldOne(float progress)
@@ -88,9 +88,9 @@ struct SquareFanConstraint @@ -88,9 +88,9 @@ struct SquareFanConstraint
88 { 88 {
89 } 89 }
90 90
91 - Vector3 operator()( const Vector3& current, const PropertyInput& start, const PropertyInput& rotation ) 91 + void operator()( Vector3& current, const PropertyInputContainer& inputs )
92 { 92 {
93 - float degree = fmodf((start.GetFloat() + rotation.GetFloat()), 360.0f); 93 + float degree = fmodf((inputs[0]->GetFloat() + inputs[1]->GetFloat()), 360.0f);
94 if(degree < 0.0f) 94 if(degree < 0.0f)
95 { 95 {
96 degree += 360.0f; 96 degree += 360.0f;
@@ -100,15 +100,17 @@ struct SquareFanConstraint @@ -100,15 +100,17 @@ struct SquareFanConstraint
100 float endAngle = (90.0f*mSideIndex)+45.0f; 100 float endAngle = (90.0f*mSideIndex)+45.0f;
101 if(degree < startAngle) 101 if(degree < startAngle)
102 { 102 {
103 - return Vector3::ZERO; 103 + current = Vector3::ZERO;
104 } 104 }
105 - else if( degree >= endAngle ) 105 + else
106 { 106 {
107 - degree = endAngle; 107 + if( degree >= endAngle )
  108 + {
  109 + degree = endAngle;
  110 + }
  111 + CircleSquareProjection( current, Degree(degree), 0.5f );
  112 + current.x = -current.x; // Inverting X makes the animation go anti clockwise from left center
108 } 113 }
109 - Vector3 pos = CircleSquareProjection(Degree(degree), 0.5f);  
110 - pos.x = -pos.x; // Inverting X makes the animation go anti clockwise from left center  
111 - return pos;  
112 } 114 }
113 115
114 int mSideIndex; 116 int mSideIndex;
@@ -362,18 +364,35 @@ void RadialSweepViewImpl::CreateStencil( Degree initialSector ) @@ -362,18 +364,35 @@ void RadialSweepViewImpl::CreateStencil( Degree initialSector )
362 364
363 // Constrain the vertices of the square mesh to sweep out a sector as the 365 // Constrain the vertices of the square mesh to sweep out a sector as the
364 // rotation angle is animated. 366 // rotation angle is animated.
365 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(1, AnimatableVertex::Property::POSITION),  
366 - srcStart, srcStart, SquareFanConstraint(0)));  
367 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(2, AnimatableVertex::Property::POSITION),  
368 - srcStart, srcRot, SquareFanConstraint(0)));  
369 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(3, AnimatableVertex::Property::POSITION),  
370 - srcStart, srcRot, SquareFanConstraint(1)));  
371 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(4, AnimatableVertex::Property::POSITION),  
372 - srcStart, srcRot, SquareFanConstraint(2)));  
373 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(5, AnimatableVertex::Property::POSITION),  
374 - srcStart, srcRot, SquareFanConstraint(3)));  
375 - mMesh.ApplyConstraint(Constraint::New<Vector3>( mMesh.GetPropertyIndex(6, AnimatableVertex::Property::POSITION),  
376 - srcStart, srcRot, SquareFanConstraint(4))); 367 + Constraint constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(1, AnimatableVertex::Property::POSITION), SquareFanConstraint(0) );
  368 + constraint.AddSource( srcStart );
  369 + constraint.AddSource( srcStart );
  370 + constraint.Apply();
  371 +
  372 + constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(2, AnimatableVertex::Property::POSITION), SquareFanConstraint(0) );
  373 + constraint.AddSource( srcStart );
  374 + constraint.AddSource( srcRot );
  375 + constraint.Apply();
  376 +
  377 + constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(3, AnimatableVertex::Property::POSITION), SquareFanConstraint(1) );
  378 + constraint.AddSource( srcStart );
  379 + constraint.AddSource( srcRot );
  380 + constraint.Apply();
  381 +
  382 + constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(4, AnimatableVertex::Property::POSITION), SquareFanConstraint(2) );
  383 + constraint.AddSource( srcStart );
  384 + constraint.AddSource( srcRot );
  385 + constraint.Apply();
  386 +
  387 + constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(5, AnimatableVertex::Property::POSITION), SquareFanConstraint(3) );
  388 + constraint.AddSource( srcStart );
  389 + constraint.AddSource( srcRot );
  390 + constraint.Apply();
  391 +
  392 + constraint = Constraint::New<Vector3>( mMesh, mMesh.GetPropertyIndex(6, AnimatableVertex::Property::POSITION), SquareFanConstraint(4) );
  393 + constraint.AddSource( srcStart );
  394 + constraint.AddSource( srcRot );
  395 + constraint.Apply();
377 396
378 mStencilActor.SetDrawMode( DrawMode::STENCIL ); 397 mStencilActor.SetDrawMode( DrawMode::STENCIL );
379 mStencilActor.SetPositionInheritanceMode(USE_PARENT_POSITION); 398 mStencilActor.SetPositionInheritanceMode(USE_PARENT_POSITION);
examples/refraction-effect/refraction-effect-example.cpp
@@ -56,10 +56,13 @@ struct LightOffsetConstraint @@ -56,10 +56,13 @@ struct LightOffsetConstraint
56 { 56 {
57 } 57 }
58 58
59 - Vector2 operator()( const Vector2& current, const PropertyInput& spinAngleProperty) 59 + void operator()( Vector2& current, const PropertyInputContainer& inputs )
60 { 60 {
61 - float spinAngle = spinAngleProperty.GetFloat();  
62 - return Vector2( cos(spinAngle ), sin( spinAngle ) ) * mRadius; 61 + float spinAngle = inputs[0]->GetFloat();
  62 + current.x = cos( spinAngle );
  63 + current.y = sin( spinAngle );
  64 +
  65 + current *= mRadius;
63 } 66 }
64 67
65 float mRadius; 68 float mRadius;
@@ -254,10 +257,9 @@ public: @@ -254,10 +257,9 @@ public:
254 handle.SetUniform( "uLightIntensity", 2.5f ); 257 handle.SetUniform( "uLightIntensity", 2.5f );
255 258
256 Dali::Property::Index index = handle.RegisterProperty( "uSpinAngle", 0.f ); 259 Dali::Property::Index index = handle.RegisterProperty( "uSpinAngle", 0.f );
257 - Constraint constraint = Constraint::New<Vector2>( handle.GetPropertyIndex("uLightSpinOffset"),  
258 - LocalSource(index),  
259 - LightOffsetConstraint(stageSize.x*0.1f));  
260 - handle.ApplyConstraint( constraint ); 260 + Constraint constraint = Constraint::New<Vector2>( handle, handle.GetPropertyIndex("uLightSpinOffset"), LightOffsetConstraint(stageSize.x*0.1f) );
  261 + constraint.AddSource( LocalSource(index) );
  262 + constraint.Apply();
261 263
262 return handle; 264 return handle;
263 } 265 }
@@ -318,6 +320,8 @@ private: @@ -318,6 +320,8 @@ private:
318 // The Init signal is received once (only) during the Application lifetime 320 // The Init signal is received once (only) during the Application lifetime
319 void Create(Application& application) 321 void Create(Application& application)
320 { 322 {
  323 + DemoHelper::RequestThemeChange();
  324 +
321 Stage stage = Stage::GetCurrent(); 325 Stage stage = Stage::GetCurrent();
322 mStageHalfSize = stage.GetSize() * 0.5f; 326 mStageHalfSize = stage.GetSize() * 0.5f;
323 327
examples/scripting/launcher.cpp
@@ -23,9 +23,12 @@ @@ -23,9 +23,12 @@
23 #include <sys/stat.h> 23 #include <sys/stat.h>
24 #include <dali/integration-api/debug.h> 24 #include <dali/integration-api/debug.h>
25 25
  26 +// INTERNAL INCLUDES
  27 +#include "shared/view.h"
26 28
27 29
28 using namespace Dali; 30 using namespace Dali;
  31 +using namespace Dali::Toolkit;
29 32
30 #define TOKEN_STRING(x) #x 33 #define TOKEN_STRING(x) #x
31 34
@@ -55,7 +58,9 @@ Launcher::~Launcher() @@ -55,7 +58,9 @@ Launcher::~Launcher()
55 58
56 void Launcher::Create( Dali::Application& application ) 59 void Launcher::Create( Dali::Application& application )
57 { 60 {
58 - TextActor textActor = TextActor::New( "JSON & JavaScript Launcher..." ); 61 + DemoHelper::RequestThemeChange();
  62 +
  63 + TextLabel textActor = TextLabel::New( "JSON & JavaScript Launcher..." );
59 64
60 // Reposition the actor 65 // Reposition the actor
61 textActor.SetParentOrigin( ParentOrigin::TOP_LEFT ); 66 textActor.SetParentOrigin( ParentOrigin::TOP_LEFT );
examples/scroll-view/scroll-view-example.cpp
@@ -179,6 +179,8 @@ public: @@ -179,6 +179,8 @@ public:
179 */ 179 */
180 void OnInit(Application& app) 180 void OnInit(Application& app)
181 { 181 {
  182 + DemoHelper::RequestThemeChange();
  183 +
182 Stage stage = Dali::Stage::GetCurrent(); 184 Stage stage = Dali::Stage::GetCurrent();
183 stage.KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); 185 stage.KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent);
184 186
@@ -640,15 +642,12 @@ private: @@ -640,15 +642,12 @@ private:
640 { 642 {
641 if(!mTitleActor) 643 if(!mTitleActor)
642 { 644 {
643 - mTitleActor = TextView::New(); 645 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
644 // Add title to the tool bar. 646 // Add title to the tool bar.
645 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter ); 647 mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Alignment::HorizontalCenter );
646 } 648 }
647 649
648 - Font font = Font::New();  
649 - mTitleActor.SetText( title );  
650 - mTitleActor.SetSize( font.MeasureText( title ) );  
651 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); 650 + mTitleActor.SetProperty( Toolkit::TextLabel::Property::TEXT, title );
652 } 651 }
653 652
654 /** 653 /**
@@ -670,7 +669,7 @@ private: @@ -670,7 +669,7 @@ private:
670 Application& mApplication; ///< Application instance 669 Application& mApplication; ///< Application instance
671 Toolkit::View mView; ///< The View instance. 670 Toolkit::View mView; ///< The View instance.
672 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 671 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
673 - TextView mTitleActor; ///< The Toolbar's Title. 672 + TextLabel mTitleActor; ///< The Toolbar's Title.
674 Layer mContentLayer; ///< The content layer (contains game actors) 673 Layer mContentLayer; ///< The content layer (contains game actors)
675 ScrollView mScrollView; ///< ScrollView UI Component 674 ScrollView mScrollView; ///< ScrollView UI Component
676 bool mScrolling; ///< ScrollView scrolling state (true = scrolling, false = stationary) 675 bool mScrolling; ///< ScrollView scrolling state (true = scrolling, false = stationary)
examples/shadow-bone-lighting/shadow-bone-lighting-example.cpp
@@ -100,23 +100,10 @@ public: @@ -100,23 +100,10 @@ public:
100 { 100 {
101 } 101 }
102 102
103 - Vector3 operator()( const Vector3& current, const PropertyInput& property ) 103 + void operator()( Vector3& current, const PropertyInputContainer& inputs )
104 { 104 {
105 - Vector3 position = property.GetVector3();  
106 - position.z += 1.0f;  
107 - return position;  
108 - }  
109 - };  
110 -  
111 - struct QuaternionEqualToConstraint  
112 - {  
113 - QuaternionEqualToConstraint()  
114 - {  
115 - }  
116 -  
117 - Quaternion operator()( const Quaternion& current, const PropertyInput& property )  
118 - {  
119 - return property.GetQuaternion(); 105 + current = inputs[0]->GetVector3();
  106 + current.z += 1.0f;
120 } 107 }
121 }; 108 };
122 109
@@ -127,10 +114,10 @@ public: @@ -127,10 +114,10 @@ public:
127 { 114 {
128 } 115 }
129 116
130 - Quaternion operator()( const Quaternion& current, const PropertyInput& property ) 117 + void operator()( Quaternion& current, const PropertyInputContainer& inputs )
131 { 118 {
132 - Degree angle(property.GetFloat());  
133 - return Quaternion( Radian(angle) * mSign, Vector3::YAXIS ); 119 + Degree angle( inputs[0]->GetFloat() );
  120 + current = Quaternion( Radian(angle) * mSign, Vector3::YAXIS );
134 } 121 }
135 122
136 float mSign; 123 float mSign;
@@ -141,6 +128,8 @@ public: @@ -141,6 +128,8 @@ public:
141 */ 128 */
142 void Create(Application& app) 129 void Create(Application& app)
143 { 130 {
  131 + DemoHelper::RequestThemeChange();
  132 +
144 srand(0); // Want repeatable path 133 srand(0); // Want repeatable path
145 134
146 Stage::GetCurrent().KeyEventSignal().Connect(this, &TestApp::OnKeyEvent); 135 Stage::GetCurrent().KeyEventSignal().Connect(this, &TestApp::OnKeyEvent);
@@ -170,13 +159,11 @@ public: @@ -170,13 +159,11 @@ public:
170 toolBar.AddControl( effectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); 159 toolBar.AddControl( effectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING );
171 160
172 // Add title to the tool bar. 161 // Add title to the tool bar.
173 - mTitleActor = Toolkit::TextView::New(); 162 + mTitleActor = DemoHelper::CreateToolBarLabel( "" );
174 toolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); 163 toolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter );
175 164
176 // Set Title text 165 // Set Title text
177 - mTitleActor.SetText( APPLICATION_TITLE_PAN_SCENE );  
178 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_PAN_SCENE ) );  
179 - mTitleActor.SetStyleToCurrentText( DemoHelper::GetDefaultTextStyle() ); 166 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_PAN_SCENE) );
180 167
181 //Add a reset button 168 //Add a reset button
182 Image resetImage = ResourceImage::New( RESET_ICON ); 169 Image resetImage = ResourceImage::New( RESET_ICON );
@@ -245,14 +232,8 @@ public: @@ -245,14 +232,8 @@ public:
245 mCastingLight.SetAnchorPoint(AnchorPoint::CENTER); 232 mCastingLight.SetAnchorPoint(AnchorPoint::CENTER);
246 mCastingLight.SetPosition( Vector3( 0.0f, 0.0f, 800.0f ) * scaleFactor ); 233 mCastingLight.SetPosition( Vector3( 0.0f, 0.0f, 800.0f ) * scaleFactor );
247 234
248 - TextStyle style;  
249 - style.SetFontPointSize( PointSize(DemoHelper::ScalePointSize(20.0f)) );  
250 - style.SetFontName("Times New Roman");  
251 - style.SetFontStyle("Book");  
252 -  
253 - TextActorParameters parameters( style, TextActorParameters::FONT_DETECTION_ON );  
254 - TextActor text = TextActor::New("Light", parameters);  
255 - text.SetColor(Color::BLUE); 235 + TextLabel text = TextLabel::New( "Light" );
  236 + text.SetColor( Color::BLUE );
256 237
257 mCastingLight.Add(text); 238 mCastingLight.Add(text);
258 mLightAnchor.Add(mCastingLight); 239 mLightAnchor.Add(mCastingLight);
@@ -290,10 +271,14 @@ public: @@ -290,10 +271,14 @@ public:
290 271
291 Property::Index angleIndex = mImageActor2.RegisterProperty("angle", Property::Value(30.0f)); 272 Property::Index angleIndex = mImageActor2.RegisterProperty("angle", Property::Value(30.0f));
292 Source angleSrc( mImageActor2, angleIndex ); 273 Source angleSrc( mImageActor2, angleIndex );
293 - mImageActor1.ApplyConstraint(Constraint::New<Quaternion>( Actor::Property::ORIENTATION, angleSrc,  
294 - RotationConstraint(-1.0f)));  
295 - mImageActor3.ApplyConstraint(Constraint::New<Quaternion>( Actor::Property::ORIENTATION, angleSrc,  
296 - RotationConstraint(+1.0f))); 274 +
  275 + Constraint constraint = Constraint::New<Quaternion>( mImageActor1, Actor::Property::ORIENTATION, RotationConstraint(-1.0f) );
  276 + constraint.AddSource( angleSrc );
  277 + constraint.Apply();
  278 +
  279 + constraint = Constraint::New<Quaternion>( mImageActor3, Actor::Property::ORIENTATION, RotationConstraint(+1.0f) );
  280 + constraint.AddSource( angleSrc );
  281 + constraint.Apply();
297 282
298 mSceneAnimation = Animation::New(2.5f); 283 mSceneAnimation = Animation::New(2.5f);
299 284
@@ -428,30 +413,24 @@ public: @@ -428,30 +413,24 @@ public:
428 { 413 {
429 case PAN_SCENE: 414 case PAN_SCENE:
430 mPanState = ROTATE_SCENE; 415 mPanState = ROTATE_SCENE;
431 - mTitleActor.SetText( APPLICATION_TITLE_ROTATE_SCENE );  
432 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_ROTATE_SCENE ) ); 416 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_ROTATE_SCENE) );
433 break; 417 break;
434 case ROTATE_SCENE: 418 case ROTATE_SCENE:
435 mPanState = PAN_LIGHT; 419 mPanState = PAN_LIGHT;
436 - mTitleActor.SetText( APPLICATION_TITLE_PAN_LIGHT );  
437 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_PAN_LIGHT ) ); 420 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_PAN_LIGHT) );
438 break; 421 break;
439 case PAN_LIGHT: 422 case PAN_LIGHT:
440 mPanState = PAN_OBJECT; 423 mPanState = PAN_OBJECT;
441 - mTitleActor.SetText( APPLICATION_TITLE_PAN_OBJECT );  
442 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_PAN_OBJECT ) ); 424 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_PAN_OBJECT) );
443 break; 425 break;
444 case PAN_OBJECT: 426 case PAN_OBJECT:
445 mPanState = PAN_SCENE; 427 mPanState = PAN_SCENE;
446 - mTitleActor.SetText( APPLICATION_TITLE_PAN_SCENE );  
447 - mTitleActor.SetSize( Font::New().MeasureText( APPLICATION_TITLE_PAN_SCENE ) ); 428 + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_PAN_SCENE) );
448 break; 429 break;
449 default: 430 default:
450 break; 431 break;
451 } 432 }
452 433
453 - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle());  
454 -  
455 return true; 434 return true;
456 } 435 }
457 436
@@ -501,7 +480,7 @@ private: @@ -501,7 +480,7 @@ private:
501 Property::Index mAngle1Index; 480 Property::Index mAngle1Index;
502 Property::Index mAngle3Index; 481 Property::Index mAngle3Index;
503 482
504 - Toolkit::TextView mTitleActor; 483 + Toolkit::TextLabel mTitleActor;
505 484
506 enum PanState 485 enum PanState
507 { 486 {
examples/size-negotiation/size-negotiation-example.cpp
@@ -21,6 +21,8 @@ @@ -21,6 +21,8 @@
21 21
22 using namespace Dali; 22 using namespace Dali;
23 23
  24 +using Dali::Toolkit::TextLabel;
  25 +
24 // Define this so that it is interchangeable 26 // Define this so that it is interchangeable
25 // "DP" stands for Device independent Pixels 27 // "DP" stands for Device independent Pixels
26 #define DP(x) DemoHelper::ScalePointSize(x) 28 #define DP(x) DemoHelper::ScalePointSize(x)
@@ -155,6 +157,8 @@ public: @@ -155,6 +157,8 @@ public:
155 { 157 {
156 // The Init signal is received once (only) during the Application lifetime 158 // The Init signal is received once (only) during the Application lifetime
157 159
  160 + DemoHelper::RequestThemeChange();
  161 +
158 Stage stage = Stage::GetCurrent(); 162 Stage stage = Stage::GetCurrent();
159 163
160 // Respond to key events 164 // Respond to key events
@@ -169,8 +173,7 @@ public: @@ -169,8 +173,7 @@ public:
169 TOOLBAR_IMAGE, 173 TOOLBAR_IMAGE,
170 std::string("") ); 174 std::string("") );
171 175
172 - mTitleActor = Dali::Toolkit::TextView::New();  
173 - mTitleActor.SetName( "CUSTOM_TOOLBAR_TITLE" ); 176 + mTitleActor = DemoHelper::CreateToolBarLabel( "CUSTOM_TOOLBAR_TITLE" );
174 177
175 SetTitle(); 178 SetTitle();
176 179
@@ -231,8 +234,7 @@ public: @@ -231,8 +234,7 @@ public:
231 } 234 }
232 } 235 }
233 236
234 - mTitleActor.SetText( std::string( TOOLBAR_TITLE ) + ": " + subTitle );  
235 - mTitleActor.SetStyleToCurrentText( DemoHelper::GetDefaultTextStyle() ); 237 + mTitleActor.SetProperty( Toolkit::TextLabel::Property::TEXT, std::string( std::string( TOOLBAR_TITLE ) + ": " + subTitle ) );
236 } 238 }
237 239
238 bool OnMenu( Toolkit::Button button ) 240 bool OnMenu( Toolkit::Button button )
@@ -341,9 +343,6 @@ public: @@ -341,9 +343,6 @@ public:
341 { 343 {
342 mPopup = CreatePopup(); 344 mPopup = CreatePopup();
343 345
344 - // The popup is not yet on the stage so needs to be flaged as dirty  
345 - mPopup.MarkDirtyForRelayout();  
346 -  
347 mPopup.Show(); 346 mPopup.Show();
348 } 347 }
349 else if( button.GetName() == POPUP_BUTTON_TITLE_ID ) 348 else if( button.GetName() == POPUP_BUTTON_TITLE_ID )
@@ -351,9 +350,6 @@ public: @@ -351,9 +350,6 @@ public:
351 mPopup = CreatePopup(); 350 mPopup = CreatePopup();
352 mPopup.SetTitle( "Popup!" ); 351 mPopup.SetTitle( "Popup!" );
353 352
354 - // The popup is not yet on the stage so needs to be flaged as dirty  
355 - mPopup.MarkDirtyForRelayout();  
356 -  
357 mPopup.Show(); 353 mPopup.Show();
358 } 354 }
359 else if( button.GetName() == POPUP_BUTTON_BUTTONS_1_ID ) 355 else if( button.GetName() == POPUP_BUTTON_BUTTONS_1_ID )
@@ -370,9 +366,6 @@ public: @@ -370,9 +366,6 @@ public:
370 366
371 mPopup.AddButton( okayButton ); 367 mPopup.AddButton( okayButton );
372 368
373 - // The popup is not yet on the stage so needs to be flaged as dirty  
374 - mPopup.MarkDirtyForRelayout();  
375 -  
376 mPopup.Show(); 369 mPopup.Show();
377 } 370 }
378 else if( button.GetName() == POPUP_BUTTON_BUTTONS_2_ID ) 371 else if( button.GetName() == POPUP_BUTTON_BUTTONS_2_ID )
@@ -399,9 +392,6 @@ public: @@ -399,9 +392,6 @@ public:
399 392
400 mPopup.AddButton( okayButton ); 393 mPopup.AddButton( okayButton );
401 394
402 - // The popup is not yet on the stage so needs to be flaged as dirty  
403 - mPopup.MarkDirtyForRelayout();  
404 -  
405 mPopup.Show(); 395 mPopup.Show();
406 } 396 }
407 else if( button.GetName() == POPUP_BUTTON_TITLE_BUTTONS_ID ) 397 else if( button.GetName() == POPUP_BUTTON_TITLE_BUTTONS_ID )
@@ -429,30 +419,22 @@ public: @@ -429,30 +419,22 @@ public:
429 419
430 mPopup.AddButton( okayButton ); 420 mPopup.AddButton( okayButton );
431 421
432 - // The popup is not yet on the stage so needs to be flaged as dirty  
433 - mPopup.MarkDirtyForRelayout();  
434 -  
435 mPopup.Show(); 422 mPopup.Show();
436 } 423 }
437 else if( button.GetName() == POPUP_BUTTON_CONTENT_TEXT_ID ) 424 else if( button.GetName() == POPUP_BUTTON_CONTENT_TEXT_ID )
438 { 425 {
439 mPopup = CreatePopup(); 426 mPopup = CreatePopup();
440 427
441 - Toolkit::TextView text = Toolkit::TextView::New(); 428 + TextLabel text = TextLabel::New( CONTENT_TEXT );
442 text.SetName( "POPUP_CONTENT_TEXT" ); 429 text.SetName( "POPUP_CONTENT_TEXT" );
443 - text.SetText( CONTENT_TEXT );  
444 - text.SetMultilinePolicy( Toolkit::TextView::SplitByWord );  
445 - text.SetWidthExceedPolicy( Toolkit::TextView::Split );  
446 - text.SetLineJustification( Toolkit::TextView::Center );  
447 - text.SetResizePolicy( FILL_TO_PARENT, WIDTH );  
448 - text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); 430 + text.SetProperty( TextLabel::Property::MULTI_LINE, true );
  431 + text.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
  432 + text.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
  433 + text.SetResizePolicy( FILL_TO_PARENT, Dali::HEIGHT );
449 text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) ); 434 text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) );
450 435
451 mPopup.Add( text ); 436 mPopup.Add( text );
452 437
453 - // The popup is not yet on the stage so needs to be flaged as dirty  
454 - mPopup.MarkDirtyForRelayout();  
455 -  
456 mPopup.Show(); 438 mPopup.Show();
457 } 439 }
458 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_ID ) 440 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_ID )
@@ -466,9 +448,6 @@ public: @@ -466,9 +448,6 @@ public:
466 448
467 mPopup.Add( image ); 449 mPopup.Add( image );
468 450
469 - // The popup is not yet on the stage so needs to be flaged as dirty  
470 - mPopup.MarkDirtyForRelayout();  
471 -  
472 mPopup.Show(); 451 mPopup.Show();
473 } 452 }
474 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_SCALE_ID ) 453 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_SCALE_ID )
@@ -483,9 +462,6 @@ public: @@ -483,9 +462,6 @@ public:
483 462
484 mPopup.Add( image ); 463 mPopup.Add( image );
485 464
486 - // The popup is not yet on the stage so needs to be flaged as dirty  
487 - mPopup.MarkDirtyForRelayout();  
488 -  
489 mPopup.Show(); 465 mPopup.Show();
490 } 466 }
491 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FIT_ID ) 467 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FIT_ID )
@@ -501,9 +477,6 @@ public: @@ -501,9 +477,6 @@ public:
501 477
502 mPopup.Add( image ); 478 mPopup.Add( image );
503 479
504 - // The popup is not yet on the stage so needs to be flaged as dirty  
505 - mPopup.MarkDirtyForRelayout();  
506 -  
507 mPopup.Show(); 480 mPopup.Show();
508 } 481 }
509 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FILL_ID ) 482 else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FILL_ID )
@@ -519,9 +492,6 @@ public: @@ -519,9 +492,6 @@ public:
519 492
520 mPopup.Add( image ); 493 mPopup.Add( image );
521 494
522 - // The popup is not yet on the stage so needs to be flaged as dirty  
523 - mPopup.MarkDirtyForRelayout();  
524 -  
525 mPopup.Show(); 495 mPopup.Show();
526 } 496 }
527 else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_ID ) 497 else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_ID )
@@ -529,21 +499,14 @@ public: @@ -529,21 +499,14 @@ public:
529 mPopup = CreatePopup(); 499 mPopup = CreatePopup();
530 mPopup.SetTitle( "Popup!" ); 500 mPopup.SetTitle( "Popup!" );
531 501
532 - Toolkit::TextView text = Toolkit::TextView::New(); 502 + Toolkit::TextLabel text = Toolkit::TextLabel::New( CONTENT_TEXT );
533 text.SetName( "POPUP_CONTENT_TEXT" ); 503 text.SetName( "POPUP_CONTENT_TEXT" );
534 - text.SetText( CONTENT_TEXT );  
535 - text.SetMultilinePolicy( Toolkit::TextView::SplitByWord );  
536 - text.SetWidthExceedPolicy( Toolkit::TextView::Split );  
537 - text.SetLineJustification( Toolkit::TextView::Center );  
538 text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 504 text.SetResizePolicy( FILL_TO_PARENT, WIDTH );
539 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); 505 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT );
540 text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) ); 506 text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) );
541 507
542 mPopup.Add( text ); 508 mPopup.Add( text );
543 509
544 - // The popup is not yet on the stage so needs to be flaged as dirty  
545 - mPopup.MarkDirtyForRelayout();  
546 -  
547 mPopup.Show(); 510 mPopup.Show();
548 } 511 }
549 else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_BUTTONS_ID ) 512 else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_BUTTONS_ID )
@@ -551,12 +514,8 @@ public: @@ -551,12 +514,8 @@ public:
551 mPopup = CreatePopup(); 514 mPopup = CreatePopup();
552 mPopup.SetTitle( "Popup!" ); 515 mPopup.SetTitle( "Popup!" );
553 516
554 - Toolkit::TextView text = Toolkit::TextView::New(); 517 + Toolkit::TextLabel text = Toolkit::TextLabel::New( CONTENT_TEXT );
555 text.SetName( "POPUP_CONTENT_TEXT" ); 518 text.SetName( "POPUP_CONTENT_TEXT" );
556 - text.SetText( CONTENT_TEXT );  
557 - text.SetMultilinePolicy( Toolkit::TextView::SplitByWord );  
558 - text.SetWidthExceedPolicy( Toolkit::TextView::Split );  
559 - text.SetLineJustification( Toolkit::TextView::Left );  
560 text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 519 text.SetResizePolicy( FILL_TO_PARENT, WIDTH );
561 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); 520 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT );
562 text.SetPadding( Padding( 10.0f, 10.0f, 20.0f, 0.0f ) ); 521 text.SetPadding( Padding( 10.0f, 10.0f, 20.0f, 0.0f ) );
@@ -583,9 +542,6 @@ public: @@ -583,9 +542,6 @@ public:
583 542
584 mPopup.AddButton( okayButton ); 543 mPopup.AddButton( okayButton );
585 544
586 - // The popup is not yet on the stage so needs to be flaged as dirty  
587 - mPopup.MarkDirtyForRelayout();  
588 -  
589 mPopup.Show(); 545 mPopup.Show();
590 } 546 }
591 else if( button.GetName() == POPUP_BUTTON_COMPLEX_ID ) 547 else if( button.GetName() == POPUP_BUTTON_COMPLEX_ID )
@@ -604,11 +560,7 @@ public: @@ -604,11 +560,7 @@ public:
604 560
605 // Text 561 // Text
606 { 562 {
607 - Toolkit::TextView text = Toolkit::TextView::New();  
608 - text.SetText( "Do you really want to quit?" );  
609 - text.SetMultilinePolicy( Toolkit::TextView::SplitByWord );  
610 - text.SetWidthExceedPolicy( Toolkit::TextView::Split );  
611 - text.SetLineJustification( Toolkit::TextView::Left ); 563 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Do you really want to quit?" );
612 text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 564 text.SetResizePolicy( FILL_TO_PARENT, WIDTH );
613 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); 565 text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT );
614 566
@@ -643,15 +595,13 @@ public: @@ -643,15 +595,13 @@ public:
643 595
644 root.AddChild( checkBox, Toolkit::TableView::CellPosition( 0, 0 ) ); 596 root.AddChild( checkBox, Toolkit::TableView::CellPosition( 0, 0 ) );
645 597
646 - Toolkit::TextView text = Toolkit::TextView::New();  
647 - text.SetText( "Don't show again" );  
648 - text.SetLineJustification( Toolkit::TextView::Left ); 598 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Don't show again" );
649 Actor textActor = text; 599 Actor textActor = text;
650 textActor.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 10.0f ) ); 600 textActor.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 10.0f ) );
651 601
652 root.AddChild( text, Toolkit::TableView::CellPosition( 0, 1 ) ); 602 root.AddChild( text, Toolkit::TableView::CellPosition( 0, 1 ) );
653 603
654 - content.AddChild( root, Toolkit::TableView::CellPosition( 1, 0, 0, 2 ) ); // Column span 2 604 + content.AddChild( root, Toolkit::TableView::CellPosition( 1, 0 ) );
655 } 605 }
656 606
657 mPopup.Add( content ); 607 mPopup.Add( content );
@@ -677,9 +627,6 @@ public: @@ -677,9 +627,6 @@ public:
677 627
678 mPopup.AddButton( okayButton ); 628 mPopup.AddButton( okayButton );
679 629
680 - // The popup is not yet on the stage so needs to be flaged as dirty  
681 - mPopup.MarkDirtyForRelayout();  
682 -  
683 mPopup.Show(); 630 mPopup.Show();
684 } 631 }
685 else if( button.GetName() == TABLEVIEW_BUTTON_EMPTY_ID ) 632 else if( button.GetName() == TABLEVIEW_BUTTON_EMPTY_ID )
@@ -694,9 +641,6 @@ public: @@ -694,9 +641,6 @@ public:
694 641
695 mPopup.Add( table ); 642 mPopup.Add( table );
696 643
697 - // The popup is not yet on the stage so needs to be flaged as dirty  
698 - mPopup.MarkDirtyForRelayout();  
699 -  
700 mPopup.Show(); 644 mPopup.Show();
701 } 645 }
702 else if( button.GetName() == TABLEVIEW_BUTTON_1CELL_ID ) 646 else if( button.GetName() == TABLEVIEW_BUTTON_1CELL_ID )
@@ -716,9 +660,6 @@ public: @@ -716,9 +660,6 @@ public:
716 660
717 mPopup.Add( table ); 661 mPopup.Add( table );
718 662
719 - // The popup is not yet on the stage so needs to be flaged as dirty  
720 - mPopup.MarkDirtyForRelayout();  
721 -  
722 mPopup.Show(); 663 mPopup.Show();
723 } 664 }
724 else if( button.GetName() == TABLEVIEW_BUTTON_3CELL_ID ) 665 else if( button.GetName() == TABLEVIEW_BUTTON_3CELL_ID )
@@ -749,9 +690,6 @@ public: @@ -749,9 +690,6 @@ public:
749 690
750 mPopup.Add( table ); 691 mPopup.Add( table );
751 692
752 - // The popup is not yet on the stage so needs to be flaged as dirty  
753 - mPopup.MarkDirtyForRelayout();  
754 -  
755 mPopup.Show(); 693 mPopup.Show();
756 } 694 }
757 else if( button.GetName() == TABLEVIEW_BUTTON_3X3CELL_ID ) 695 else if( button.GetName() == TABLEVIEW_BUTTON_3X3CELL_ID )
@@ -817,9 +755,6 @@ public: @@ -817,9 +755,6 @@ public:
817 755
818 mPopup.Add( table ); 756 mPopup.Add( table );
819 757
820 - // The popup is not yet on the stage so needs to be flaged as dirty  
821 - mPopup.MarkDirtyForRelayout();  
822 -  
823 mPopup.Show(); 758 mPopup.Show();
824 } 759 }
825 else if( button.GetName() == TABLEVIEW_BUTTON_FIXED1_ID ) 760 else if( button.GetName() == TABLEVIEW_BUTTON_FIXED1_ID )
@@ -836,7 +771,7 @@ public: @@ -836,7 +771,7 @@ public:
836 { 771 {
837 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); 772 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) );
838 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 773 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
839 - TextActor text = TextActor::New( "Fixed" ); 774 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" );
840 text.SetAnchorPoint( AnchorPoint::CENTER ); 775 text.SetAnchorPoint( AnchorPoint::CENTER );
841 text.SetParentOrigin( ParentOrigin::CENTER ); 776 text.SetParentOrigin( ParentOrigin::CENTER );
842 backing.Add( text ); 777 backing.Add( text );
@@ -845,7 +780,7 @@ public: @@ -845,7 +780,7 @@ public:
845 { 780 {
846 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); 781 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) );
847 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 782 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
848 - TextActor text = TextActor::New( "Fill" ); 783 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
849 text.SetAnchorPoint( AnchorPoint::CENTER ); 784 text.SetAnchorPoint( AnchorPoint::CENTER );
850 text.SetParentOrigin( ParentOrigin::CENTER ); 785 text.SetParentOrigin( ParentOrigin::CENTER );
851 backing.Add( text ); 786 backing.Add( text );
@@ -854,7 +789,7 @@ public: @@ -854,7 +789,7 @@ public:
854 { 789 {
855 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); 790 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) );
856 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 791 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
857 - TextActor text = TextActor::New( "Fill" ); 792 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
858 text.SetAnchorPoint( AnchorPoint::CENTER ); 793 text.SetAnchorPoint( AnchorPoint::CENTER );
859 text.SetParentOrigin( ParentOrigin::CENTER ); 794 text.SetParentOrigin( ParentOrigin::CENTER );
860 backing.Add( text ); 795 backing.Add( text );
@@ -863,9 +798,6 @@ public: @@ -863,9 +798,6 @@ public:
863 798
864 mPopup.Add( table ); 799 mPopup.Add( table );
865 800
866 - // The popup is not yet on the stage so needs to be flaged as dirty  
867 - mPopup.MarkDirtyForRelayout();  
868 -  
869 mPopup.Show(); 801 mPopup.Show();
870 } 802 }
871 else if( button.GetName() == TABLEVIEW_BUTTON_FIXED2_ID ) 803 else if( button.GetName() == TABLEVIEW_BUTTON_FIXED2_ID )
@@ -883,7 +815,7 @@ public: @@ -883,7 +815,7 @@ public:
883 { 815 {
884 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); 816 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) );
885 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 817 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
886 - TextActor text = TextActor::New( "Fixed" ); 818 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" );
887 text.SetAnchorPoint( AnchorPoint::CENTER ); 819 text.SetAnchorPoint( AnchorPoint::CENTER );
888 text.SetParentOrigin( ParentOrigin::CENTER ); 820 text.SetParentOrigin( ParentOrigin::CENTER );
889 backing.Add( text ); 821 backing.Add( text );
@@ -892,7 +824,7 @@ public: @@ -892,7 +824,7 @@ public:
892 { 824 {
893 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); 825 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) );
894 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 826 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
895 - TextActor text = TextActor::New( "Fill" ); 827 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
896 text.SetAnchorPoint( AnchorPoint::CENTER ); 828 text.SetAnchorPoint( AnchorPoint::CENTER );
897 text.SetParentOrigin( ParentOrigin::CENTER ); 829 text.SetParentOrigin( ParentOrigin::CENTER );
898 backing.Add( text ); 830 backing.Add( text );
@@ -901,7 +833,7 @@ public: @@ -901,7 +833,7 @@ public:
901 { 833 {
902 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); 834 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) );
903 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 835 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
904 - TextActor text = TextActor::New( "Fixed" ); 836 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" );
905 text.SetAnchorPoint( AnchorPoint::CENTER ); 837 text.SetAnchorPoint( AnchorPoint::CENTER );
906 text.SetParentOrigin( ParentOrigin::CENTER ); 838 text.SetParentOrigin( ParentOrigin::CENTER );
907 backing.Add( text ); 839 backing.Add( text );
@@ -910,9 +842,6 @@ public: @@ -910,9 +842,6 @@ public:
910 842
911 mPopup.Add( table ); 843 mPopup.Add( table );
912 844
913 - // The popup is not yet on the stage so needs to be flaged as dirty  
914 - mPopup.MarkDirtyForRelayout();  
915 -  
916 mPopup.Show(); 845 mPopup.Show();
917 } 846 }
918 else if( button.GetName() == TABLEVIEW_BUTTON_FIT1_ID ) 847 else if( button.GetName() == TABLEVIEW_BUTTON_FIT1_ID )
@@ -932,7 +861,7 @@ public: @@ -932,7 +861,7 @@ public:
932 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 861 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
933 backing.SetSize( 0.0f, 100.0f ); 862 backing.SetSize( 0.0f, 100.0f );
934 863
935 - TextActor text = TextActor::New( "Fit" ); 864 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
936 text.SetAnchorPoint( AnchorPoint::CENTER ); 865 text.SetAnchorPoint( AnchorPoint::CENTER );
937 text.SetParentOrigin( ParentOrigin::CENTER ); 866 text.SetParentOrigin( ParentOrigin::CENTER );
938 backing.Add( text ); 867 backing.Add( text );
@@ -943,7 +872,7 @@ public: @@ -943,7 +872,7 @@ public:
943 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); 872 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) );
944 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 873 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
945 874
946 - TextActor text = TextActor::New( "Fill" ); 875 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
947 text.SetAnchorPoint( AnchorPoint::CENTER ); 876 text.SetAnchorPoint( AnchorPoint::CENTER );
948 text.SetParentOrigin( ParentOrigin::CENTER ); 877 text.SetParentOrigin( ParentOrigin::CENTER );
949 backing.Add( text ); 878 backing.Add( text );
@@ -955,7 +884,7 @@ public: @@ -955,7 +884,7 @@ public:
955 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 884 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
956 backing.SetSize( 0.0f, 100.0f ); 885 backing.SetSize( 0.0f, 100.0f );
957 886
958 - TextActor text = TextActor::New( "Fit" ); 887 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
959 text.SetAnchorPoint( AnchorPoint::CENTER ); 888 text.SetAnchorPoint( AnchorPoint::CENTER );
960 text.SetParentOrigin( ParentOrigin::CENTER ); 889 text.SetParentOrigin( ParentOrigin::CENTER );
961 backing.Add( text ); 890 backing.Add( text );
@@ -965,9 +894,6 @@ public: @@ -965,9 +894,6 @@ public:
965 894
966 mPopup.Add( table ); 895 mPopup.Add( table );
967 896
968 - // The popup is not yet on the stage so needs to be flaged as dirty  
969 - mPopup.MarkDirtyForRelayout();  
970 -  
971 mPopup.Show(); 897 mPopup.Show();
972 } 898 }
973 else if( button.GetName() == TABLEVIEW_BUTTON_FIT2_ID ) 899 else if( button.GetName() == TABLEVIEW_BUTTON_FIT2_ID )
@@ -984,7 +910,7 @@ public: @@ -984,7 +910,7 @@ public:
984 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); 910 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) );
985 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 911 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
986 912
987 - TextActor text = TextActor::New( "Fill" ); 913 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
988 text.SetAnchorPoint( AnchorPoint::CENTER ); 914 text.SetAnchorPoint( AnchorPoint::CENTER );
989 text.SetParentOrigin( ParentOrigin::CENTER ); 915 text.SetParentOrigin( ParentOrigin::CENTER );
990 backing.Add( text ); 916 backing.Add( text );
@@ -996,7 +922,7 @@ public: @@ -996,7 +922,7 @@ public:
996 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 922 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
997 backing.SetSize( 0.0f, 200.0f ); 923 backing.SetSize( 0.0f, 200.0f );
998 924
999 - TextActor text = TextActor::New( "Fit" ); 925 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1000 text.SetAnchorPoint( AnchorPoint::CENTER ); 926 text.SetAnchorPoint( AnchorPoint::CENTER );
1001 text.SetParentOrigin( ParentOrigin::CENTER ); 927 text.SetParentOrigin( ParentOrigin::CENTER );
1002 backing.Add( text ); 928 backing.Add( text );
@@ -1007,7 +933,7 @@ public: @@ -1007,7 +933,7 @@ public:
1007 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); 933 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) );
1008 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 934 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
1009 935
1010 - TextActor text = TextActor::New( "Fill" ); 936 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" );
1011 text.SetAnchorPoint( AnchorPoint::CENTER ); 937 text.SetAnchorPoint( AnchorPoint::CENTER );
1012 text.SetParentOrigin( ParentOrigin::CENTER ); 938 text.SetParentOrigin( ParentOrigin::CENTER );
1013 backing.Add( text ); 939 backing.Add( text );
@@ -1017,9 +943,6 @@ public: @@ -1017,9 +943,6 @@ public:
1017 943
1018 mPopup.Add( table ); 944 mPopup.Add( table );
1019 945
1020 - // The popup is not yet on the stage so needs to be flaged as dirty  
1021 - mPopup.MarkDirtyForRelayout();  
1022 -  
1023 mPopup.Show(); 946 mPopup.Show();
1024 } 947 }
1025 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL1_ID ) 948 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL1_ID )
@@ -1041,7 +964,7 @@ public: @@ -1041,7 +964,7 @@ public:
1041 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 964 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1042 backing.SetSize( 0.0f, 100.0f ); 965 backing.SetSize( 0.0f, 100.0f );
1043 966
1044 - TextActor text = TextActor::New( "Fit" ); 967 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1045 text.SetAnchorPoint( AnchorPoint::CENTER ); 968 text.SetAnchorPoint( AnchorPoint::CENTER );
1046 text.SetParentOrigin( ParentOrigin::CENTER ); 969 text.SetParentOrigin( ParentOrigin::CENTER );
1047 backing.Add( text ); 970 backing.Add( text );
@@ -1053,7 +976,7 @@ public: @@ -1053,7 +976,7 @@ public:
1053 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 976 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1054 backing.SetSize( 0.0f, 200.0f ); 977 backing.SetSize( 0.0f, 200.0f );
1055 978
1056 - TextActor text = TextActor::New( "Fit" ); 979 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1057 text.SetAnchorPoint( AnchorPoint::CENTER ); 980 text.SetAnchorPoint( AnchorPoint::CENTER );
1058 text.SetParentOrigin( ParentOrigin::CENTER ); 981 text.SetParentOrigin( ParentOrigin::CENTER );
1059 backing.Add( text ); 982 backing.Add( text );
@@ -1065,7 +988,7 @@ public: @@ -1065,7 +988,7 @@ public:
1065 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 988 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1066 backing.SetSize( 0.0f, 300.0f ); 989 backing.SetSize( 0.0f, 300.0f );
1067 990
1068 - TextActor text = TextActor::New( "Fit" ); 991 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1069 text.SetAnchorPoint( AnchorPoint::CENTER ); 992 text.SetAnchorPoint( AnchorPoint::CENTER );
1070 text.SetParentOrigin( ParentOrigin::CENTER ); 993 text.SetParentOrigin( ParentOrigin::CENTER );
1071 backing.Add( text ); 994 backing.Add( text );
@@ -1075,9 +998,6 @@ public: @@ -1075,9 +998,6 @@ public:
1075 998
1076 mPopup.Add( table ); 999 mPopup.Add( table );
1077 1000
1078 - // The popup is not yet on the stage so needs to be flaged as dirty  
1079 - mPopup.MarkDirtyForRelayout();  
1080 -  
1081 mPopup.Show(); 1001 mPopup.Show();
1082 } 1002 }
1083 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL2_ID ) 1003 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL2_ID )
@@ -1099,7 +1019,7 @@ public: @@ -1099,7 +1019,7 @@ public:
1099 backing.SetResizePolicy( FIXED, HEIGHT ); 1019 backing.SetResizePolicy( FIXED, HEIGHT );
1100 backing.SetSize( 0.0f, 100.0f ); 1020 backing.SetSize( 0.0f, 100.0f );
1101 1021
1102 - TextActor text = TextActor::New( "Fit" ); 1022 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1103 text.SetAnchorPoint( AnchorPoint::CENTER ); 1023 text.SetAnchorPoint( AnchorPoint::CENTER );
1104 text.SetParentOrigin( ParentOrigin::CENTER ); 1024 text.SetParentOrigin( ParentOrigin::CENTER );
1105 backing.Add( text ); 1025 backing.Add( text );
@@ -1111,7 +1031,7 @@ public: @@ -1111,7 +1031,7 @@ public:
1111 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 1031 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1112 backing.SetSize( 0.0f, 200.0f ); 1032 backing.SetSize( 0.0f, 200.0f );
1113 1033
1114 - TextActor text = TextActor::New( "Fit" ); 1034 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1115 text.SetAnchorPoint( AnchorPoint::CENTER ); 1035 text.SetAnchorPoint( AnchorPoint::CENTER );
1116 text.SetParentOrigin( ParentOrigin::CENTER ); 1036 text.SetParentOrigin( ParentOrigin::CENTER );
1117 backing.Add( text ); 1037 backing.Add( text );
@@ -1121,9 +1041,6 @@ public: @@ -1121,9 +1041,6 @@ public:
1121 1041
1122 mPopup.Add( table ); 1042 mPopup.Add( table );
1123 1043
1124 - // The popup is not yet on the stage so needs to be flaged as dirty  
1125 - mPopup.MarkDirtyForRelayout();  
1126 -  
1127 mPopup.Show(); 1044 mPopup.Show();
1128 } 1045 }
1129 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL3_ID ) 1046 else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL3_ID )
@@ -1143,7 +1060,7 @@ public: @@ -1143,7 +1060,7 @@ public:
1143 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); 1060 Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) );
1144 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); 1061 backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );
1145 1062
1146 - TextActor text = TextActor::New( "Fixed" ); 1063 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" );
1147 text.SetAnchorPoint( AnchorPoint::CENTER ); 1064 text.SetAnchorPoint( AnchorPoint::CENTER );
1148 text.SetParentOrigin( ParentOrigin::CENTER ); 1065 text.SetParentOrigin( ParentOrigin::CENTER );
1149 backing.Add( text ); 1066 backing.Add( text );
@@ -1155,7 +1072,7 @@ public: @@ -1155,7 +1072,7 @@ public:
1155 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); 1072 backing.SetResizePolicy( FILL_TO_PARENT, WIDTH );
1156 backing.SetSize( 0.0f, 200.0f ); 1073 backing.SetSize( 0.0f, 200.0f );
1157 1074
1158 - TextActor text = TextActor::New( "Fit" ); 1075 + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" );
1159 text.SetAnchorPoint( AnchorPoint::CENTER ); 1076 text.SetAnchorPoint( AnchorPoint::CENTER );
1160 text.SetParentOrigin( ParentOrigin::CENTER ); 1077 text.SetParentOrigin( ParentOrigin::CENTER );
1161 backing.Add( text ); 1078 backing.Add( text );
@@ -1165,9 +1082,6 @@ public: @@ -1165,9 +1082,6 @@ public:
1165 1082
1166 mPopup.Add( table ); 1083 mPopup.Add( table );
1167 1084
1168 - // The popup is not yet on the stage so needs to be flaged as dirty  
1169 - mPopup.MarkDirtyForRelayout();  
1170 -  
1171 mPopup.Show(); 1085 mPopup.Show();
1172 } 1086 }
1173 else if( button.GetName() == OKAY_BUTTON_ID || button.GetName() == CANCEL_BUTTON_ID ) 1087 else if( button.GetName() == OKAY_BUTTON_ID || button.GetName() == CANCEL_BUTTON_ID )
@@ -1291,7 +1205,7 @@ private: @@ -1291,7 +1205,7 @@ private:
1291 Toolkit::ToolBar mToolBar; ///< The View's Toolbar. 1205 Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
1292 Layer mContentLayer; ///< Content layer 1206 Layer mContentLayer; ///< Content layer
1293 1207
1294 - Toolkit::TextView mTitleActor; ///< Title text 1208 + Toolkit::TextLabel mTitleActor; ///< Title text
1295 1209
1296 Toolkit::Popup mMenu; ///< The navigation menu 1210 Toolkit::Popup mMenu; ///< The navigation menu
1297 bool mMenuShown; ///< If the navigation menu is currently being displayed or not 1211 bool mMenuShown; ///< If the navigation menu is currently being displayed or not
examples/text-field/text-field-example.cpp 0 → 100644
  1 +/*
  2 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + *
  16 + */
  17 +
  18 +/**
  19 + * @file text-field-example.cpp
  20 + * @brief Basic usage of TextField control
  21 + */
  22 +
  23 +// EXTERNAL INCLUDES
  24 +#include <dali-toolkit/dali-toolkit.h>
  25 +#include <dali/public-api/text-abstraction/text-abstraction.h>
  26 +
  27 +// INTERNAL INCLUDES
  28 +#include "shared/view.h"
  29 +
  30 +using namespace Dali;
  31 +using namespace Dali::Toolkit;
  32 +
  33 +namespace
  34 +{
  35 +
  36 +const char* const BACKGROUND_IMAGE = DALI_IMAGE_DIR "button-up.9.png";
  37 +
  38 +const float BORDER_WIDTH = 4.0f;
  39 +
  40 +} // unnamed namespace
  41 +
  42 +/**
  43 + * @brief The main class of the demo.
  44 + */
  45 +class TextFieldExample : public ConnectionTracker
  46 +{
  47 +public:
  48 +
  49 + TextFieldExample( Application& application )
  50 + : mApplication( application )
  51 + {
  52 + // Connect to the Application's Init signal
  53 + mApplication.InitSignal().Connect( this, &TextFieldExample::Create );
  54 + }
  55 +
  56 + ~TextFieldExample()
  57 + {
  58 + // Nothing to do here.
  59 + }
  60 +
  61 + /**
  62 + * One-time setup in response to Application InitSignal.
  63 + */
  64 + void Create( Application& application )
  65 + {
  66 + DemoHelper::RequestThemeChange();
  67 +
  68 + Stage stage = Stage::GetCurrent();
  69 +
  70 + stage.KeyEventSignal().Connect(this, &TextFieldExample::OnKeyEvent);
  71 +
  72 + Vector2 stageSize = stage.GetSize();
  73 +
  74 + mContainer = Control::New();
  75 + mContainer.SetName( "Container" );
  76 + mContainer.SetParentOrigin( ParentOrigin::CENTER );
  77 + mContainer.SetResizePolicy( FIXED, ALL_DIMENSIONS );
  78 + mContainer.SetSize( Vector2(stageSize.width*0.6f, stageSize.width*0.6f) );
  79 + mContainer.SetBackgroundImage( ResourceImage::New( BACKGROUND_IMAGE ) );
  80 + mContainer.GetChildAt(0).SetZ(-1.0f);
  81 + stage.Add( mContainer );
  82 +
  83 + TextField field = TextField::New();
  84 + field.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  85 + field.SetResizePolicy( FILL_TO_PARENT, WIDTH );
  86 + field.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT );
  87 +
  88 + mContainer.Add( field );
  89 +
  90 + field.SetProperty( TextField::Property::TEXT, "Hello" );
  91 +
  92 + Property::Value fieldText = field.GetProperty( TextField::Property::TEXT );
  93 + std::cout << "Displaying text: " << fieldText.Get< std::string >() << std::endl;
  94 + }
  95 +
  96 + /**
  97 + * Main key event handler
  98 + */
  99 + void OnKeyEvent(const KeyEvent& event)
  100 + {
  101 + if(event.state == KeyEvent::Down)
  102 + {
  103 + if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
  104 + {
  105 + mApplication.Quit();
  106 + }
  107 + }
  108 + }
  109 +
  110 +private:
  111 +
  112 + Application& mApplication;
  113 +
  114 + Control mContainer;
  115 +};
  116 +
  117 +void RunTest( Application& application )
  118 +{
  119 + TextFieldExample test( application );
  120 +
  121 + application.MainLoop();
  122 +}
  123 +
  124 +/** Entry point for Linux & Tizen applications */
  125 +int main( int argc, char **argv )
  126 +{
  127 + Application application = Application::New( &argc, &argv );
  128 +
  129 + RunTest( application );
  130 +
  131 + return 0;
  132 +}
examples/text-label-emojis/emoji-strings.h 0 → 100644
  1 +#ifndef __DALI_DEMO_EMOJI_STRINGS_H__
  2 +#define __DALI_DEMO_EMOJI_STRINGS_H__
  3 +
  4 +/*
  5 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  6 + *
  7 + * Licensed under the Apache License, Version 2.0 (the "License");
  8 + * you may not use this file except in compliance with the License.
  9 + * You may obtain a copy of the License at
  10 + *
  11 + * http://www.apache.org/licenses/LICENSE-2.0
  12 + *
  13 + * Unless required by applicable law or agreed to in writing, software
  14 + * distributed under the License is distributed on an "AS IS" BASIS,
  15 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16 + * See the License for the specific language governing permissions and
  17 + * limitations under the License.
  18 + *
  19 + */
  20 +
  21 +// EXTERNAL INCLUDES
  22 +#include <string>
  23 +
  24 +namespace EmojiStrings
  25 +{
  26 + struct Emoji
  27 + {
  28 + uint32_t mUnicode;
  29 + std::string mUTF8;
  30 + std::string mDescription;
  31 + };
  32 +
  33 + const Emoji EMOJIS[] = {
  34 +
  35 + { 0x1F601,"\xF0\x9F\x98\x81","grinning face with smiling eyes" },
  36 + { 0x1F602,"\xF0\x9F\x98\x82","face with tears of joy" },
  37 + //{ 0x1F603,"\xF0\x9F\x98\x83","smiling face with open mouth" },
  38 + //{ 0x1F604,"\xF0\x9F\x98\x84","smiling face with open mouth and smiling eyes" },
  39 + { 0x1F605,"\xF0\x9F\x98\x85","smiling face with open mouth and cold sweat" },
  40 + //{ 0x1F606,"\xF0\x9F\x98\x86","smiling face with open mouth and tightly-closed eyes" },
  41 + { 0x1F609,"\xF0\x9F\x98\x89","winking face" },
  42 + { 0x1F60A,"\xF0\x9F\x98\x8A","smiling face with smiling eyes" },
  43 + { 0x1F60B,"\xF0\x9F\x98\x8B","face savouring delicious food" },
  44 + { 0x1F60C,"\xF0\x9F\x98\x8C","relieved face" },
  45 + { 0x1F60D,"\xF0\x9F\x98\x8D","smiling face with heart-shaped eyes" },
  46 + { 0x1F60F,"\xF0\x9F\x98\x8F","smirking face" },
  47 + //{ 0x1F612,"\xF0\x9F\x98\x92","unamused face" },
  48 + //{ 0x1F613,"\xF0\x9F\x98\x93","face with cold sweat" },
  49 + //{ 0x1F614,"\xF0\x9F\x98\x94","pensive face" },
  50 + //{ 0x1F616,"\xF0\x9F\x98\x96","confounded face" },
  51 + { 0x1F618,"\xF0\x9F\x98\x98","face throwing a kiss" },
  52 + { 0x1F61A,"\xF0\x9F\x98\x9A","kissing face with closed eyes" },
  53 + //{ 0x1F61C,"\xF0\x9F\x98\x9C","face with stuck-out tongue and winking eye" },
  54 + //{ 0x1F61D,"\xF0\x9F\x98\x9D","face with stuck-out tongue and tightly-closed eyes" },
  55 + //{ 0x1F61E,"\xF0\x9F\x98\x9E","disappointed face" },
  56 + { 0x1F620,"\xF0\x9F\x98\xA0","angry face" },
  57 +
  58 + /*
  59 + { "POUTING FACE",
  60 + { "CRYING FACE",
  61 + { "PERSEVERING FACE",
  62 + { "FACE WITH LOOK OF TRIUMPH",
  63 + { "DISAPPOINTED BUT RELIEVED FACE",
  64 + { "FEARFUL FACE",
  65 + { "WEARY FACE",
  66 + { "SLEEPY FACE",
  67 + { "TIRED FACE",
  68 + { "LOUDLY CRYING FACE",
  69 + { "FACE WITH OPEN MOUTH AND COLD SWEAT",
  70 + { "FACE SCREAMING IN FEAR",
  71 + { "ASTONISHED FACE",
  72 + { "FLUSHED FACE",
  73 + { "DIZZY FACE",
  74 + { "FACE WITH MEDICAL MASK",
  75 + { "GRINNING CAT FACE WITH SMILING EYES",
  76 + { "CAT FACE WITH TEARS OF JOY",
  77 + { "SMILING CAT FACE WITH OPEN MOUTH",
  78 + { "SMILING CAT FACE WITH HEART-SHAPED EYES",
  79 + { "CAT FACE WITH WRY SMILE",
  80 + { "KISSING CAT FACE WITH CLOSED EYES",
  81 + { "POUTING CAT FACE",
  82 + { "CRYING CAT FACE",
  83 + { "WEARY CAT FACE",
  84 + { "FACE WITH NO GOOD GESTURE",
  85 + { "FACE WITH OK GESTURE",
  86 + { "PERSON BOWING DEEPLY",
  87 + { "SEE-NO-EVIL MONKEY",
  88 + { "HEAR-NO-EVIL MONKEY",
  89 + { "SPEAK-NO-EVIL MONKEY",
  90 + { "HAPPY PERSON RAISING ONE HAND",
  91 + { "PERSON RAISING BOTH HANDS IN CELEBRATION",
  92 + { "PERSON FROWNING",
  93 + { "PERSON WITH POUTING FACE",
  94 + { "PERSON WITH FOLDED HANDS",
  95 + */
  96 +
  97 + };
  98 +
  99 + const unsigned int NUMBER_OF_EMOJIS = 12;
  100 +
  101 +} // EmojiStrings
  102 +
  103 +#endif // __DALI_DEMO_EMOJI_STRINGS_H__
examples/text-label-emojis/text-label-emojis.cpp 0 → 100644
  1 +/*
  2 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + *
  16 + */
  17 +
  18 +// EXTERNAL INCLUDES
  19 +#include <dali-toolkit/dali-toolkit.h>
  20 +#include <dali/public-api/text-abstraction/text-abstraction.h>
  21 +#include <iostream>
  22 +
  23 +// INTERNAL INCLUDES
  24 +#include "emoji-strings.h"
  25 +
  26 +using namespace Dali;
  27 +using namespace Dali::Toolkit;
  28 +using namespace EmojiStrings;
  29 +
  30 + // TODO Need to expose Text::RENDER.....
  31 +const int ATLAS_RENDERER = 0;
  32 +
  33 +// This example shows how to create and display Hello World! using a simple TextActor
  34 +//
  35 +class EmojiExample : public ConnectionTracker
  36 +{
  37 +public:
  38 +
  39 + typedef uint32_t SizeType;
  40 +
  41 + EmojiExample( Application& application )
  42 + : mApplication( application )
  43 + {
  44 + std::cout << "EmoticonController::EmoticonController" << std::endl;
  45 +
  46 + // Connect to the Application's Init signal
  47 + mApplication.InitSignal().Connect( this, &EmojiExample::Create );
  48 + }
  49 +
  50 + ~EmojiExample()
  51 + {
  52 + // Nothing to do here;
  53 + }
  54 +
  55 + // The Init signal is received once (only) during the Application lifetime
  56 + void Create( Application& application )
  57 + {
  58 + Stage stage = Stage::GetCurrent();
  59 + stage.KeyEventSignal().Connect(this, &EmojiExample::OnKeyEvent);
  60 +
  61 + mTableView = Toolkit::TableView::New( NUMBER_OF_EMOJIS, 1 );
  62 + mTableView.SetResizePolicy( FILL_TO_PARENT, WIDTH );
  63 + mTableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
  64 + mTableView.SetParentOrigin( ParentOrigin::TOP_LEFT );
  65 + mTableView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  66 + mTableView.TouchedSignal().Connect( this, &EmojiExample::OnTouchEvent );
  67 + stage.Add( mTableView );
  68 +
  69 + for( unsigned int index = 0u; index < NUMBER_OF_EMOJIS; ++index )
  70 + {
  71 + const Emoji& emoji = EMOJIS[index];
  72 + const std::string text = emoji.mUTF8 + " " + emoji.mDescription;
  73 +
  74 + TextLabel label = TextLabel::New( text );
  75 + label.SetParentOrigin( ParentOrigin::TOP_CENTER );
  76 + label.SetAnchorPoint( AnchorPoint::TOP_CENTER );
  77 + label.SetProperty( TextLabel::Property::MULTI_LINE, true );
  78 +
  79 + mTableView.SetFitHeight( index );
  80 + mTableView.AddChild( label, Toolkit::TableView::CellPosition( index, 0 ) );
  81 + }
  82 + }
  83 +
  84 + bool OnTouchEvent( Actor actor, const TouchEvent& event )
  85 + {
  86 + if( 1u == event.GetPointCount() )
  87 + {
  88 + const TouchPoint::State state = event.GetPoint(0u).state;
  89 +
  90 + // Clamp to integer values; this is to reduce flicking due to pixel misalignment
  91 + const float localPoint = static_cast<float>( static_cast<int>( event.GetPoint( 0 ).local.y ) );
  92 +
  93 + if( TouchPoint::Down == state )
  94 + {
  95 + mLastPoint = localPoint;
  96 + mAnimation = Animation::New( 0.25f );
  97 + }
  98 + else if( TouchPoint::Motion == state )
  99 + {
  100 + if( mAnimation )
  101 + {
  102 + mAnimation.AnimateBy( Property(mTableView, Actor::Property::POSITION), Vector3( 0.f, localPoint - mLastPoint, 0.f ), AlphaFunctions::Linear );
  103 + mAnimation.Play();
  104 + mLastPoint = localPoint;
  105 + }
  106 + }
  107 + }
  108 +
  109 + return true;
  110 + }
  111 +
  112 + /**
  113 + * Main key event handler
  114 + */
  115 + void OnKeyEvent(const KeyEvent& event)
  116 + {
  117 + if(event.state == KeyEvent::Down)
  118 + {
  119 + if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
  120 + {
  121 + mApplication.Quit();
  122 + }
  123 + }
  124 + }
  125 +
  126 +
  127 +private:
  128 + Application& mApplication;
  129 + TableView mTableView;
  130 + Animation mAnimation;
  131 + float mLastPoint;
  132 +};
  133 +
  134 +void RunTest( Application& application )
  135 +{
  136 + EmojiExample test( application );
  137 +
  138 + application.MainLoop();
  139 +}
  140 +
  141 +// Entry point for Linux & SLP applications
  142 +//
  143 +int main( int argc, char **argv )
  144 +{
  145 + Application application = Application::New( &argc, &argv );
  146 +
  147 + RunTest( application );
  148 +
  149 + return 0;
  150 +}
examples/text-label-multi-language/text-label-multi-language-example.cpp 0 → 100644
  1 +/*
  2 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + *
  16 + */
  17 +
  18 +/**
  19 + * @file text-label-example.cpp
  20 + * @brief Basic usage of TextLabel control
  21 + */
  22 +
  23 +// EXTERNAL INCLUDES
  24 +#include <dali-toolkit/dali-toolkit.h>
  25 +#include <dali/public-api/text-abstraction/text-abstraction.h>
  26 +
  27 +// INTERNAL INCLUDES
  28 +#include "shared/multi-language-strings.h"
  29 +#include "shared/view.h"
  30 +
  31 +using namespace Dali;
  32 +using namespace Dali::Toolkit;
  33 +using namespace MultiLanguageStrings;
  34 +
  35 +/**
  36 + * @brief The main class of the demo.
  37 + */
  38 +class TextLabelMultiLanguageExample : public ConnectionTracker
  39 +{
  40 +public:
  41 +
  42 + TextLabelMultiLanguageExample( Application& application )
  43 + : mApplication( application ),
  44 + mLastPoint( 0.f )
  45 + {
  46 + // Connect to the Application's Init signal
  47 + mApplication.InitSignal().Connect( this, &TextLabelMultiLanguageExample::Create );
  48 + }
  49 +
  50 + ~TextLabelMultiLanguageExample()
  51 + {
  52 + // Nothing to do here.
  53 + }
  54 +
  55 + /**
  56 + * One-time setup in response to Application InitSignal.
  57 + */
  58 + void Create( Application& application )
  59 + {
  60 + DemoHelper::RequestThemeChange();
  61 +
  62 + Stage stage = Stage::GetCurrent();
  63 +
  64 + stage.KeyEventSignal().Connect(this, &TextLabelMultiLanguageExample::OnKeyEvent);
  65 +
  66 + mTableView = Toolkit::TableView::New( NUMBER_OF_LANGUAGES, 1 );
  67 + mTableView.SetResizePolicy( FILL_TO_PARENT, WIDTH );
  68 + mTableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
  69 + mTableView.SetParentOrigin( ParentOrigin::TOP_LEFT );
  70 + mTableView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  71 + mTableView.TouchedSignal().Connect( this, &TextLabelMultiLanguageExample::OnTouchEvent );
  72 + stage.Add( mTableView );
  73 +
  74 + for( unsigned int index = 0u; index < NUMBER_OF_LANGUAGES; ++index )
  75 + {
  76 + const Language& language = LANGUAGES[index];
  77 +
  78 + TextLabel label = TextLabel::New();
  79 + label.SetProperty( TextLabel::Property::MULTI_LINE, true );
  80 +
  81 + const std::string text = language.languageName + " " + language.languageRomanName + " " + language.text;
  82 + label.SetProperty( TextLabel::Property::TEXT, text );
  83 +
  84 + mTableView.SetFitHeight( index );
  85 + mTableView.AddChild( label, Toolkit::TableView::CellPosition( index, 0 ) );
  86 + }
  87 + }
  88 +
  89 + bool OnTouchEvent( Actor actor, const TouchEvent& event )
  90 + {
  91 + if( 1u == event.GetPointCount() )
  92 + {
  93 + const TouchPoint::State state = event.GetPoint(0u).state;
  94 +
  95 + // Clamp to integer values; this is to reduce flicking due to pixel misalignment
  96 + const float localPoint = static_cast<float>( static_cast<int>( event.GetPoint( 0 ).local.y ) );
  97 +
  98 + if( TouchPoint::Down == state )
  99 + {
  100 + mLastPoint = localPoint;
  101 + mAnimation = Animation::New( 0.25f );
  102 + }
  103 + else if( TouchPoint::Motion == state )
  104 + {
  105 + if( mAnimation )
  106 + {
  107 + mAnimation.AnimateBy( Property(mTableView, Actor::Property::POSITION), Vector3( 0.f, localPoint - mLastPoint, 0.f ), AlphaFunctions::Linear );
  108 + mAnimation.Play();
  109 + mLastPoint = localPoint;
  110 + }
  111 + }
  112 + }
  113 +
  114 + return true;
  115 + }
  116 +
  117 + /**
  118 + * Main key event handler
  119 + */
  120 + void OnKeyEvent(const KeyEvent& event)
  121 + {
  122 + if(event.state == KeyEvent::Down)
  123 + {
  124 + if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
  125 + {
  126 + mApplication.Quit();
  127 + }
  128 + }
  129 + }
  130 +
  131 +private:
  132 +
  133 + Application& mApplication;
  134 + TableView mTableView;
  135 + Animation mAnimation;
  136 + float mLastPoint;
  137 +};
  138 +
  139 +void RunTest( Application& application )
  140 +{
  141 + TextLabelMultiLanguageExample test( application );
  142 +
  143 + application.MainLoop();
  144 +}
  145 +
  146 +/** Entry point for Linux & Tizen applications */
  147 +int main( int argc, char **argv )
  148 +{
  149 + Application application = Application::New( &argc, &argv );
  150 +
  151 + RunTest( application );
  152 +
  153 + return 0;
  154 +}
examples/text-label/text-label-example.cpp 0 → 100644
  1 +/*
  2 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + *
  16 + */
  17 +
  18 +/**
  19 + * @file text-label-example.cpp
  20 + * @brief Basic usage of TextLabel control
  21 + */
  22 +
  23 +// EXTERNAL INCLUDES
  24 +#include <dali-toolkit/dali-toolkit.h>
  25 +#include <dali/public-api/text-abstraction/text-abstraction.h>
  26 +
  27 +// INTERNAL INCLUDES
  28 +#include "shared/multi-language-strings.h"
  29 +#include "shared/view.h"
  30 +
  31 +using namespace Dali;
  32 +using namespace Dali::Toolkit;
  33 +using namespace MultiLanguageStrings;
  34 +
  35 +namespace
  36 +{
  37 + const char* const BACKGROUND_IMAGE = DALI_IMAGE_DIR "button-up.9.png";
  38 +
  39 + const unsigned int KEY_ZERO = 10;
  40 + const unsigned int KEY_ONE = 11;
  41 + const unsigned int KEY_H = 43;
  42 + const unsigned int KEY_V = 55;
  43 + const unsigned int KEY_M = 58;
  44 + const unsigned int KEY_L = 46;
  45 + const unsigned int KEY_S = 39;
  46 + const unsigned int KEY_PLUS = 21;
  47 + const unsigned int KEY_MINUS = 20;
  48 +
  49 + const char* H_ALIGNMENT_STRING_TABLE[] =
  50 + {
  51 + "BEGIN",
  52 + "CENTER",
  53 + "END"
  54 + };
  55 +
  56 + const unsigned int H_ALIGNMENT_STRING_COUNT = sizeof( H_ALIGNMENT_STRING_TABLE ) / sizeof( H_ALIGNMENT_STRING_TABLE[0u] );
  57 +
  58 + const char* V_ALIGNMENT_STRING_TABLE[] =
  59 + {
  60 + "TOP",
  61 + "CENTER",
  62 + "BOTTOM"
  63 + };
  64 +
  65 + const unsigned int V_ALIGNMENT_STRING_COUNT = sizeof( V_ALIGNMENT_STRING_TABLE ) / sizeof( V_ALIGNMENT_STRING_TABLE[0u] );
  66 +
  67 + int ConvertToEven(int value)
  68 + {
  69 + return (value % 2 == 0) ? value : (value + 1);
  70 + }
  71 +}
  72 +
  73 +/**
  74 + * @brief The main class of the demo.
  75 + */
  76 +class TextLabelExample : public ConnectionTracker
  77 +{
  78 +public:
  79 +
  80 + TextLabelExample( Application& application )
  81 + : mApplication( application ),
  82 + mLanguageId( 0u ),
  83 + mAlignment( 0u )
  84 + {
  85 + // Connect to the Application's Init signal
  86 + mApplication.InitSignal().Connect( this, &TextLabelExample::Create );
  87 + }
  88 +
  89 + ~TextLabelExample()
  90 + {
  91 + // Nothing to do here.
  92 + }
  93 +
  94 + /**
  95 + * One-time setup in response to Application InitSignal.
  96 + */
  97 + void Create( Application& application )
  98 + {
  99 + DemoHelper::RequestThemeChange();
  100 +
  101 + Stage stage = Stage::GetCurrent();
  102 +
  103 + stage.KeyEventSignal().Connect(this, &TextLabelExample::OnKeyEvent);
  104 + Vector2 stageSize = stage.GetSize();
  105 +
  106 + mContainer = Control::New();
  107 + mContainer.SetName( "Container" );
  108 + mContainer.SetParentOrigin( ParentOrigin::CENTER );
  109 + mContainer.SetResizePolicy( FIXED, ALL_DIMENSIONS );
  110 + mLayoutSize = Vector2(stageSize.width*0.6f, stageSize.width*0.6f);
  111 + mContainer.SetSize( mLayoutSize );
  112 + mContainer.SetBackgroundImage( ResourceImage::New( BACKGROUND_IMAGE ) );
  113 + mContainer.GetChildAt(0).SetZ(-1.0f);
  114 + stage.Add( mContainer );
  115 +
  116 + // Resize the center layout when the corner is grabbed
  117 + mGrabCorner = Control::New();
  118 + mGrabCorner.SetName( "GrabCorner" );
  119 + mGrabCorner.SetAnchorPoint( AnchorPoint::BOTTOM_RIGHT );
  120 + mGrabCorner.SetParentOrigin( ParentOrigin::BOTTOM_RIGHT );
  121 + mGrabCorner.SetResizePolicy( FIXED, ALL_DIMENSIONS );
  122 + mGrabCorner.SetSize( Vector2(stageSize.width*0.1f, stageSize.width*0.1f) );
  123 + mGrabCorner.SetZ(1.0f);
  124 + mContainer.Add( mGrabCorner );
  125 +
  126 + mPanGestureDetector = PanGestureDetector::New();
  127 + mPanGestureDetector.Attach( mGrabCorner );
  128 + mPanGestureDetector.DetectedSignal().Connect( this, &TextLabelExample::OnPan );
  129 +
  130 + mLabel = TextLabel::New( "A Quick Brown Fox Jumps Over The Lazy Dog" );
  131 + mLabel.SetName( "TextLabel" );
  132 + mLabel.SetAnchorPoint( AnchorPoint::TOP_LEFT );
  133 + mLabel.SetResizePolicy( FILL_TO_PARENT, WIDTH );
  134 + mLabel.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT );
  135 + mLabel.SetProperty( TextLabel::Property::MULTI_LINE, true );
  136 + mLabel.SetProperty( TextLabel::Property::SHADOW_OFFSET, Vector2( 1.0f, 1.0f ) );
  137 + mLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::BLACK );
  138 + mContainer.Add( mLabel );
  139 +
  140 + Property::Value labelText = mLabel.GetProperty( TextLabel::Property::TEXT );
  141 + std::cout << "Displaying text: \"" << labelText.Get< std::string >() << "\"" << std::endl;
  142 + }
  143 +
  144 + // Resize the text-label with pan gesture
  145 + void OnPan( Actor actor, const PanGesture& gesture )
  146 + {
  147 + mLayoutSize.x += gesture.displacement.x * 2.0f;
  148 + mLayoutSize.y += gesture.displacement.y * 2.0f;
  149 +
  150 + if( mLayoutSize.x >= 2.0f &&
  151 + mLayoutSize.y >= 2.0f )
  152 + {
  153 + // Avoid pixel mis-alignment issue
  154 + Vector2 clampedSize = Vector2( ConvertToEven(static_cast<int>(mLayoutSize.x)),
  155 + ConvertToEven(static_cast<int>(mLayoutSize.y)) );
  156 +
  157 + mContainer.SetSize( clampedSize );
  158 + }
  159 + }
  160 +
  161 + /**
  162 + * Main key event handler
  163 + */
  164 + void OnKeyEvent(const KeyEvent& event)
  165 + {
  166 + if(event.state == KeyEvent::Down)
  167 + {
  168 + if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
  169 + {
  170 + mApplication.Quit();
  171 + }
  172 + else if( event.IsCtrlModifier() )
  173 + {
  174 + switch( event.keyCode )
  175 + {
  176 + case KEY_ZERO: // fall through
  177 + case KEY_ONE:
  178 + {
  179 + mLabel.SetProperty( TextLabel::Property::RENDERING_BACKEND, event.keyCode - 10 );
  180 + break;
  181 + }
  182 + case KEY_H:
  183 + {
  184 + if( ++mAlignment >= H_ALIGNMENT_STRING_COUNT )
  185 + {
  186 + mAlignment = 0u;
  187 + }
  188 +
  189 + mLabel.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, H_ALIGNMENT_STRING_TABLE[ mAlignment ] );
  190 + break;
  191 + }
  192 + case KEY_V:
  193 + {
  194 + if( ++mAlignment >= V_ALIGNMENT_STRING_COUNT )
  195 + {
  196 + mAlignment = 0u;
  197 + }
  198 +
  199 + mLabel.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, V_ALIGNMENT_STRING_TABLE[ mAlignment ] );
  200 + break;
  201 + }
  202 + case KEY_M:
  203 + {
  204 + bool multiLine = mLabel.GetProperty<bool>( TextLabel::Property::MULTI_LINE );
  205 + mLabel.SetProperty( TextLabel::Property::MULTI_LINE, !multiLine );
  206 + break;
  207 + }
  208 + case KEY_L:
  209 + {
  210 + const Language& language = LANGUAGES[ mLanguageId ];
  211 +
  212 + mLabel.SetProperty( TextLabel::Property::TEXT, language.text );
  213 +
  214 + if( ++mLanguageId >= NUMBER_OF_LANGUAGES )
  215 + {
  216 + mLanguageId = 0u;
  217 + }
  218 + break;
  219 + }
  220 + case KEY_S:
  221 + {
  222 + if( Color::BLACK == mLabel.GetProperty<Vector4>( TextLabel::Property::SHADOW_COLOR ) )
  223 + {
  224 + mLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::RED );
  225 + }
  226 + else
  227 + {
  228 + mLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::BLACK );
  229 + }
  230 + break;
  231 + }
  232 + case KEY_PLUS:
  233 + {
  234 + mLabel.SetProperty( TextLabel::Property::SHADOW_OFFSET, mLabel.GetProperty<Vector2>( TextLabel::Property::SHADOW_OFFSET ) + Vector2( 1.0f, 1.0f ) );
  235 + break;
  236 + }
  237 + case KEY_MINUS:
  238 + {
  239 + mLabel.SetProperty( TextLabel::Property::SHADOW_OFFSET, mLabel.GetProperty<Vector2>( TextLabel::Property::SHADOW_OFFSET ) - Vector2( 1.0f, 1.0f ) );
  240 + break;
  241 + }
  242 +
  243 + }
  244 + }
  245 + }
  246 + }
  247 +
  248 +private:
  249 +
  250 + Application& mApplication;
  251 +
  252 + TextLabel mLabel;
  253 +
  254 + Control mContainer;
  255 + Actor mGrabCorner;
  256 +
  257 + PanGestureDetector mPanGestureDetector;
  258 +
  259 + Vector2 mLayoutSize;
  260 +
  261 + unsigned int mLanguageId;
  262 + unsigned int mAlignment;
  263 +};
  264 +
  265 +void RunTest( Application& application )
  266 +{
  267 + TextLabelExample test( application );
  268 +
  269 + application.MainLoop();
  270 +}
  271 +
  272 +/** Entry point for Linux & Tizen applications */
  273 +int main( int argc, char **argv )
  274 +{
  275 + Application application = Application::New( &argc, &argv );
  276 +
  277 + RunTest( application );
  278 +
  279 + return 0;
  280 +}
examples/text-view/text-view-example.cpp deleted
1 -/*  
2 - * Copyright (c) 2014 Samsung Electronics Co., Ltd.  
3 - *  
4 - * Licensed under the Apache License, Version 2.0 (the "License");  
5 - * you may not use this file except in compliance with the License.  
6 - * You may obtain a copy of the License at  
7 - *  
8 - * http://www.apache.org/licenses/LICENSE-2.0  
9 - *  
10 - * Unless required by applicable law or agreed to in writing, software  
11 - * distributed under the License is distributed on an "AS IS" BASIS,  
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
13 - * See the License for the specific language governing permissions and  
14 - * limitations under the License.  
15 - *  
16 - */  
17 -  
18 -#include "shared/view.h"  
19 -#include <dali/dali.h>  
20 -#include <dali-toolkit/dali-toolkit.h>  
21 -  
22 -using namespace Dali;  
23 -  
24 -namespace  
25 -{  
26 -  
27 -const char* const BACKGROUND_IMAGE = DALI_IMAGE_DIR "background-gradient.jpg";  
28 -const char* const TOOLBAR_IMAGE = DALI_IMAGE_DIR "top-bar.png";  
29 -  
30 -const char* const TOOLBAR_TITLE = "Text View";  
31 -const int TOOLBAR_HEIGHT = 80;  
32 -  
33 -const int NUM_TABLE_ROWS = 12;  
34 -const int NUM_TABLE_COLUMNS = 12;  
35 -  
36 -} // namespace  
37 -  
38 -/**  
39 - * Helper structs  
40 - */  
41 -struct TableCell  
42 -{  
43 - unsigned int row;  
44 - unsigned int column;  
45 - unsigned int rowSpan;  
46 - unsigned int columnSpan;  
47 -};  
48 -  
49 -struct TableString  
50 -{  
51 - std::string fontName;  
52 - std::string fontStyle;  
53 - float fontSize;  
54 - Dali::TextStyle::Weight fontWeight;  
55 - Vector4 fontColour;  
56 -  
57 - std::string text;  
58 -  
59 - Toolkit::Alignment::Type horizontalAlignment;  
60 - Toolkit::Alignment::Type verticalAlignment;  
61 - float padding;  
62 -  
63 - float orientation;  
64 -  
65 - TableCell cellPosition;  
66 -};  
67 -  
68 -namespace  
69 -{  
70 -// Font Font style Font point size Font weight Text colour Text Horizontal alignment Vertical alignment Padding Orientation Table cell position and span  
71 -const TableString TABLE_STRINGS[] = { { "HelveticaNue", "Regular", 8.0f, Dali::TextStyle::REGULAR, Vector4( 0.5f, 1.0f, 0.0f, 1.0f ), "Howdy", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 0, 0, 2, 4 } },  
72 - { "HelveticaNue", "Regular", 13.0f, Dali::TextStyle::EXTRABOLD, Vector4( 1.0f, 0.5f, 0.0f, 1.0f ), "Hello!", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 0.0f, { 0, 4, 1, 4 } },  
73 - { "HelveticaNue", "Regular", 18.0f, Dali::TextStyle::REGULAR, Vector4( 1.0f, 0.75f, 0.25f, 1.0f ), "שלום!", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 1, 4, 1, 4 } },  
74 - { "HelveticaNue", "Regular", 8.0f, Dali::TextStyle::REGULAR, Vector4( 0.5f, 0.0f, 1.0f, 1.0f ), "Hi there", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalBottom, 10.0f, 0.0f, { 0, 8, 2, 4 } },  
75 - { "HelveticaNue", "Regular", 12.0f, Dali::TextStyle::REGULAR, Vector4( 0.5f, 1.0f, 1.0f, 1.0f ), "Hola", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 90.0f, { 2, 0, 4, 2 } },  
76 - { "HelveticaNue", "Regular", 18.0f, Dali::TextStyle::BOLD, Vector4( 0.5f, 1.0f, 0.5f, 1.0f ), "Bonjour", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 2, 2, 2, 4 } },  
77 - { "HelveticaNue", "Regular", 12.0f, Dali::TextStyle::REGULAR, Vector4( 1.0f, 1.0f, 0.5f, 1.0f ), "Ciao", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 0.0f, { 2, 7, 2, 3 } },  
78 - { "HelveticaNue", "Regular", 23.0f, Dali::TextStyle::EXTRABLACK, Vector4( 0.5f, 0.0f, 0.0f, 1.0f ), "안녕하세요", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 20.0f, 0.0f, { 4, 3, 1, 6 } },  
79 - { "HelveticaNue", "Regular", 8.0f, Dali::TextStyle::DEMIBOLD, Vector4( 0.0f, 0.5f, 0.0f, 1.0f ), "Top of the morning to you", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 90.0f, { 4, 10, 8, 2 } },  
80 - { "HelveticaNue", "Regular", 13.0f, Dali::TextStyle::DEMIBOLD, Vector4( 1.0f, 1.0f, 1.0f, 1.0f ), "हैलो", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 6, 1, 1, 3 } },  
81 - { "HelveticaNue", "Regular", 8.0f, Dali::TextStyle::DEMIBOLD, Vector4( 1.0f, 1.0f, 0.0f, 1.0f ), "สวัสดี", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 90.0f, { 6, 5, 2, 1 } },  
82 - { "HelveticaNue", "Regular", 18.0f, Dali::TextStyle::REGULAR, Vector4( 0.0f, 1.0f, 1.0f, 1.0f ), "你好", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalBottom, 10.0f, 0.0f, { 6, 6, 1, 3 } },  
83 - { "HelveticaNue", "Regular", 34.0f, Dali::TextStyle::REGULAR, Vector4( 0.0f, 0.0f, 1.0f, 1.0f ), "G'day", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 0.0f, { 7, 0, 2, 10 } },  
84 - { "HelveticaNue", "Regular", 16.0f, Dali::TextStyle::EXTRABLACK, Vector4( 0.0f, 0.5f, 1.0f, 1.0f ), "مرحبا", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 9, 1, 2, 4 } },  
85 - { "HelveticaNue", "Regular", 10.0f, Dali::TextStyle::EXTRABLACK, Vector4( 1.0f, 0.0f, 0.0f, 1.0f ), "こんにちは", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalCenter, 10.0f, 0.0f, { 10, 0, 2, 6 } },  
86 - { "HelveticaNue", "Regular", 14.0f, Dali::TextStyle::REGULAR, Vector4( 0.0f, 1.0f, 0.0f, 1.0f ), "aloha", Toolkit::Alignment::HorizontalCenter, Toolkit::Alignment::VerticalTop, 10.0f, 0.0f, { 10, 6, 2, 4 } }  
87 - };  
88 -  
89 -const int NUM_TABLE_STRINGS = sizeof( TABLE_STRINGS ) / sizeof( TABLE_STRINGS[0] );  
90 -  
91 -} // namespace  
92 -  
93 -/**  
94 - * This example shows the usage of TextView.  
95 - */  
96 -class TextViewController: public ConnectionTracker  
97 -{  
98 -public:  
99 -  
100 - TextViewController( Application& application )  
101 - : mApplication( application )  
102 - {  
103 - // Connect to the Application's Init signal  
104 - mApplication.InitSignal().Connect( this, &TextViewController::Create );  
105 - }  
106 -  
107 - ~TextViewController()  
108 - {  
109 - // Nothing to do here  
110 - }  
111 -  
112 - void Create( Application& application )  
113 - {  
114 - // The Init signal is received once (only) during the Application lifetime  
115 -  
116 - Stage stage = Stage::GetCurrent();  
117 -  
118 - // Respond to key events  
119 - stage.KeyEventSignal().Connect(this, &TextViewController::OnKeyEvent);  
120 -  
121 - // Creates a default view with a default tool bar.  
122 - // The view is added to the stage.  
123 - mContentLayer = DemoHelper::CreateView( application,  
124 - mView,  
125 - mToolBar,  
126 - BACKGROUND_IMAGE,  
127 - TOOLBAR_IMAGE,  
128 - TOOLBAR_TITLE );  
129 -  
130 - // Create a table view the height of the stage  
131 - Toolkit::TableView textContainer = Toolkit::TableView::New( NUM_TABLE_ROWS, NUM_TABLE_COLUMNS );  
132 - textContainer.SetParentOrigin( ParentOrigin::TOP_LEFT );  
133 - textContainer.SetAnchorPoint( AnchorPoint::TOP_LEFT );  
134 - textContainer.SetPosition( 0, TOOLBAR_HEIGHT );  
135 - textContainer.SetSize( stage.GetSize().width, stage.GetSize().height - TOOLBAR_HEIGHT );  
136 -  
137 - mContentLayer.Add( textContainer );  
138 -  
139 - // Add data  
140 - for( int i = 0; i < NUM_TABLE_STRINGS; ++i )  
141 - {  
142 - const TableString& tableString = TABLE_STRINGS[ i ];  
143 -  
144 - Dali::TextStyle textStyle;  
145 - textStyle.SetFontName( tableString.fontName );  
146 - textStyle.SetFontStyle( tableString.fontStyle );  
147 - textStyle.SetFontPointSize( Dali::PointSize( DemoHelper::ScalePointSize( tableString.fontSize ) ) );  
148 - textStyle.SetWeight( tableString.fontWeight );  
149 - textStyle.SetTextColor( tableString.fontColour );  
150 -  
151 - Toolkit::TextView textView = Toolkit::TextView::New( tableString.text );  
152 - textView.SetStyleToCurrentText( textStyle );  
153 - textView.SetOrientation( Dali::Degree( tableString.orientation ), Vector3( 0.0f, 0.0f, 1.0f ) );  
154 - textView.SetResizePolicy( USE_NATURAL_SIZE, ALL_DIMENSIONS );  
155 -  
156 - Toolkit::Alignment alignmentContainer = Toolkit::Alignment::New( tableString.horizontalAlignment, tableString.verticalAlignment );  
157 - Actor alignmentContainerActor = alignmentContainer;  
158 - alignmentContainerActor.SetPadding( Padding( tableString.padding, tableString.padding, tableString.padding, tableString.padding ) );  
159 - alignmentContainer.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS );  
160 - alignmentContainer.Add( textView );  
161 -  
162 - textContainer.AddChild( alignmentContainer, Toolkit::TableView::CellPosition( tableString.cellPosition.row, tableString.cellPosition.column, tableString.cellPosition.rowSpan, tableString.cellPosition.columnSpan ) );  
163 - }  
164 - }  
165 -  
166 - void OnKeyEvent( const KeyEvent& event )  
167 - {  
168 - if( event.state == KeyEvent::Down )  
169 - {  
170 - if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) )  
171 - {  
172 - // Exit application when click back or escape.  
173 - mApplication.Quit();  
174 - }  
175 - }  
176 - }  
177 -  
178 -private:  
179 -  
180 - Application& mApplication;  
181 - Toolkit::View mView; ///< The View instance.  
182 - Toolkit::ToolBar mToolBar; ///< The View's Toolbar.  
183 - Layer mContentLayer; ///< Content layer  
184 -  
185 -};  
186 -  
187 -void RunTest( Application& application )  
188 -{  
189 - TextViewController test( application );  
190 -  
191 - application.MainLoop();  
192 -}  
193 -  
194 -// Entry point for Linux & Tizen applications  
195 -//  
196 -int main( int argc, char **argv )  
197 -{  
198 - Application application = Application::New( &argc, &argv );  
199 -  
200 - RunTest( application );  
201 -  
202 - return 0;  
203 -}  
packaging/com.samsung.dali-demo.spec
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 Name: com.samsung.dali-demo 3 Name: com.samsung.dali-demo
4 Summary: The OpenGLES Canvas Core Demo 4 Summary: The OpenGLES Canvas Core Demo
5 -Version: 1.0.36 5 +Version: 1.0.37
6 Release: 1 6 Release: 1
7 Group: System/Libraries 7 Group: System/Libraries
8 License: Apache-2.0 8 License: Apache-2.0
@@ -22,6 +22,7 @@ BuildRequires: dali-toolkit-devel @@ -22,6 +22,7 @@ BuildRequires: dali-toolkit-devel
22 BuildRequires: dali-adaptor-devel 22 BuildRequires: dali-adaptor-devel
23 BuildRequires: pkgconfig(dlog) 23 BuildRequires: pkgconfig(dlog)
24 BuildRequires: pkgconfig(egl) 24 BuildRequires: pkgconfig(egl)
  25 +BuildRequires: gettext-tools
25 26
26 %description 27 %description
27 The OpenGLES Canvas Core Demo is a collection of examples and demonstrations 28 The OpenGLES Canvas Core Demo is a collection of examples and demonstrations
@@ -37,6 +38,8 @@ of the capability of the toolkit. @@ -37,6 +38,8 @@ of the capability of the toolkit.
37 %define dali_xml_file_dir /usr/share/packages/ 38 %define dali_xml_file_dir /usr/share/packages/
38 %define dali_icon_dir /usr/share/icons/ 39 %define dali_icon_dir /usr/share/icons/
39 %define smack_rule_dir /etc/smack/accesses2.d/ 40 %define smack_rule_dir /etc/smack/accesses2.d/
  41 +%define locale_dir %{dali_app_ro_dir}/res/locale
  42 +%define local_style_dir ../../resources/style/mobile
40 43
41 ############################## 44 ##############################
42 # Build 45 # Build
@@ -50,7 +53,7 @@ LDFLAGS+=&quot; -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -fPIC&quot; @@ -50,7 +53,7 @@ LDFLAGS+=&quot; -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -fPIC&quot;
50 CXXFLAGS+=" -D_ARCH_ARM_" 53 CXXFLAGS+=" -D_ARCH_ARM_"
51 %endif 54 %endif
52 55
53 -cd %{_builddir}/%{name}-%{version}/build/tizen && cmake -DDALI_APP_DIR=%{dali_app_ro_dir} . 56 +cd %{_builddir}/%{name}-%{version}/build/tizen && cmake -DDALI_APP_DIR=%{dali_app_ro_dir} -DLOCALE_DIR=%{locale_dir} -DLOCAL_STYLE_DIR=%{local_style_dir} .
54 57
55 make %{?jobs:-j%jobs} 58 make %{?jobs:-j%jobs}
56 59
@@ -108,8 +111,10 @@ exit 0 @@ -108,8 +111,10 @@ exit 0
108 %{dali_app_ro_dir}/images/* 111 %{dali_app_ro_dir}/images/*
109 %{dali_app_ro_dir}/models/* 112 %{dali_app_ro_dir}/models/*
110 %{dali_app_ro_dir}/scripts/* 113 %{dali_app_ro_dir}/scripts/*
  114 +%{dali_app_ro_dir}/style/*
111 %{dali_xml_file_dir}/%{name}.xml 115 %{dali_xml_file_dir}/%{name}.xml
112 %{dali_icon_dir}/* 116 %{dali_icon_dir}/*
  117 +%{locale_dir}/*
113 %if 0%{?enable_dali_smack_rules} && !%{with wayland} 118 %if 0%{?enable_dali_smack_rules} && !%{with wayland}
114 %config %{smack_rule_dir}/%{name}.rule 119 %config %{smack_rule_dir}/%{name}.rule
115 %endif 120 %endif
resources/scripts/animated-colors.json
@@ -988,12 +988,12 @@ @@ -988,12 +988,12 @@
988 ] 988 ]
989 }, 989 },
990 { 990 {
991 - "type": "TextView", 991 + "type": "TextLabel",
992 "name": "text", 992 "name": "text",
993 "parent-origin": "CENTER", 993 "parent-origin": "CENTER",
994 "anchor-point": "CENTER", 994 "anchor-point": "CENTER",
995 - "text": "<font size='20'><b>START</b></font>",  
996 - "markup-enabled": true, 995 + "text": "START",
  996 + "point-size": 20,
997 "signals": [ 997 "signals": [
998 { 998 {
999 "name": "tapped", 999 "name": "tapped",
resources/scripts/animation.json
@@ -85,7 +85,7 @@ @@ -85,7 +85,7 @@
85 // a tree of actors 85 // a tree of actors
86 "stage": [{ 86 "stage": [{
87 "name": "greeting", 87 "name": "greeting",
88 - "type": "TextView", 88 + "type": "TextLabel",
89 "text": "Touch me", 89 "text": "Touch me",
90 "styles": ["basic-text"], 90 "styles": ["basic-text"],
91 "position": [0, -120, 0], 91 "position": [0, -120, 0],
@@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
98 }] 98 }]
99 }, { 99 }, {
100 "name":"greeting2", 100 "name":"greeting2",
101 - "type": "TextView", 101 + "type": "TextLabel",
102 "parent-origin": "CENTER", 102 "parent-origin": "CENTER",
103 "anchor-point": "CENTER", 103 "anchor-point": "CENTER",
104 "size": [200, 200, 1], 104 "size": [200, 200, 1],
@@ -111,7 +111,7 @@ @@ -111,7 +111,7 @@
111 "animation": "path-animation" 111 "animation": "path-animation"
112 }] 112 }]
113 }, { 113 }, {
114 - "type": "TextView", // styles can be additive 114 + "type": "TextLabel", // styles can be additive
115 "parent-origin": "CENTER", 115 "parent-origin": "CENTER",
116 "anchor-point": "CENTER", 116 "anchor-point": "CENTER",
117 "size": [200, 200, 1], 117 "size": [200, 200, 1],
resources/scripts/background-color.json
@@ -16,9 +16,9 @@ @@ -16,9 +16,9 @@
16 */ 16 */
17 { 17 {
18 "stage": [ 18 "stage": [
19 - // A TextView with a red background 19 + // A TextLabel with a red background
20 { 20 {
21 - "type": "TextView", 21 + "type": "TextLabel",
22 "text": "Hello World", 22 "text": "Hello World",
23 "parent-origin": "TOP_CENTER", 23 "parent-origin": "TOP_CENTER",
24 "anchor-point": "TOP_CENTER", 24 "anchor-point": "TOP_CENTER",
resources/scripts/button.json
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 "parent-origin": "TOP_CENTER", 25 "parent-origin": "TOP_CENTER",
26 "anchor-point": "TOP_CENTER", 26 "anchor-point": "TOP_CENTER",
27 "position": [0, 0, 0], 27 "position": [0, 0, 0],
28 - "size": [0, 200, 0], 28 + "size": [400, 200, 0],
29 "normal-state-actor": { 29 "normal-state-actor": {
30 "type": "ImageActor", 30 "type": "ImageActor",
31 "image": { 31 "image": {
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 } 39 }
40 }, 40 },
41 "label-actor": { 41 "label-actor": {
42 - "type": "TextView", 42 + "type": "TextLabel",
43 "text": "Normal" 43 "text": "Normal"
44 } 44 }
45 }, 45 },
@@ -50,9 +50,9 @@ @@ -50,9 +50,9 @@
50 "parent-origin": "CENTER", 50 "parent-origin": "CENTER",
51 "anchor-point": "CENTER", 51 "anchor-point": "CENTER",
52 "position": [0, 0, 0], 52 "position": [0, 0, 0],
53 - "size": [0, 200, 0], 53 + "size": [400, 200, 0],
54 "label-actor": { 54 "label-actor": {
55 - "type": "TextView", 55 + "type": "TextLabel",
56 "text": "Disabled" 56 "text": "Disabled"
57 }, 57 },
58 "disabled": true, 58 "disabled": true,
@@ -83,9 +83,9 @@ @@ -83,9 +83,9 @@
83 "parent-origin": "BOTTOM_CENTER", 83 "parent-origin": "BOTTOM_CENTER",
84 "anchor-point": "BOTTOM_CENTER", 84 "anchor-point": "BOTTOM_CENTER",
85 "position": [0, 0, 0], 85 "position": [0, 0, 0],
86 - "size": [0, 200, 0], 86 + "size": [400, 200, 0],
87 "label-actor": { 87 "label-actor": {
88 - "type": "TextView", 88 + "type": "TextLabel",
89 "text": "Toggle" 89 "text": "Toggle"
90 }, 90 },
91 "togglable": true, 91 "togglable": true,
@@ -111,7 +111,7 @@ @@ -111,7 +111,7 @@
111 "actor": "toggle-button", 111 "actor": "toggle-button",
112 "property": "label-actor", 112 "property": "label-actor",
113 "value": { 113 "value": {
114 - "type": "TextView", 114 + "type": "TextLabel",
115 "text": "Using a 9-patch image" 115 "text": "Using a 9-patch image"
116 } 116 }
117 }] 117 }]
resources/scripts/formatted-text.json deleted
1 -/*  
2 - * Copyright (c) 2014 Samsung Electronics Co., Ltd.  
3 - *  
4 - * Licensed under the Apache License, Version 2.0 (the "License");  
5 - * you may not use this file except in compliance with the License.  
6 - * You may obtain a copy of the License at  
7 - *  
8 - * http://www.apache.org/licenses/LICENSE-2.0  
9 - *  
10 - * Unless required by applicable law or agreed to in writing, software  
11 - * distributed under the License is distributed on an "AS IS" BASIS,  
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
13 - * See the License for the specific language governing permissions and  
14 - * limitations under the License.  
15 - *  
16 - */  
17 -{  
18 - // a tree of actors  
19 - "stage": [{  
20 - "type": "Actor",  
21 - "size": [400, 400, 1],  
22 - "parent-origin": "CENTER",  
23 - "actors": [{  
24 - "type": "TextView",  
25 - "size": [400, 400, 1],  
26 - "text": "<font size='8>Text with<br>\n<b>'markup-enabled':true</b></font>",  
27 - "markup-enabled": true,  
28 - "multiline-policy": "SplitByNewLineChar",  
29 - "horizontal-alignment": "HorizontalCenter",  
30 - "vertical-alignment": "VerticalBottom",  
31 - "width-exceed-policy": "Fade",  
32 - "line-justification": "Center",  
33 - "fade-boundary": [50, 50, 0, 0],  
34 - "line-height-offset": 25.0,  
35 - "parent-origin": "TOP_CENTER"  
36 - }, {  
37 - "type": "TextView",  
38 - "size": [400, 400, 1],  
39 - "text": "<font size='16'>Text with\n<b>'markup-enabled':false</b></font>",  
40 - "markup-enabled": false,  
41 - "multiline-policy": "SplitByWord",  
42 - "horizontal-alignment": "HorizontalLeft",  
43 - "vertical-alignment": "VerticalTop",  
44 - "width-exceed-policy": "ShrinkToFit",  
45 - "height-exceed-policy": "Original",  
46 - "line-justification": "Right",  
47 - "line-height-offset": 5.0,  
48 - "parent-origin": "BOTTOM_CENTER"  
49 - }]  
50 - }]  
51 -}  
resources/scripts/hello-world.json
@@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
17 { 17 {
18 // a tree of actors 18 // a tree of actors
19 "stage": [{ 19 "stage": [{
20 - "type": "TextView", 20 + "type": "TextLabel",
21 "text": "Hello World", 21 "text": "Hello World",
22 "parent-origin": "CENTER" 22 "parent-origin": "CENTER"
23 }] 23 }]
resources/scripts/music-library.json
@@ -132,7 +132,7 @@ @@ -132,7 +132,7 @@
132 "type": "Control", 132 "type": "Control",
133 "actors": [ 133 "actors": [
134 { 134 {
135 - "type": "TextView", 135 + "type": "TextLabel",
136 "actors": [], 136 "actors": [],
137 "name": "Time", 137 "name": "Time",
138 "position": [ 138 "position": [
@@ -147,8 +147,8 @@ @@ -147,8 +147,8 @@
147 1 147 1
148 ], 148 ],
149 "sizeAspectRatio": false, 149 "sizeAspectRatio": false,
150 - "markup-enabled": true,  
151 - "text": "<font size=10px color=#ffffff><b>12:30</b></font>" 150 + "text": "12:30",
  151 + "point-size": 10
152 } 152 }
153 ], 153 ],
154 "name": "Indicators", 154 "name": "Indicators",
resources/scripts/navigation.json
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 "title": "title", 31 "title": "title",
32 "sub-title": "sub title", 32 "sub-title": "sub title",
33 "actors": [{ 33 "actors": [{
34 - "type": "TextView", // styles can be additive 34 + "type": "TextLabel", // styles can be additive
35 "parent-origin": [0.5, 0.5, 0], 35 "parent-origin": [0.5, 0.5, 0],
36 "anchor-point": [0.5, 0.5, 0], 36 "anchor-point": [0.5, 0.5, 0],
37 "size": [200, 200, 1], 37 "size": [200, 200, 1],
@@ -47,13 +47,13 @@ @@ -47,13 +47,13 @@
47 "type": "Page", 47 "type": "Page",
48 "name": "page2", 48 "name": "page2",
49 "actors": [{ 49 "actors": [{
50 - "type": "TextView", // styles can be additive 50 + "type": "TextLabel", // styles can be additive
51 "parent-origin": [0.5, 0.5, 0.5], 51 "parent-origin": [0.5, 0.5, 0.5],
52 "anchor-point": [0.5, 0.5, 0.5], 52 "anchor-point": [0.5, 0.5, 0.5],
53 "size": [200, 200, 1], 53 "size": [200, 200, 1],
54 "text": "Hello World!" 54 "text": "Hello World!"
55 }, { 55 }, {
56 - "type": "TextView", // styles can be additive 56 + "type": "TextLabel", // styles can be additive
57 "parent-origin": [0.0, 0.0, 0.5], 57 "parent-origin": [0.0, 0.0, 0.5],
58 "anchor-point": [0.0, 0.0, 0.5], 58 "anchor-point": [0.0, 0.0, 0.5],
59 "size": [200, 200, 1], 59 "size": [200, 200, 1],
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 "action": "pop" 64 "action": "pop"
65 }] 65 }]
66 }, { 66 }, {
67 - "type": "TextView", // styles can be additive 67 + "type": "TextLabel", // styles can be additive
68 "parent-origin": [1.0, 1.0, 0.5], 68 "parent-origin": [1.0, 1.0, 0.5],
69 "anchor-point": [1.0, 1.0, 0.5], 69 "anchor-point": [1.0, 1.0, 0.5],
70 "size": [200, 200, 1], 70 "size": [200, 200, 1],
resources/scripts/super-blur-view.json
@@ -65,9 +65,9 @@ @@ -65,9 +65,9 @@
65 "parent-origin": "BOTTOM_CENTER", 65 "parent-origin": "BOTTOM_CENTER",
66 "anchor-point": "BOTTOM_CENTER", 66 "anchor-point": "BOTTOM_CENTER",
67 "position": [0, 0, 0], 67 "position": [0, 0, 0],
68 - "size": [0, 100, 0], 68 + "size": [200, 100, 0],
69 "label-actor": { 69 "label-actor": {
70 - "type": "TextView", 70 + "type": "TextLabel",
71 "text": "Blur" 71 "text": "Blur"
72 }, 72 },
73 "normal-state-actor": { 73 "normal-state-actor": {
resources/scripts/table-view.json
@@ -22,8 +22,6 @@ @@ -22,8 +22,6 @@
22 "background-color": [0.5,0.5,0,1], 22 "background-color": [0.5,0.5,0,1],
23 "parent-origin": "CENTER", 23 "parent-origin": "CENTER",
24 "size":[400,500,1], 24 "size":[400,500,1],
25 - "rows": 4,  
26 - "columns":4,  
27 "cell-padding": [10, 5], 25 "cell-padding": [10, 5],
28 "layout-rows": { // set the height of the rows 26 "layout-rows": { // set the height of the rows
29 "0": { "policy": "fixed", "value": 40 }, 27 "0": { "policy": "fixed", "value": 40 },
@@ -38,17 +36,21 @@ @@ -38,17 +36,21 @@
38 "actors": [{ 36 "actors": [{
39 "name":"gallery-1", 37 "name":"gallery-1",
40 "type":"ImageActor", 38 "type":"ImageActor",
  39 + "width-resize-policy":"FILL_TO_PARENT",
  40 + "height-resize-policy":"FILL_TO_PARENT",
41 "image": { 41 "image": {
42 "filename": "{DALI_IMAGE_DIR}gallery-large-1.jpg" 42 "filename": "{DALI_IMAGE_DIR}gallery-large-1.jpg"
43 }, 43 },
44 "custom-properties": { // properties registered dynamically 44 "custom-properties": { // properties registered dynamically
45 - "cell-indices": [0,0],// property to specify the top-left cell this child occupies 45 + "cell-indices": [0,0], // property to specify the top-left cell this child occupies
46 "row-span":4, // property to specify how many rows this child occupies, if not set, default value is 1 46 "row-span":4, // property to specify how many rows this child occupies, if not set, default value is 1
47 - "column-spam":1 // property to specify how many columns this child occupies, if nor set, defualt cvalue is 1 47 + "column-span":1 // property to specify how many columns this child occupies, if nor set, defualt cvalue is 1
48 } 48 }
49 },{ 49 },{
50 "name":"gallery-2", 50 "name":"gallery-2",
51 "type":"ImageActor", 51 "type":"ImageActor",
  52 + "width-resize-policy":"FILL_TO_PARENT",
  53 + "height-resize-policy":"FILL_TO_PARENT",
52 "image": { 54 "image": {
53 "filename": "{DALI_IMAGE_DIR}gallery-large-2.jpg" 55 "filename": "{DALI_IMAGE_DIR}gallery-large-2.jpg"
54 }, 56 },
@@ -59,6 +61,8 @@ @@ -59,6 +61,8 @@
59 }, { 61 }, {
60 "name":"gallery-3", 62 "name":"gallery-3",
61 "type":"ImageActor", 63 "type":"ImageActor",
  64 + "width-resize-policy":"FILL_TO_PARENT",
  65 + "height-resize-policy":"FILL_TO_PARENT",
62 "image": { 66 "image": {
63 "filename": "{DALI_IMAGE_DIR}gallery-large-3.jpg" 67 "filename": "{DALI_IMAGE_DIR}gallery-large-3.jpg"
64 }, 68 },
@@ -68,6 +72,8 @@ @@ -68,6 +72,8 @@
68 }, { 72 }, {
69 "name":"gallery-4", 73 "name":"gallery-4",
70 "type":"ImageActor", 74 "type":"ImageActor",
  75 + "width-resize-policy":"FILL_TO_PARENT",
  76 + "height-resize-policy":"FILL_TO_PARENT",
71 "image": { 77 "image": {
72 "filename": "{DALI_IMAGE_DIR}gallery-large-4.jpg" 78 "filename": "{DALI_IMAGE_DIR}gallery-large-4.jpg"
73 }, 79 },
resources/scripts/timing.json
@@ -91,6 +91,8 @@ @@ -91,6 +91,8 @@
91 "name": "ControlBack", 91 "name": "ControlBack",
92 "parent-origin": "CENTER", 92 "parent-origin": "CENTER",
93 "anchor-point": "CENTER", 93 "anchor-point": "CENTER",
  94 + "width-resize-policy": "FILL_TO_PARENT",
  95 + "height-resize-policy": "FILL_TO_PARENT",
94 "position": [ 96 "position": [
95 0, 97 0,
96 0, 98 0,
resources/style/demo-theme.json 0 → 100644
  1 +/*
  2 +Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
  3 +
  4 +This file is part of Dali Toolkit
  5 +
  6 +PROPRIETARY/CONFIDENTIAL
  7 +
  8 +This software is the confidential and proprietary information of
  9 +SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
  10 +disclose such Confidential Information and shall use it only in
  11 +accordance with the terms of the license agreement you entered
  12 +into with SAMSUNG ELECTRONICS.
  13 +
  14 +SAMSUNG make no representations or warranties about the suitability
  15 +of the software, either express or implied, including but not limited
  16 +to the implied warranties of merchantability, fitness for a particular
  17 +purpose, or non-infringement. SAMSUNG shall not be liable for any
  18 +damages suffered by licensee as a result of using, modifying or
  19 +distributing this software or its derivatives.
  20 +*/
  21 +
  22 +{
  23 + "styles":
  24 + {
  25 + "textlabel":
  26 + {
  27 + "font-family":"HelveticaNeue",
  28 + "font-style":"Regular",
  29 + "point-size":18
  30 + },
  31 +
  32 + "launcherlabel":
  33 + {
  34 + "point-size":18
  35 + },
  36 +
  37 + "toolbarlabel":
  38 + {
  39 + "point-size":18
  40 + },
  41 +
  42 + "builderlabel":
  43 + {
  44 + "point-size":13
  45 + },
  46 +
  47 + "textfield":
  48 + {
  49 + "font-family":"HelveticaNeue",
  50 + "font-style":"Regular",
  51 + "point-size":18
  52 + },
  53 +
  54 + "scrollview":
  55 + {
  56 + "overshoot-effect-color":"B018"
  57 + }
  58 + }
  59 +}
resources/style/mobile/demo-theme.json 0 → 100644
  1 +/*
  2 +Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
  3 +
  4 +This file is part of Dali Toolkit
  5 +
  6 +PROPRIETARY/CONFIDENTIAL
  7 +
  8 +This software is the confidential and proprietary information of
  9 +SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
  10 +disclose such Confidential Information and shall use it only in
  11 +accordance with the terms of the license agreement you entered
  12 +into with SAMSUNG ELECTRONICS.
  13 +
  14 +SAMSUNG make no representations or warranties about the suitability
  15 +of the software, either express or implied, including but not limited
  16 +to the implied warranties of merchantability, fitness for a particular
  17 +purpose, or non-infringement. SAMSUNG shall not be liable for any
  18 +damages suffered by licensee as a result of using, modifying or
  19 +distributing this software or its derivatives.
  20 +*/
  21 +
  22 +{
  23 + "styles":
  24 + {
  25 + "textlabel":
  26 + {
  27 + "font-family":"SamsungSans",
  28 + "font-style":"Regular"
  29 + },
  30 +
  31 + "textlabel-font-size-0":
  32 + {
  33 + "point-size":8
  34 + },
  35 + "textlabel-font-size-1":
  36 + {
  37 + "point-size":10
  38 + },
  39 + "textlabel-font-size-2":
  40 + {
  41 + "point-size":15
  42 + },
  43 + "textlabel-font-size-3":
  44 + {
  45 + "point-size":19
  46 + },
  47 + "textlabel-font-size-4":
  48 + {
  49 + "point-size":25
  50 + },
  51 +
  52 + "launcherlabel":
  53 + {
  54 + "point-size":10
  55 + },
  56 +
  57 + "toolbarlabel":
  58 + {
  59 + "point-size":10
  60 + },
  61 +
  62 + "builderlabel":
  63 + {
  64 + "point-size":10
  65 + },
  66 +
  67 + "textfield":
  68 + {
  69 + "font-family":"SamsungSans",
  70 + "font-style":"Regular"
  71 + },
  72 +
  73 + "textfield-font-size-0":
  74 + {
  75 + "point-size":10
  76 + },
  77 + "textfield-font-size-1":
  78 + {
  79 + "point-size":10
  80 + },
  81 + "textfield-font-size-2":
  82 + {
  83 + "point-size":10
  84 + },
  85 + "textfield-font-size-3":
  86 + {
  87 + "point-size":10
  88 + },
  89 + "textfield-font-size-4":
  90 + {
  91 + "point-size":10
  92 + },
  93 +
  94 + "scrollview":
  95 + {
  96 + "overshoot-effect-color":"B018"
  97 + }
  98 + }
  99 +}
shared/dali-demo-strings.h 0 → 100644
  1 +/*
  2 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  3 + *
  4 + * Licensed under the Apache License, Version 2.0 (the "License");
  5 + * you may not use this file except in compliance with the License.
  6 + * You may obtain a copy of the License at
  7 + *
  8 + * http://www.apache.org/licenses/LICENSE-2.0
  9 + *
  10 + * Unless required by applicable law or agreed to in writing, software
  11 + * distributed under the License is distributed on an "AS IS" BASIS,
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13 + * See the License for the specific language governing permissions and
  14 + * limitations under the License.
  15 + *
  16 + */
  17 +
  18 +/* This header file includes all multi language strings which need display */
  19 +#ifndef __DALI_DEMO_STRINGS_H__
  20 +#define __DALI_DEMO_STRINGS_H__
  21 +
  22 +#include <libintl.h>
  23 +
  24 +#ifdef __cplusplus
  25 +extern "C"
  26 +{
  27 +#endif // __cplusplus
  28 +
  29 +#define DALI_DEMO_DOMAIN_LOCAL "dali-demo"
  30 +
  31 +#define DALI_DEMO_STR_EMPTY _("")
  32 +
  33 +#ifdef INTERNATIONALIZATION_ENABLED
  34 +
  35 +#define DALI_DEMO_STR_TITLE_BUBBLES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BUBBLES")
  36 +#define DALI_DEMO_STR_TITLE_BLOCKS dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BLOCKS")
  37 +#define DALI_DEMO_STR_TITLE_CLUSTER dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_CLUSTER")
  38 +#define DALI_DEMO_STR_TITLE_CUBE_TRANSITION dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_CUBE_TRANSITION")
  39 +#define DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION")
  40 +#define DALI_DEMO_STR_TITLE_ITEM_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ITEM_VIEW")
  41 +#define DALI_DEMO_STR_TITLE_MAGNIFIER dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_MAGNIFIER")
  42 +#define DALI_DEMO_STR_TITLE_MOTION_BLUR dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_MOTION_BLUR")
  43 +#define DALI_DEMO_STR_TITLE_MOTION_STRETCH dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_MOTION_STRETCH")
  44 +#define DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW")
  45 +#define DALI_DEMO_STR_TITLE_RADIAL_MENU dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RADIAL_MENU")
  46 +#define DALI_DEMO_STR_TITLE_REFRACTION dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_REFRACTION")
  47 +#define DALI_DEMO_STR_TITLE_SCROLL_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCROLL_VIEW")
  48 +#define DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS")
  49 +#define DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI")
  50 +#define DALI_DEMO_STR_TITLE_IMAGE_SCALING dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_IMAGE_SCALING")
  51 +#define DALI_DEMO_STR_TITLE_TEXT_LABEL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_LABEL")
  52 +#define DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE")
  53 +#define DALI_DEMO_STR_TITLE_EMOJI_TEXT dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_EMOJI_TEXT")
  54 +#define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES dgettext(DALI_DEMO_STR_TITLE_ANIMATED_SHAPES)
  55 +#define DALI_DEMO_STR_TITLE_PATH_ANIMATION dgettext(DALI_DEMO_STR_TITLE_PATH_ANIMATION)
  56 +
  57 +#else // !INTERNATIONALIZATION_ENABLED
  58 +
  59 +#define DALI_DEMO_STR_TITLE_BUBBLES "Bubbles"
  60 +#define DALI_DEMO_STR_TITLE_BLOCKS "Blocks"
  61 +#define DALI_DEMO_STR_TITLE_CLUSTER "Cluster"
  62 +#define DALI_DEMO_STR_TITLE_CUBE_TRANSITION "Cube Effect"
  63 +#define DALI_DEMO_STR_TITLE_DISSOLVE_TRANSITION "Dissolve Effect"
  64 +#define DALI_DEMO_STR_TITLE_ITEM_VIEW "Item View"
  65 +#define DALI_DEMO_STR_TITLE_MAGNIFIER "Magnifier"
  66 +#define DALI_DEMO_STR_TITLE_MOTION_BLUR "Motion Blur"
  67 +#define DALI_DEMO_STR_TITLE_MOTION_STRETCH "Motion Stretch"
  68 +#define DALI_DEMO_STR_TITLE_PAGE_TURN_VIEW "Page Turn View"
  69 +#define DALI_DEMO_STR_TITLE_RADIAL_MENU "Radial Menu"
  70 +#define DALI_DEMO_STR_TITLE_REFRACTION "Refract Effect"
  71 +#define DALI_DEMO_STR_TITLE_SCROLL_VIEW "Scroll View"
  72 +#define DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS "Lights and shadows"
  73 +#define DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI "Script Based UI"
  74 +#define DALI_DEMO_STR_TITLE_IMAGE_SCALING "Image Scaling Modes"
  75 +#define DALI_DEMO_STR_TITLE_TEXT_LABEL "Text Label"
  76 +#define DALI_DEMO_STR_TITLE_TEXT_LABEL_MULTI_LANGUAGE "Text Scripts"
  77 +#define DALI_DEMO_STR_TITLE_EMOJI_TEXT "Emoji Text"
  78 +#define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES "Animated Shapes"
  79 +#define DALI_DEMO_STR_TITLE_PATH_ANIMATION "Animated Path"
  80 +
  81 +#endif
  82 +
  83 +#ifdef __cplusplus
  84 +}
  85 +#endif // __cplusplus
  86 +
  87 +#endif // __DALI_DEMO_STRINGS_H__
shared/multi-language-strings.h 0 → 100644
  1 +#ifndef __DALI_DEMO_MULTI_LANGUAGE_STRINGS_H__
  2 +#define __DALI_DEMO_MULTI_LANGUAGE_STRINGS_H__
  3 +
  4 +/*
  5 + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  6 + *
  7 + * Licensed under the Apache License, Version 2.0 (the "License");
  8 + * you may not use this file except in compliance with the License.
  9 + * You may obtain a copy of the License at
  10 + *
  11 + * http://www.apache.org/licenses/LICENSE-2.0
  12 + *
  13 + * Unless required by applicable law or agreed to in writing, software
  14 + * distributed under the License is distributed on an "AS IS" BASIS,
  15 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16 + * See the License for the specific language governing permissions and
  17 + * limitations under the License.
  18 + *
  19 + */
  20 +
  21 +// EXTERNAL INCLUDES
  22 +#include <string>
  23 +
  24 +namespace MultiLanguageStrings
  25 +{
  26 + struct Language
  27 + {
  28 + std::string languageName;
  29 + std::string languageRomanName;
  30 + std::string text;
  31 + };
  32 +
  33 + const Language LANGUAGES[] = {
  34 + {
  35 + "العَرَبِيةُ",
  36 + "(Arabic)",
  37 + "لإعادة ترتيب الشاشات، يجب تغيير نوع العرض إلى شبكة قابلة للتخصيص."
  38 + },
  39 + {
  40 + "অসমীয়া লিপি",
  41 + "(Assamese)",
  42 + "পৃষ্ঠাসমূহ পুনঃব্যৱস্থিত কৰিবলৈ, আপুনি দৰ্শনৰ প্ৰকাৰ এটা অনুকূলনযোগ্য গ্ৰীডলৈ পৰিৱৰ্তন কৰাটো আৱশ্যক৷"
  43 + },
  44 + {
  45 + "বাংলা",
  46 + "(Bengali)",
  47 + "তথ্য লোড করতে অক্ষম৷ পুনরায় চেষ্টা করতে ট্যাপ করুন৷"
  48 + },
  49 + {
  50 + "English",
  51 + "(English)",
  52 + "A Quick Brown Fox Jumps Over The Lazy Dog"
  53 + },
  54 + {
  55 + "Español",
  56 + "(Spanish)",
  57 + "No se puede añadir más aplicaciones. Se alcanzó la cantidad máxima."
  58 + },
  59 + {
  60 + "فارسی",
  61 + "(Persian)",
  62 + "برای مرتب کردن مجدد صفحه‌ها، باید نوع نمایش را به یک نمای شبکه‌ای قابل تنظیم تغییر دهید."
  63 + },
  64 + {
  65 + "Français",
  66 + "(French)",
  67 + "La nouvelle page sera composée des Dynamic Box S Planner, Tâches et S Memo"
  68 + },
  69 + {
  70 + "ગુજરાતી લિપિ",
  71 + "(Gujarati)",
  72 + "પૃષ્ઠોને ફરીથી ગોઠવવા માટે, તમારે દૃશ્ય પ્રકારને કસ્ટમાઇઝેશન યોગ્ય ગ્રિડ પર બદલવાની જરૂર છે."
  73 + },
  74 + {
  75 + "हिन्दी",
  76 + "(Hindi)",
  77 + "पेज पुनः व्यवस्थित करने के लिए, आपको दृश्य प्रकार को अनुकूलित करने योग्य ग्रिड में बदलना होगा।"
  78 + },
  79 + {
  80 + "Bahasa Indonesia",
  81 + "(Indonesian)",
  82 + "Tidak dapat menambahkan aplikasi lagi. Jumlah maksimum aplikasi tercapai."
  83 + },
  84 + {
  85 + "ខេមរភាសា",
  86 + "(Cambodian)",
  87 + "ដើម្បី​រៀបចំ​ទំព័រ​ឡើងវិញ អ្នក​ត្រូវ​ប្ដូរ​ប្រភេទ​បង្ហាញ​ទៅ​ក្រឡាចត្រង្គ​ដែល​អាច​ប្ដូរ​តាមបំណង។"
  88 + },
  89 + {
  90 + "ಕನ್ನಡ ",
  91 + "(Kannada)",
  92 + "ಪುಟಗಳನ್ನು ಮರುವ್ಯವಸ್ಥಿತವಾಗಿ ಇರಿಸಲು, ನೀವು ವೀಕ್ಷಣೆ ವಿಧವನ್ನು ಗ್ರಾಹಕೀಕರಿಸಬಲ್ಲ ಗ್ರಿಡ್‌ಗೆ ಬದಲಾಯಿಸುವುದು ಅಗತ್ಯವಿದೆ."
  93 + },
  94 + {
  95 + "한국어",
  96 + "(Korean)",
  97 + "페이지 순서를 변경하려면 보기 방식을 격자 보기(직접 설정)로 변경하세요."
  98 + },
  99 + {
  100 + "ພາສາລາວ",
  101 + "(Lao)",
  102 + "ເພື່ອຈັດລຽງໜ້າຄືນ, ທ່ານຈໍາເປັນຕ້ອງປ່ຽນຊະນິດຂອງມຸມມອງໄປຫາຕາຕະລາງທີ່ກຳນົດເອງໄດ້."
  103 + },
  104 + {
  105 + "മലയാളം",
  106 + "(Malayalam)",
  107 + "പേജുകൾ പുനഃക്രമീകരിക്കുന്നതിന്, ഇഷ്ടാനുസൃതമാക്കാവുന്ന ഗ്രിഡിലേക്ക് കാഴ്ചയുടെ തരം നിങ്ങൾ മാറ്റേണ്ടതുണ്ട്."
  108 + },
  109 + {
  110 + "मराठी",
  111 + "(Marathi)",
  112 + "पृष्‍ठांची पुनर्रचना करा, आपण सानुकूलित करण्‍यायोग्‍य ग्रिडमध्‍ये व्‍ह्यू प्रकार बदलणे गरजेचे आहे."
  113 + },
  114 + {
  115 + "Bahasa Melayu",
  116 + "(Malay)",
  117 + "Tidak boleh menambah aplikasi lagi. Bilangan maksimum aplikasi dicapai."
  118 + },
  119 + {
  120 + "မြန်မာဘာသာ",
  121 + "(Burmese)",
  122 + "စာမ်က္ႏွာမ်ား ျပန္စီစဥ္ရန္ အျမင္ပံုစံကို စိတ္ၾကိဳက္လုပ္ႏိုင္ေသာ ဂရစ္ တစ္ခုသို႔ ေျပာင္းဖို႔လိုသည္။"
  123 + },
  124 + {
  125 + "नेपाली",
  126 + "(Nepali)",
  127 + "थप अनुप्रयोगहरू थप्न सकिएन। अनुप्रयोगहरूको अधिकतम संख्या पुग्यो।"
  128 + },
  129 + {
  130 + "ଓଡ଼ିଆ",
  131 + "(Oriya)",
  132 + "ପରବର୍ତ୍ତୀ ପୃଷ୍ଠା ଦେଖିବା ପାଇଁ ଦୁଇ ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍ କରନ୍ତୁ।"
  133 + },
  134 + {
  135 + "ਗੁਰਮੁਖੀ",
  136 + "(Punjabi)",
  137 + "ਇਹ ਫੋਲਡਰ ਅਤੇ ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਸਾਰੇ ਆਈਟਮਾਂ ਨੂੰ ਮਿਟਾ ਦੇਵੇਗਾ।"
  138 + },
  139 + {
  140 + "Português",
  141 + "(Portuguese)",
  142 + "Para reorganizar páginas, é necessário alterar o tipo de exibição para uma grade personalizável."
  143 + },
  144 + {
  145 + "සිංහල",
  146 + "(Sinhala)",
  147 + "පිටු නැවත පෙළ ගැස්වීම සඳහා ඔබ විසින් දසුන් ප්‍රවර්ගය අභිමතීකෘත්‍ය ජාලයකට වෙනස් කළ යුතුය."
  148 + },
  149 + {
  150 + "தமிழ்",
  151 + "(Tamil)",
  152 + "பக்கங்களை மறுஒழுங்குபடுத்தவென காட்சி வகையை தனிப்பயனாக்கத்தக்க கட்டமைப்பிற்கு மாற்ற வேண்டியுள்ளது."
  153 + },
  154 + {
  155 + "తెలుగు",
  156 + "(Telugu)",
  157 + "మరిన్ని అప్లికేషన్‌లను జోడించడం సాధ్యం కాలేదు. గరిష్ట అప్లికేషన్‌ల సంఖ్యను చేరుకున్నాయి."
  158 + },
  159 + {
  160 + "ภาษาไทย",
  161 + "(Thai)",
  162 + "คุณต้องเปลี่ยนชนิดการแสดง เป็นตารางที่กำหนดเองได้ เพื่อจัดหน้าใหม่"
  163 + },
  164 + {
  165 + "Tagalog",
  166 + "(Tagalog)",
  167 + "Hindi makapagdagdag ng extra na linya dahil sa paghihigpit sa espasyo"
  168 + },
  169 + {
  170 + "Türkçe",
  171 + "(Turkish)",
  172 + "Sayfaları yeniden düzenlemek için özelleştirilebilir kılavuzun görünüm tipini değiştirmeniz gerekir."
  173 + },
  174 + {
  175 + "اُردُو",
  176 + "(Urdu)",
  177 + "صفحات کو دوبارہ ترتیب دینے کے لئے، آپ کو منظر کی قسم کو ایک حسب ضرورت گرڈ میں تبدیل کرنا ہوگا۔"
  178 + },
  179 + {
  180 + "tiếng Việt",
  181 + "(Vietnamese)",
  182 + "Để sắp xếp lại các trang, bạn cần thay đổi kiểu xem sang dạng lưới tùy chỉnh."
  183 + },
  184 + {
  185 + "漢語",
  186 + "(Chinese)",
  187 + "若要重新排列页面,您需要将视图类型更改为可自定义网格。"
  188 + },
  189 + };
  190 +
  191 + const unsigned int NUMBER_OF_LANGUAGES = 31u;
  192 +
  193 +} // MultiLanguageStrings
  194 +
  195 +#endif // __DALI_DEMO_MULTI_LANGUAGE_STRINGS_H__
shared/view.h
@@ -45,15 +45,18 @@ const ViewStyle DEFAULT_VIEW_STYLE( 0.1f, 0.7f, 80.f, 4.f ); @@ -45,15 +45,18 @@ const ViewStyle DEFAULT_VIEW_STYLE( 0.1f, 0.7f, 80.f, 4.f );
45 45
46 const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue"); 46 const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue");
47 const char* DEFAULT_TEXT_STYLE_FONT_STYLE("Regular"); 47 const char* DEFAULT_TEXT_STYLE_FONT_STYLE("Regular");
48 -const Dali::PointSize DEFAULT_TEXT_STYLE_POINT_SIZE( 8.0f );  
49 -const Dali::TextStyle::Weight DEFAULT_TEXT_STYLE_WEIGHT(Dali::TextStyle::EXTRALIGHT); 48 +const float DEFAULT_TEXT_STYLE_POINT_SIZE( 8.0f );
50 const Dali::Vector4 DEFAULT_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f); 49 const Dali::Vector4 DEFAULT_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f);
51 50
52 const Dali::Toolkit::Alignment::Padding DEFAULT_PLAY_PADDING(12.0f, 12.0f, 12.0f, 12.0f); 51 const Dali::Toolkit::Alignment::Padding DEFAULT_PLAY_PADDING(12.0f, 12.0f, 12.0f, 12.0f);
53 const Dali::Toolkit::Alignment::Padding DEFAULT_MODE_SWITCH_PADDING(8.0f, 8.0f, 8.0f, 8.0f); 52 const Dali::Toolkit::Alignment::Padding DEFAULT_MODE_SWITCH_PADDING(8.0f, 8.0f, 8.0f, 8.0f);
54 53
55 -static Dali::TextStyle defaultTextStyle;  
56 -static bool textStyleSet=false; 54 +void RequestThemeChange()
  55 +{
  56 + // Provide the stylesheet
  57 + Dali::Toolkit::StyleManager styleManager = Dali::Toolkit::StyleManager::Get();
  58 + styleManager.RequestThemeChange( DALI_DEMO_THEME_PATH );
  59 +}
57 60
58 float ScalePointSize(int pointSize) 61 float ScalePointSize(int pointSize)
59 { 62 {
@@ -62,27 +65,13 @@ float ScalePointSize(int pointSize) @@ -62,27 +65,13 @@ float ScalePointSize(int pointSize)
62 return pointSize * 220.0f / meanDpi; // 220 is the default horizontal DPI defined in adaptor Application 65 return pointSize * 220.0f / meanDpi; // 220 is the default horizontal DPI defined in adaptor Application
63 } 66 }
64 67
65 -Dali::TextStyle& GetDefaultTextStyle()  
66 -{  
67 - if(!textStyleSet)  
68 - {  
69 - defaultTextStyle.SetFontName(DEFAULT_TEXT_STYLE_FONT_FAMILY);  
70 - defaultTextStyle.SetFontStyle(DEFAULT_TEXT_STYLE_FONT_STYLE);  
71 - defaultTextStyle.SetFontPointSize(Dali::PointSize(ScalePointSize(DEFAULT_TEXT_STYLE_POINT_SIZE)));  
72 - defaultTextStyle.SetWeight(DEFAULT_TEXT_STYLE_WEIGHT);  
73 - defaultTextStyle.SetTextColor(DEFAULT_TEXT_STYLE_COLOR);  
74 - textStyleSet = true;  
75 - }  
76 -  
77 - return defaultTextStyle;  
78 -}  
79 -  
80 Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar, 68 Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar,
81 const std::string& toolbarImagePath, 69 const std::string& toolbarImagePath,
82 const std::string& title, 70 const std::string& title,
83 - const ViewStyle& style,  
84 - const Dali::TextStyle& textStyle ) 71 + const ViewStyle& style )
85 { 72 {
  73 + Dali::Stage stage = Dali::Stage::GetCurrent();
  74 +
86 Dali::Layer toolBarLayer = Dali::Layer::New(); 75 Dali::Layer toolBarLayer = Dali::Layer::New();
87 toolBarLayer.SetName( "TOOLBAR_LAYER" ); 76 toolBarLayer.SetName( "TOOLBAR_LAYER" );
88 toolBarLayer.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); 77 toolBarLayer.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER );
@@ -109,20 +98,22 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar&amp; toolBar, @@ -109,20 +98,22 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar&amp; toolBar,
109 // Add the tool bar to the too bar layer. 98 // Add the tool bar to the too bar layer.
110 toolBarLayer.Add( toolBar ); 99 toolBarLayer.Add( toolBar );
111 100
112 - Dali::Font font = Dali::Font::New();  
113 -  
114 // Tool bar text. 101 // Tool bar text.
115 if( !title.empty() ) 102 if( !title.empty() )
116 { 103 {
117 - Dali::Toolkit::TextView titleActor = Dali::Toolkit::TextView::New();  
118 - titleActor.SetName( "TOOLBAR_TITLE" );  
119 - titleActor.SetText( title );  
120 - titleActor.SetSize( font.MeasureText( title ) );  
121 - titleActor.SetStyleToCurrentText(textStyle); 104 + Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New();
  105 + label.SetAnchorPoint( Dali::AnchorPoint::TOP_LEFT );
  106 + label.SetDrawMode( Dali::DrawMode::OVERLAY );
  107 + label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" );
  108 + label.SetProperty( Dali::Toolkit::TextLabel::Property::TEXT, title );
  109 + label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
  110 + label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
  111 + label.SetResizePolicy( Dali::FILL_TO_PARENT, Dali::HEIGHT );
  112 + label.SetColor( DEFAULT_TEXT_STYLE_COLOR );
122 113
123 // Add title to the tool bar. 114 // Add title to the tool bar.
124 const float padding( style.mToolBarPadding ); 115 const float padding( style.mToolBarPadding );
125 - toolBar.AddControl( titleActor, style.mToolBarTitlePercentage, Dali::Toolkit::Alignment::HorizontalCenter, Dali::Toolkit::Alignment::Padding( padding, padding, padding, padding ) ); 116 + toolBar.AddControl( label, style.mToolBarTitlePercentage, Dali::Toolkit::Alignment::HorizontalCenter, Dali::Toolkit::Alignment::Padding( padding, padding, padding, padding ) );
126 } 117 }
127 118
128 return toolBarLayer; 119 return toolBarLayer;
@@ -134,8 +125,7 @@ Dali::Layer CreateView( Dali::Application&amp; application, @@ -134,8 +125,7 @@ Dali::Layer CreateView( Dali::Application&amp; application,
134 const std::string& backgroundImagePath, 125 const std::string& backgroundImagePath,
135 const std::string& toolbarImagePath, 126 const std::string& toolbarImagePath,
136 const std::string& title, 127 const std::string& title,
137 - const ViewStyle& style,  
138 - const Dali::TextStyle& textStyle ) 128 + const ViewStyle& style = DEFAULT_VIEW_STYLE )
139 { 129 {
140 Dali::Stage stage = Dali::Stage::GetCurrent(); 130 Dali::Stage stage = Dali::Stage::GetCurrent();
141 131
@@ -163,7 +153,7 @@ Dali::Layer CreateView( Dali::Application&amp; application, @@ -163,7 +153,7 @@ Dali::Layer CreateView( Dali::Application&amp; application,
163 //application.GetOrientation().ChangedSignal().Connect( &view, &Dali::Toolkit::View::OrientationChanged ); 153 //application.GetOrientation().ChangedSignal().Connect( &view, &Dali::Toolkit::View::OrientationChanged );
164 154
165 // Create default ToolBar 155 // Create default ToolBar
166 - Dali::Layer toolBarLayer = CreateToolbar( toolBar, toolbarImagePath, title, style, textStyle ); 156 + Dali::Layer toolBarLayer = CreateToolbar( toolBar, toolbarImagePath, title, style );
167 157
168 // Add tool bar layer to the view. 158 // Add tool bar layer to the view.
169 view.AddContentLayer( toolBarLayer ); 159 view.AddContentLayer( toolBarLayer );
@@ -179,19 +169,19 @@ Dali::Layer CreateView( Dali::Application&amp; application, @@ -179,19 +169,19 @@ Dali::Layer CreateView( Dali::Application&amp; application,
179 return contentLayer; 169 return contentLayer;
180 } 170 }
181 171
182 -Dali::Layer CreateView( Dali::Application& application,  
183 - Dali::Toolkit::View& view,  
184 - Dali::Toolkit::ToolBar& toolBar,  
185 - const std::string& backgroundImagePath,  
186 - const std::string& toolbarImagePath,  
187 - const std::string& title,  
188 - const ViewStyle& style = DEFAULT_VIEW_STYLE ) 172 +Dali::Toolkit::TextLabel CreateToolBarLabel( const std::string& text )
189 { 173 {
190 - return CreateView( application, view, toolBar, backgroundImagePath, toolbarImagePath, title, style,  
191 - GetDefaultTextStyle() ); 174 + Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New( text );
  175 + label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" );
  176 + label.SetDrawMode( Dali::DrawMode::OVERLAY );
  177 + label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
  178 + label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
  179 + label.SetResizePolicy( Dali::FILL_TO_PARENT, Dali::HEIGHT );
  180 + label.SetColor( DEFAULT_TEXT_STYLE_COLOR );
  181 +
  182 + return label;
192 } 183 }
193 184
194 -  
195 } // DemoHelper 185 } // DemoHelper
196 186
197 #endif // __DALI_DEMO_HELPER_VIEW_H__ 187 #endif // __DALI_DEMO_HELPER_VIEW_H__