Commit a97c94ece473b511a7ee02acbb729a59e6ba7aa2
[dali_1.0.37] Merge branch 'tizen'
Change-Id: Ibae4f16083c08db218e766a8707b40548f5d6a95
Showing
67 changed files
with
2287 additions
and
2501 deletions
.gitignore
build/tizen/CMakeLists.txt
| ... | ... | @@ -20,15 +20,27 @@ SET(RESOURCE_DIR ${ROOT_SRC_DIR}/resources) |
| 20 | 20 | SET(LOCAL_IMAGES_DIR ${RESOURCE_DIR}/images) |
| 21 | 21 | SET(LOCAL_MODELS_DIR ${RESOURCE_DIR}/models) |
| 22 | 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 | 27 | SET(IMAGES_DIR ${APP_DATA_DIR}/images/) |
| 25 | 28 | SET(MODELS_DIR ${APP_DATA_DIR}/models/) |
| 26 | 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 | 36 | SET(DALI_IMAGE_DIR \\"${IMAGES_DIR}\\") |
| 29 | 37 | SET(DALI_MODEL_DIR \\"${MODELS_DIR}\\") |
| 30 | 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 | 41 | SET(DALI_EXAMPLE_BIN \\"${BINDIR}/\\") |
| 42 | +SET(DALI_LOCALE_DIR \\"${LOCALE_DIR}\\") | |
| 43 | +SET(DALI_LANG \\"${LANG}\\") | |
| 32 | 44 | |
| 33 | 45 | FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png") |
| 34 | 46 | FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg") |
| ... | ... | @@ -52,6 +64,8 @@ FOREACH(flag ${LOCAL_SCRIPTS_LIST}) |
| 52 | 64 | INSTALL(FILES ${LOCAL_SCRIPTS_DIR}/${flag} DESTINATION ${SCRIPTS_DIR}) |
| 53 | 65 | ENDFOREACH(flag) |
| 54 | 66 | |
| 67 | +INSTALL(FILES ${LOCAL_STYLE_DIR}/demo-theme.json DESTINATION ${STYLE_DIR}) | |
| 68 | + | |
| 55 | 69 | SET(PKG_LIST dali |
| 56 | 70 | dali-toolkit) |
| 57 | 71 | |
| ... | ... | @@ -62,7 +76,7 @@ FOREACH(flag ${REQUIRED_PKGS_CFLAGS}) |
| 62 | 76 | SET(REQUIRED_CFLAGS "${REQUIRED_CFLAGS} ${flag}") |
| 63 | 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 | 81 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${REQUIRED_CFLAGS} ${DALI_DEMO_CFLAGS} -Werror -Wall") |
| 68 | 82 | SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") | ... | ... |
build/tizen/demo/CMakeLists.txt
| ... | ... | @@ -6,3 +6,27 @@ ADD_EXECUTABLE(${PROJECT_NAME} ${DEMO_SRCS}) |
| 6 | 6 | TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${REQUIRED_PKGS_LDFLAGS}) |
| 7 | 7 | |
| 8 | 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 | 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 | 74 | <label>Buttons</label> |
| 75 | 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 | 87 | </ui-application> |
| 79 | 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 | 89 | <label>Logging</label> | ... | ... |
demo/dali-demo.cpp
| ... | ... | @@ -15,39 +15,53 @@ |
| 15 | 15 | * |
| 16 | 16 | */ |
| 17 | 17 | |
| 18 | +// EXTERNAL INCLUDES | |
| 19 | +#include <dali/dali.h> | |
| 20 | + | |
| 21 | +// INTERNAL INCLUDES | |
| 18 | 22 | #include "dali-table-view.h" |
| 23 | +#include "shared/dali-demo-strings.h" | |
| 19 | 24 | |
| 20 | 25 | using namespace Dali; |
| 21 | 26 | |
| 22 | 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 | 34 | Application app = Application::New(&argc, &argv); |
| 25 | 35 | |
| 36 | + // Create the demo launcher | |
| 26 | 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 | 60 | demo.AddExample(Example("size-negotiation.example", "Size Negotiation")); |
| 48 | 61 | |
| 49 | 62 | demo.SortAlphabetically( true ); |
| 50 | 63 | |
| 64 | + // Start the event loop | |
| 51 | 65 | app.MainLoop(); |
| 52 | 66 | |
| 53 | 67 | return 0; | ... | ... |
demo/dali-table-view.cpp
| ... | ... | @@ -86,17 +86,7 @@ const Vector2 POSITION_SWING_3DEFFECT( 0.55f, 0.4f ); ///< Position |
| 86 | 86 | const Vector3 ANCHOR_3DEFFECT_STYLE0( -105.0f, 30.0f, -240.0f ); ///< Rotation Anchor position for 3D Effect (Style 0) |
| 87 | 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 | 91 | Vector3 ScalePointSize(const Vector3& vec) |
| 102 | 92 | { |
| ... | ... | @@ -105,17 +95,6 @@ Vector3 ScalePointSize(const Vector3& vec) |
| 105 | 95 | |
| 106 | 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 | 99 | * Creates the background image |
| 121 | 100 | */ |
| ... | ... | @@ -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 | 148 | private: |
| ... | ... | @@ -236,6 +214,8 @@ void DaliTableView::SortAlphabetically( bool sortAlphabetically ) |
| 236 | 214 | |
| 237 | 215 | void DaliTableView::Initialize( Application& application ) |
| 238 | 216 | { |
| 217 | + DemoHelper::RequestThemeChange(); | |
| 218 | + | |
| 239 | 219 | Stage::GetCurrent().KeyEventSignal().Connect( this, &DaliTableView::OnKeyEvent ); |
| 240 | 220 | |
| 241 | 221 | const Vector2 stageSize = Stage::GetCurrent().GetSize(); |
| ... | ... | @@ -256,8 +236,7 @@ void DaliTableView::Initialize( Application& application ) |
| 256 | 236 | Dali::Layer toolBarLayer = DemoHelper::CreateToolbar(toolbar, |
| 257 | 237 | DEFAULT_TOOLBAR_IMAGE_PATH, |
| 258 | 238 | DEFAULT_TOOLBAR_TEXT, |
| 259 | - DemoHelper::DEFAULT_VIEW_STYLE, | |
| 260 | - DemoHelper::GetDefaultTextStyle()); | |
| 239 | + DemoHelper::DEFAULT_VIEW_STYLE); | |
| 261 | 240 | |
| 262 | 241 | mRootActor.AddChild( toolBarLayer, TableView::CellPosition( 0, 0 ) ); |
| 263 | 242 | mRootActor.SetFitHeight( 0 ); |
| ... | ... | @@ -538,20 +517,16 @@ Actor DaliTableView::CreateTile( const std::string& name, const std::string& tit |
| 538 | 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 | 531 | // Set the tile to be keyboard focusable |
| 557 | 532 | content.SetKeyboardFocusable(true); |
| ... | ... | @@ -780,11 +755,10 @@ void DaliTableView::InitialiseBackgroundActors( Actor actor ) |
| 780 | 755 | child.SetPosition( childPos ); |
| 781 | 756 | |
| 782 | 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 | 763 | // Kickoff animation |
| 790 | 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 | 18 | #include <dali/dali.h> |
| 19 | 19 | #include <dali-toolkit/dali-toolkit.h> |
| 20 | 20 | |
| 21 | +#include "shared/view.h" | |
| 22 | + | |
| 21 | 23 | using namespace Dali; |
| 22 | 24 | |
| 23 | 25 | namespace |
| ... | ... | @@ -47,6 +49,8 @@ public: |
| 47 | 49 | // The Init signal is received once (only) during the Application lifetime |
| 48 | 50 | void Create( Application& application ) |
| 49 | 51 | { |
| 52 | + DemoHelper::RequestThemeChange(); | |
| 53 | + | |
| 50 | 54 | // Get a handle to the stage |
| 51 | 55 | Stage stage = Stage::GetCurrent(); |
| 52 | 56 | ... | ... |
examples/atlas/atlas-example.cpp
| ... | ... | @@ -209,7 +209,6 @@ private: |
| 209 | 209 | |
| 210 | 210 | Toolkit::View mView; ///< The View instance. |
| 211 | 211 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 212 | - Toolkit::TextView mTitleActor; ///< The Toolbar's Title. | |
| 213 | 212 | Layer mContentLayer; ///< Content layer (scrolling cluster content) |
| 214 | 213 | Toolkit::PushButton mLoseContextButton; |
| 215 | 214 | Atlas mAtlas; | ... | ... |
examples/blocks/blocks-example.cpp
| ... | ... | @@ -73,65 +73,6 @@ const int TOTAL_LEVELS(3); ///< |
| 73 | 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 | 76 | * CollisionCircleRectangleConstraint generates a collision vector |
| 136 | 77 | * between two actors a (circle) and b (rectangle) |
| 137 | 78 | */ |
| ... | ... | @@ -157,23 +98,20 @@ struct CollisionCircleRectangleConstraint |
| 157 | 98 | * Generates collision vector indicating whether Actor's A and B |
| 158 | 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 | 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 | 115 | const Vector3 sizeA2 = sizeA * 0.5f; // circle radius |
| 178 | 116 | const Vector3 sizeB2 = (sizeB + mAdjustSize) * 0.5f; // rectangle half rectangle. |
| 179 | 117 | |
| ... | ... | @@ -211,10 +149,12 @@ struct CollisionCircleRectangleConstraint |
| 211 | 149 | if(delta.Length() < sizeA2.x) |
| 212 | 150 | { |
| 213 | 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 | 160 | const Vector3 mAdjustPosition; ///< Position Adjustment value |
| ... | ... | @@ -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 | 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 | 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 | 199 | const float mDeviation; ///< Deviation factor in radians. |
| ... | ... | @@ -289,6 +226,8 @@ public: |
| 289 | 226 | */ |
| 290 | 227 | void Create(Application& application) |
| 291 | 228 | { |
| 229 | + DemoHelper::RequestThemeChange(); | |
| 230 | + | |
| 292 | 231 | Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); |
| 293 | 232 | |
| 294 | 233 | // Creates a default view with a default tool bar. |
| ... | ... | @@ -346,10 +285,9 @@ private: |
| 346 | 285 | mPaddleImage.SetSize( mPaddleFullSize ); |
| 347 | 286 | |
| 348 | 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 | 292 | mPaddle.SetPosition( stageSize * Vector3( PADDLE_START_POSITION ) ); |
| 355 | 293 | mContentLayer.Add(mPaddle); |
| ... | ... | @@ -375,13 +313,12 @@ private: |
| 375 | 313 | Actor delegate = Actor::New(); |
| 376 | 314 | stage.Add(delegate); |
| 377 | 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 | 323 | PropertyNotification paddleNotification = delegate.AddPropertyNotification( property, GreaterThanCondition(0.0f) ); |
| 387 | 324 | paddleNotification.NotifySignal().Connect( this, &ExampleController::OnHitPaddle ); |
| ... | ... | @@ -600,13 +537,12 @@ private: |
| 600 | 537 | |
| 601 | 538 | // Add a constraint on the brick between it and the ball generating a collision-property |
| 602 | 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 | 547 | // Now add a notification on this collision-property |
| 612 | 548 | ... | ... |
examples/bubble-effect/bubble-effect-example.cpp
| ... | ... | @@ -95,6 +95,8 @@ private: |
| 95 | 95 | // The Init signal is received once (only) during the Application lifetime |
| 96 | 96 | void Create(Application& app) |
| 97 | 97 | { |
| 98 | + DemoHelper::RequestThemeChange(); | |
| 99 | + | |
| 98 | 100 | Stage stage = Stage::GetCurrent(); |
| 99 | 101 | Vector2 stageSize = stage.GetSize(); |
| 100 | 102 | ... | ... |
examples/builder/examples.cpp
| ... | ... | @@ -59,7 +59,7 @@ std::string JSON_BROKEN(" \ |
| 59 | 59 | 'stage': \ |
| 60 | 60 | [ \ |
| 61 | 61 | { \ |
| 62 | - 'type':'TextView', \ | |
| 62 | + 'type':'TextLabel', \ | |
| 63 | 63 | 'size': [50,50,1], \ |
| 64 | 64 | 'parent-origin': 'CENTER', \ |
| 65 | 65 | 'text':'COULD NOT LOAD JSON FILE' \ |
| ... | ... | @@ -243,15 +243,12 @@ public: |
| 243 | 243 | { |
| 244 | 244 | if(!mTitleActor) |
| 245 | 245 | { |
| 246 | - mTitleActor = TextView::New(); | |
| 246 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 247 | 247 | // Add title to the tool bar. |
| 248 | 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 | 254 | bool OnToolSelectLayout( Toolkit::Button button ) |
| ... | ... | @@ -396,23 +393,14 @@ public: |
| 396 | 393 | |
| 397 | 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 | 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 | 406 | bool OnTimer() |
| ... | ... | @@ -516,6 +504,8 @@ public: |
| 516 | 504 | |
| 517 | 505 | void Create(Application& app) |
| 518 | 506 | { |
| 507 | + DemoHelper::RequestThemeChange(); | |
| 508 | + | |
| 519 | 509 | Stage stage = Stage::GetCurrent(); |
| 520 | 510 | |
| 521 | 511 | Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleApp::OnKeyEvent); |
| ... | ... | @@ -605,7 +595,7 @@ private: |
| 605 | 595 | unsigned int mOrientation; |
| 606 | 596 | |
| 607 | 597 | Toolkit::ToolBar mToolBar; |
| 608 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 598 | + TextLabel mTitleActor; ///< The Toolbar's Title. | |
| 609 | 599 | |
| 610 | 600 | Layer mBuilderLayer; |
| 611 | 601 | ... | ... |
examples/buttons/buttons-example.cpp
| ... | ... | @@ -108,6 +108,8 @@ class ButtonsController: public ConnectionTracker |
| 108 | 108 | { |
| 109 | 109 | // The Init signal is received once (only) during the Application lifetime |
| 110 | 110 | |
| 111 | + DemoHelper::RequestThemeChange(); | |
| 112 | + | |
| 111 | 113 | // Respond to key events |
| 112 | 114 | Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent); |
| 113 | 115 | |
| ... | ... | @@ -238,8 +240,8 @@ class ButtonsController: public ConnectionTracker |
| 238 | 240 | tableView.SetSize( DP(260), 0.0f ); |
| 239 | 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 | 246 | ImageActor imageActor = ImageActor::New( ResourceImage::New( ENABLED_IMAGE ) ); |
| 245 | 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 | 183 | * @param[in] current The object's current property value |
| 184 | 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 | 188 | Vector3 axis; |
| 190 | 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 | 198 | Vector2 mAngleSweep; |
| ... | ... | @@ -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 | 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 | 232 | float mag = fabsf(f); |
| 235 | 233 | float halfWidth = mStageSize.x * 0.5f; |
| ... | ... | @@ -245,11 +243,11 @@ struct ShearEffectConstraint |
| 245 | 243 | // the component mask passed in. |
| 246 | 244 | Vector3 axis; |
| 247 | 245 | float angle; |
| 248 | - propertyViewOrientation.GetQuaternion().ToAxisAngle( axis, angle ); | |
| 246 | + inputs[1]->GetQuaternion().ToAxisAngle( axis, angle ); | |
| 249 | 247 | Vector2 direction( cosf(angle), sinf(angle) ); |
| 250 | 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 | 253 | Vector2 mStageSize; |
| ... | ... | @@ -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 | 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 | 288 | Vector2 mStageSize; |
| ... | ... | @@ -313,9 +311,9 @@ struct SphereEffectOffsetConstraint |
| 313 | 311 | * @param[in] propertyViewSize The current view size |
| 314 | 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 | 319 | float mOffset; |
| ... | ... | @@ -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 | 445 | */ |
| 448 | 446 | void Create(Application& application) |
| 449 | 447 | { |
| 448 | + DemoHelper::RequestThemeChange(); | |
| 449 | + | |
| 450 | 450 | Stage::GetCurrent().KeyEventSignal().Connect(this, &ClusterController::OnKeyEvent); |
| 451 | 451 | |
| 452 | 452 | Vector2 stageSize = Stage::GetCurrent().GetSize(); |
| ... | ... | @@ -689,7 +689,7 @@ public: |
| 689 | 689 | RemoveShaderEffectRecursively( cluster ); |
| 690 | 690 | if( i->mEffectConstraint ) |
| 691 | 691 | { |
| 692 | - cluster.RemoveConstraint(i->mEffectConstraint); | |
| 692 | + i->mEffectConstraint.Remove(); | |
| 693 | 693 | i->mEffectConstraint.Reset(); |
| 694 | 694 | } |
| 695 | 695 | } |
| ... | ... | @@ -719,10 +719,10 @@ public: |
| 719 | 719 | |
| 720 | 720 | Vector2 shearCenter( Vector2(position.x + size.width * shearAnchor.x, position.y + size.height * shearAnchor.y) ); |
| 721 | 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 | 727 | SetShaderEffectRecursively( cluster,shaderEffect ); |
| 728 | 728 | |
| ... | ... | @@ -731,16 +731,15 @@ public: |
| 731 | 731 | Property::Index angleXAxisProperty = shaderEffect.GetPropertyIndex(shaderEffect.GetAngleXAxisPropertyName()); |
| 732 | 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 | 763 | CAROUSEL_EFFECT_ANGLE_SWEEP / stageSize.width ); |
| 765 | 764 | |
| 766 | 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 | 770 | break; |
| 772 | 771 | } |
| ... | ... | @@ -792,11 +791,11 @@ public: |
| 792 | 791 | // dont apply shader effect to scrollview as it might override internal shaders for bounce effect etc |
| 793 | 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 | 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 | 797 | SetShaderEffectRecursively( cluster, shaderEffect ); |
| 799 | - i->mEffectConstraint = cluster.ApplyConstraint(constraint); | |
| 798 | + i->mEffectConstraint.Apply(); | |
| 800 | 799 | } |
| 801 | 800 | break; |
| 802 | 801 | } |
| ... | ... | @@ -825,15 +824,13 @@ public: |
| 825 | 824 | { |
| 826 | 825 | if(!mTitleActor) |
| 827 | 826 | { |
| 828 | - mTitleActor = TextView::New(); | |
| 827 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 828 | + | |
| 829 | 829 | // Add title to the tool bar. |
| 830 | 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 | 852 | Application& mApplication; ///< Application instance |
| 856 | 853 | Toolkit::View mView; ///< The View instance. |
| 857 | 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 | 857 | Layer mContentLayer; ///< Content layer (scrolling cluster content) |
| 861 | 858 | ... | ... |
examples/cube-transition-effect/cube-transition-effect-example.cpp
| ... | ... | @@ -26,6 +26,8 @@ |
| 26 | 26 | |
| 27 | 27 | using namespace Dali; |
| 28 | 28 | |
| 29 | +using Dali::Toolkit::TextLabel; | |
| 30 | + | |
| 29 | 31 | // LOCAL STUFF |
| 30 | 32 | namespace |
| 31 | 33 | { |
| ... | ... | @@ -173,7 +175,7 @@ private: |
| 173 | 175 | Toolkit::View mView; |
| 174 | 176 | Toolkit::ToolBar mToolBar; |
| 175 | 177 | Layer mContent; |
| 176 | - Toolkit::TextView mTitleActor; | |
| 178 | + Toolkit::TextLabel mTitleActor; | |
| 177 | 179 | Actor mParent; |
| 178 | 180 | |
| 179 | 181 | Vector2 mViewSize; |
| ... | ... | @@ -221,6 +223,8 @@ CubeTransitionApp::~CubeTransitionApp() |
| 221 | 223 | |
| 222 | 224 | void CubeTransitionApp::OnInit( Application& application ) |
| 223 | 225 | { |
| 226 | + DemoHelper::RequestThemeChange(); | |
| 227 | + | |
| 224 | 228 | Stage::GetCurrent().KeyEventSignal().Connect(this, &CubeTransitionApp::OnKeyEvent); |
| 225 | 229 | |
| 226 | 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& application ) |
| 236 | 240 | mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); |
| 237 | 241 | |
| 238 | 242 | // Add title to the tool bar. |
| 239 | - mTitleActor = Toolkit::TextView::New(); | |
| 243 | + mTitleActor = DemoHelper::CreateToolBarLabel( APPLICATION_TITLE_WAVE ); | |
| 240 | 244 | mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); |
| 241 | 245 | |
| 242 | 246 | //Add an slideshow icon on the right of the title |
| ... | ... | @@ -290,11 +294,6 @@ void CubeTransitionApp::OnInit( Application& application ) |
| 290 | 294 | |
| 291 | 295 | mCurrentEffect = mCubeWaveEffect; |
| 292 | 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 | 299 | // signal handler, called when the pan gesture is detected |
| ... | ... | @@ -359,26 +358,22 @@ bool CubeTransitionApp::OnEffectButtonClicked( Toolkit::Button button ) |
| 359 | 358 | if(mCurrentEffect == mCubeWaveEffect) |
| 360 | 359 | { |
| 361 | 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 | 362 | mEffectChangeButton.SetBackgroundImage(mImageCross); |
| 365 | 363 | |
| 366 | 364 | } |
| 367 | 365 | else if(mCurrentEffect == mCubeCrossEffect) |
| 368 | 366 | { |
| 369 | 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 | 369 | mEffectChangeButton.SetBackgroundImage(mImageFold); |
| 373 | 370 | } |
| 374 | 371 | else |
| 375 | 372 | { |
| 376 | 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 | 375 | mEffectChangeButton.SetBackgroundImage(mImageWave); |
| 380 | 376 | } |
| 381 | - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); | |
| 382 | 377 | |
| 383 | 378 | // Set the current image to cube transition effect |
| 384 | 379 | // only need to set at beginning or change from another effect | ... | ... |
examples/dissolve-effect/dissolve-effect-example.cpp
| ... | ... | @@ -26,6 +26,8 @@ |
| 26 | 26 | |
| 27 | 27 | using namespace Dali; |
| 28 | 28 | |
| 29 | +using Dali::Toolkit::TextLabel; | |
| 30 | + | |
| 29 | 31 | // LOCAL STUFF |
| 30 | 32 | namespace |
| 31 | 33 | { |
| ... | ... | @@ -157,7 +159,7 @@ private: |
| 157 | 159 | Toolkit::View mView; |
| 158 | 160 | Toolkit::ToolBar mToolBar; |
| 159 | 161 | Layer mContent; |
| 160 | - Toolkit::TextView mTitleActor; | |
| 162 | + Toolkit::TextLabel mTitleActor; | |
| 161 | 163 | Actor mParent; |
| 162 | 164 | |
| 163 | 165 | ImageActor mCurrentImage; |
| ... | ... | @@ -205,6 +207,8 @@ DissolveEffectApp::~DissolveEffectApp() |
| 205 | 207 | |
| 206 | 208 | void DissolveEffectApp::OnInit( Application& application ) |
| 207 | 209 | { |
| 210 | + DemoHelper::RequestThemeChange(); | |
| 211 | + | |
| 208 | 212 | Stage::GetCurrent().KeyEventSignal().Connect(this, &DissolveEffectApp::OnKeyEvent); |
| 209 | 213 | |
| 210 | 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& application ) |
| 219 | 223 | mToolBar.AddControl( mEffectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); |
| 220 | 224 | |
| 221 | 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 | 227 | mToolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); |
| 226 | 228 | |
| 227 | 229 | // Add an slide-show button on the right of the title |
| ... | ... | @@ -340,15 +342,14 @@ bool DissolveEffectApp::OnEffectButtonClicked( Toolkit::Button button ) |
| 340 | 342 | mCurrentImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision); |
| 341 | 343 | if(mUseHighPrecision) |
| 342 | 344 | { |
| 343 | - mTitleActor.SetText( APPLICATION_TITLE_HIGHP ); | |
| 345 | + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_HIGHP) ); | |
| 344 | 346 | mEffectChangeButton.SetBackgroundImage(mIconHighP); |
| 345 | 347 | } |
| 346 | 348 | else |
| 347 | 349 | { |
| 348 | - mTitleActor.SetText( APPLICATION_TITLE_MEDIUMP ); | |
| 350 | + mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_MEDIUMP) ); | |
| 349 | 351 | mEffectChangeButton.SetBackgroundImage(mIconMediumP); |
| 350 | 352 | } |
| 351 | - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); | |
| 352 | 353 | |
| 353 | 354 | return true; |
| 354 | 355 | } | ... | ... |
examples/hello-world/hello-world-example.cpp
| ... | ... | @@ -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 | 20 | using namespace Dali; |
| 21 | +using Dali::Toolkit::TextLabel; | |
| 22 | 22 | |
| 23 | 23 | // This example shows how to create and display Hello World! using a simple TextActor |
| 24 | 24 | // |
| ... | ... | @@ -29,8 +29,6 @@ public: |
| 29 | 29 | HelloWorldController( Application& application ) |
| 30 | 30 | : mApplication( application ) |
| 31 | 31 | { |
| 32 | - std::cout << "HelloWorldController::HelloWorldController" << std::endl; | |
| 33 | - | |
| 34 | 32 | // Connect to the Application's Init signal |
| 35 | 33 | mApplication.InitSignal().Connect( this, &HelloWorldController::Create ); |
| 36 | 34 | } |
| ... | ... | @@ -43,19 +41,13 @@ public: |
| 43 | 41 | // The Init signal is received once (only) during the Application lifetime |
| 44 | 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 | 44 | // Get a handle to the stage |
| 55 | 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 | 52 | // Respond to a click anywhere on the stage |
| 61 | 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 | 291 | { |
| 292 | 292 | std::cout << "ImageScalingScaleToFillController::Create" << std::endl; |
| 293 | 293 | |
| 294 | + DemoHelper::RequestThemeChange(); | |
| 295 | + | |
| 294 | 296 | // Get a handle to the stage: |
| 295 | 297 | Stage stage = Stage::GetCurrent(); |
| 296 | 298 | |
| ... | ... | @@ -539,15 +541,12 @@ public: |
| 539 | 541 | { |
| 540 | 542 | if(!mTitleActor) |
| 541 | 543 | { |
| 542 | - mTitleActor = TextView::New(); | |
| 544 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 543 | 545 | // Add title to the tool bar. |
| 544 | 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 | 575 | Layer mContentLayer; ///< The content layer (contains non gui chrome actors) |
| 577 | 576 | Toolkit::View mView; ///< The View instance. |
| 578 | 577 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 579 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 578 | + TextLabel mTitleActor; ///< The Toolbar's Title. | |
| 580 | 579 | Actor mGridActor; ///< The container for the grid of images |
| 581 | 580 | ScrollView mScrollView; ///< ScrollView UI Component |
| 582 | 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 | 160 | const float MENU_OPTION_HEIGHT(140.0f); |
| 161 | 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 | 163 | const Vector3 INITIAL_OFFSCREEN_POSITION( 1000.0f, 0, -1000.0f ); |
| 170 | 164 | |
| 171 | 165 | static Vector3 DepthLayoutItemSizeFunctionPortrait(unsigned int numberOfColumns, float layoutWidth) |
| ... | ... | @@ -240,6 +234,8 @@ public: |
| 240 | 234 | */ |
| 241 | 235 | void OnInit(Application& app) |
| 242 | 236 | { |
| 237 | + DemoHelper::RequestThemeChange(); | |
| 238 | + | |
| 243 | 239 | Stage stage = Dali::Stage::GetCurrent(); |
| 244 | 240 | stage.KeyEventSignal().Connect(this, &ItemViewExample::OnKeyEvent); |
| 245 | 241 | |
| ... | ... | @@ -972,15 +968,12 @@ private: |
| 972 | 968 | { |
| 973 | 969 | if(!mTitleActor) |
| 974 | 970 | { |
| 975 | - mTitleActor = TextView::New(); | |
| 971 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 976 | 972 | // Add title to the tool bar. |
| 977 | 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 | 979 | void ShowMenu() |
| ... | ... | @@ -1008,30 +1001,20 @@ private: |
| 1008 | 1001 | slider.ValueChangedSignal().Connect( this, &ItemViewExample::SliderValueChange ); |
| 1009 | 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 | 1005 | text.SetAnchorPoint( ParentOrigin::TOP_LEFT ); |
| 1020 | 1006 | text.SetParentOrigin( ParentOrigin::TOP_LEFT ); |
| 1021 | - text.SetTextAlignment( Dali::Toolkit::Alignment::HorizontalLeft ); | |
| 1022 | - text.SetStyleToCurrentText( defaultTextStyle ); | |
| 1023 | 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 | 1010 | slider.Add( text ); |
| 1027 | 1011 | |
| 1028 | 1012 | Actor textContainer = Actor::New(); |
| 1029 | 1013 | textContainer.SetRelayoutEnabled( true ); |
| 1030 | 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 | 1016 | mAlphaFunctionText.SetAnchorPoint( ParentOrigin::CENTER ); |
| 1033 | 1017 | mAlphaFunctionText.SetParentOrigin( ParentOrigin::CENTER ); |
| 1034 | - mAlphaFunctionText.SetTextAlignment( Toolkit::Alignment::VerticalCenter ); | |
| 1035 | 1018 | textContainer.Add( mAlphaFunctionText ); |
| 1036 | 1019 | tableView.AddChild( textContainer, TableView::CellPosition( 1, 0 ) ); |
| 1037 | 1020 | |
| ... | ... | @@ -1039,11 +1022,9 @@ private: |
| 1039 | 1022 | mTapDetector.Attach(mAlphaFunctionText); |
| 1040 | 1023 | mTapDetector.DetectedSignal().Connect( this, &ItemViewExample::ChangeAlphaFunctionOnTap ); |
| 1041 | 1024 | |
| 1042 | - text = TextView::New( "Alpha Function" ); | |
| 1025 | + text = TextLabel::New( "Alpha Function" ); | |
| 1043 | 1026 | text.SetAnchorPoint( ParentOrigin::TOP_LEFT ); |
| 1044 | 1027 | text.SetParentOrigin( ParentOrigin::TOP_LEFT ); |
| 1045 | - text.SetTextAlignment( Dali::Toolkit::Alignment::HorizontalLeft ); | |
| 1046 | - text.SetStyleToCurrentText( defaultTextStyle ); | |
| 1047 | 1028 | text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1048 | 1029 | text.SetSize( 0.0f, LABEL_TEXT_SIZE_Y ); |
| 1049 | 1030 | textContainer.Add( text ); |
| ... | ... | @@ -1069,7 +1050,7 @@ private: |
| 1069 | 1050 | |
| 1070 | 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 | 1056 | if( mItemView ) |
| ... | ... | @@ -1133,7 +1114,7 @@ private: |
| 1133 | 1114 | unsigned int mOrientation; |
| 1134 | 1115 | |
| 1135 | 1116 | Toolkit::ToolBar mToolBar; |
| 1136 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 1117 | + TextLabel mTitleActor; ///< The Toolbar's Title. | |
| 1137 | 1118 | |
| 1138 | 1119 | ItemView mItemView; |
| 1139 | 1120 | Image mBorderImage; |
| ... | ... | @@ -1154,7 +1135,7 @@ private: |
| 1154 | 1135 | Toolkit::PushButton mReplaceButton; |
| 1155 | 1136 | |
| 1156 | 1137 | unsigned int mAlphaFuncIndex; |
| 1157 | - TextView mAlphaFunctionText; | |
| 1138 | + TextLabel mAlphaFunctionText; | |
| 1158 | 1139 | BufferImage mWhiteImage; |
| 1159 | 1140 | }; |
| 1160 | 1141 | ... | ... |
examples/logging/logging-example.cpp
| ... | ... | @@ -156,6 +156,8 @@ class LoggingController: public ConnectionTracker |
| 156 | 156 | { |
| 157 | 157 | // The Init signal is received once (only) during the Application lifetime |
| 158 | 158 | |
| 159 | + DemoHelper::RequestThemeChange(); | |
| 160 | + | |
| 159 | 161 | mCurrentLogger = 0; |
| 160 | 162 | mPerformanceLoggers.reserve( NUM_LOGGERS ); |
| 161 | 163 | mPerformanceLoggers.resize( NUM_LOGGERS ); |
| ... | ... | @@ -198,7 +200,7 @@ class LoggingController: public ConnectionTracker |
| 198 | 200 | |
| 199 | 201 | // Label |
| 200 | 202 | { |
| 201 | - Toolkit::TextView label = Toolkit::TextView::New( LOGGER_TEXT ); | |
| 203 | + Toolkit::TextLabel label = Toolkit::TextLabel::New( LOGGER_TEXT ); | |
| 202 | 204 | label.SetParentOrigin( ParentOrigin::TOP_LEFT ); |
| 203 | 205 | label.SetAnchorPoint( AnchorPoint::TOP_LEFT ); |
| 204 | 206 | label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) ); |
| ... | ... | @@ -431,7 +433,7 @@ class LoggingController: public ConnectionTracker |
| 431 | 433 | |
| 432 | 434 | // Label |
| 433 | 435 | { |
| 434 | - Toolkit::TextView label = Toolkit::TextView::New( FREQUENCY_TEXT ); | |
| 436 | + Toolkit::TextLabel label = Toolkit::TextLabel::New( FREQUENCY_TEXT ); | |
| 435 | 437 | label.SetParentOrigin( ParentOrigin::TOP_LEFT ); |
| 436 | 438 | label.SetAnchorPoint( AnchorPoint::TOP_LEFT ); |
| 437 | 439 | label.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) ); |
| ... | ... | @@ -541,16 +543,9 @@ class LoggingController: public ConnectionTracker |
| 541 | 543 | << ", " << ((mLoggerStates[i].isTiming) ? "Started" : "Stopped") |
| 542 | 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 | 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 | 72 | Vector3 mStageSize; ///< Keep track of the stage size for determining path within stage bounds |
| ... | ... | @@ -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 | 109 | Vector3 offset(mOffsetOrigin * referenceSize); |
| 118 | 110 | |
| 119 | - Vector3 newPosition( constPosition + offset ); | |
| 120 | - | |
| 121 | 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 | 116 | // if top-left corner is outside of Top-Left bounds, then push back in screen. |
| 125 | 117 | Vector3 corner(position - size * anchor - mMinIndent); |
| ... | ... | @@ -127,17 +119,17 @@ struct ConfinementConstraint |
| 127 | 119 | if(mFlipHorizontal && corner.x < 0.0f) |
| 128 | 120 | { |
| 129 | 121 | corner.x = 0.0f; |
| 130 | - newPosition.x += size.width; | |
| 122 | + current.x += size.width; | |
| 131 | 123 | } |
| 132 | 124 | |
| 133 | 125 | if(mFlipVertical && corner.y < 0.0f) |
| 134 | 126 | { |
| 135 | 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 | 134 | // if bottom-right corner is outside of Bottom-Right bounds, then push back in screen. |
| 143 | 135 | corner += size - referenceSize + mMinIndent + mMaxIndent; |
| ... | ... | @@ -145,19 +137,17 @@ struct ConfinementConstraint |
| 145 | 137 | if(mFlipHorizontal && corner.x > 0.0f) |
| 146 | 138 | { |
| 147 | 139 | corner.x = 0.0f; |
| 148 | - newPosition.x -= size.width; | |
| 140 | + current.x -= size.width; | |
| 149 | 141 | } |
| 150 | 142 | |
| 151 | 143 | if(mFlipVertical && corner.y > 0.0f) |
| 152 | 144 | { |
| 153 | 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 | 153 | Vector3 mOffsetOrigin; ///< Manual Parent Offset Origin. |
| ... | ... | @@ -203,6 +193,8 @@ public: |
| 203 | 193 | */ |
| 204 | 194 | void Create( Application& application ) |
| 205 | 195 | { |
| 196 | + DemoHelper::RequestThemeChange(); | |
| 197 | + | |
| 206 | 198 | Stage::GetCurrent().KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); |
| 207 | 199 | |
| 208 | 200 | mStageSize = Stage::GetCurrent().GetSize(); |
| ... | ... | @@ -242,14 +234,13 @@ public: |
| 242 | 234 | overlay.Add( mMagnifier ); |
| 243 | 235 | |
| 244 | 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 | 242 | constraint.SetRemoveAction(Constraint::Discard); |
| 252 | - mMagnifier.ApplyConstraint( constraint ); | |
| 243 | + constraint.Apply(); | |
| 253 | 244 | |
| 254 | 245 | // Create bouncing magnifier automatically bounces around screen. |
| 255 | 246 | mBouncingMagnifier = Toolkit::Magnifier::New(); |
| ... | ... | @@ -263,18 +254,16 @@ public: |
| 263 | 254 | ContinueAnimation(); |
| 264 | 255 | |
| 265 | 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 | 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
examples/motion-stretch/motion-stretch-example.cpp
| ... | ... | @@ -124,6 +124,8 @@ public: |
| 124 | 124 | { |
| 125 | 125 | // The Init signal is received once (only) during the Application lifetime |
| 126 | 126 | |
| 127 | + DemoHelper::RequestThemeChange(); | |
| 128 | + | |
| 127 | 129 | Stage::GetCurrent().KeyEventSignal().Connect(this, &MotionStretchExampleApp::OnKeyEvent); |
| 128 | 130 | |
| 129 | 131 | // Creates a default view with a default tool bar. |
| ... | ... | @@ -400,7 +402,6 @@ private: |
| 400 | 402 | Application& mApplication; ///< Application instance |
| 401 | 403 | Toolkit::View mView; |
| 402 | 404 | Toolkit::ToolBar mToolBar; |
| 403 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 404 | 405 | Image mIconEffectsOff; |
| 405 | 406 | Image mIconEffectsOn; |
| 406 | 407 | Layer mContentLayer; ///< Content layer (contains actor for this stretch demo) | ... | ... |
examples/new-window/new-window-example.cpp
| ... | ... | @@ -80,7 +80,7 @@ public: |
| 80 | 80 | private: |
| 81 | 81 | Application mApplication; |
| 82 | 82 | Actor mCastingLight; |
| 83 | - TextActor mTextActor; | |
| 83 | + TextLabel mTextActor; | |
| 84 | 84 | ImageActor mImageActor; |
| 85 | 85 | ImageActor mBlendActor; |
| 86 | 86 | Image mEffectImage; |
| ... | ... | @@ -90,7 +90,7 @@ private: |
| 90 | 90 | |
| 91 | 91 | Toolkit::View mView; ///< The View instance. |
| 92 | 92 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 93 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 93 | + TextLabel mTitleActor; ///< The Toolbar's Title. | |
| 94 | 94 | Layer mContentLayer; ///< Content layer (scrolling cluster content) |
| 95 | 95 | Toolkit::PushButton mLoseContextButton; |
| 96 | 96 | Vector3 mHSVDelta; |
| ... | ... | @@ -116,6 +116,8 @@ NewWindowController::NewWindowController( Application& application ) |
| 116 | 116 | |
| 117 | 117 | void NewWindowController::Create( Application& app ) |
| 118 | 118 | { |
| 119 | + DemoHelper::RequestThemeChange(); | |
| 120 | + | |
| 119 | 121 | Stage stage = Stage::GetCurrent(); |
| 120 | 122 | stage.SetBackgroundColor(Color::YELLOW); |
| 121 | 123 | |
| ... | ... | @@ -379,7 +381,7 @@ void NewWindowController::CreateBlending() |
| 379 | 381 | |
| 380 | 382 | void NewWindowController::CreateText() |
| 381 | 383 | { |
| 382 | - mTextActor = TextActor::New("Some text"); | |
| 384 | + mTextActor = TextLabel::New("Some text"); | |
| 383 | 385 | mTextActor.SetParentOrigin(ParentOrigin::CENTER); |
| 384 | 386 | mTextActor.SetColor(Color::RED); |
| 385 | 387 | mTextActor.SetName("PushMe text"); | ... | ... |
examples/page-turn-view/page-turn-view-example.cpp
| ... | ... | @@ -22,6 +22,8 @@ |
| 22 | 22 | #include <string.h> |
| 23 | 23 | #include <iostream> |
| 24 | 24 | |
| 25 | +#include "shared/view.h" | |
| 26 | + | |
| 25 | 27 | using namespace Dali; |
| 26 | 28 | using namespace Dali::Toolkit; |
| 27 | 29 | |
| ... | ... | @@ -226,6 +228,8 @@ void PageTurnController::OnInit( Application& app ) |
| 226 | 228 | { |
| 227 | 229 | // The Init signal is received once ( only ) during the Application lifetime |
| 228 | 230 | |
| 231 | + DemoHelper::RequestThemeChange(); | |
| 232 | + | |
| 229 | 233 | Stage::GetCurrent().KeyEventSignal().Connect(this, &PageTurnController::OnKeyEvent); |
| 230 | 234 | |
| 231 | 235 | Stage stage = Stage::GetCurrent(); | ... | ... |
examples/path-animation/path-animation.cpp
| ... | ... | @@ -64,9 +64,10 @@ public: |
| 64 | 64 | */ |
| 65 | 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 | 72 | Slider slider = Slider::New(); |
| 72 | 73 | slider.SetRelayoutEnabled( false ); |
| ... | ... | @@ -88,8 +89,8 @@ public: |
| 88 | 89 | slider.SetSize(size); |
| 89 | 90 | slider.SetScale( 0.5f ); |
| 90 | 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 | 438 | */ |
| 438 | 439 | void Create( Application& application ) |
| 439 | 440 | { |
| 441 | + DemoHelper::RequestThemeChange(); | |
| 442 | + | |
| 440 | 443 | // Get a handle to the stage: |
| 441 | 444 | Stage stage = Stage::GetCurrent(); |
| 442 | 445 | |
| ... | ... | @@ -456,12 +459,8 @@ public: |
| 456 | 459 | mContentLayer.TouchedSignal().Connect(this, &PathController::OnTouchLayer); |
| 457 | 460 | |
| 458 | 461 | //Title |
| 459 | - TextView title = TextView::New(); | |
| 462 | + TextLabel title = DemoHelper::CreateToolBarLabel( APPLICATION_TITLE ); | |
| 460 | 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 | 465 | //Path |
| 467 | 466 | mPath = Dali::Path::New(); | ... | ... |
examples/radial-menu/radial-menu-example.cpp
| ... | ... | @@ -121,6 +121,8 @@ RadialMenuExample::~RadialMenuExample() |
| 121 | 121 | |
| 122 | 122 | void RadialMenuExample::OnInit(Application& app) |
| 123 | 123 | { |
| 124 | + DemoHelper::RequestThemeChange(); | |
| 125 | + | |
| 124 | 126 | Stage stage = Dali::Stage::GetCurrent(); |
| 125 | 127 | |
| 126 | 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 | 26 | * Method to project a point on a circle of radius halfSide at given |
| 27 | 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 | 31 | Radian angleInRadians(angle); |
| 33 | 32 | |
| 34 | 33 | // 135 90 45 |
| ... | ... | @@ -58,7 +57,8 @@ Vector3 CircleSquareProjection( Degree angle, float halfSide ) |
| 58 | 57 | position.x = halfSide; |
| 59 | 58 | position.y = -halfSide * sinf(angleInRadians) / cosf(angleInRadians); |
| 60 | 59 | } |
| 61 | - return position; | |
| 60 | + | |
| 61 | + position.z = 0.0f; | |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | float HoldZeroFastEaseInOutHoldOne(float progress) |
| ... | ... | @@ -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 | 94 | if(degree < 0.0f) |
| 95 | 95 | { |
| 96 | 96 | degree += 360.0f; |
| ... | ... | @@ -100,15 +100,17 @@ struct SquareFanConstraint |
| 100 | 100 | float endAngle = (90.0f*mSideIndex)+45.0f; |
| 101 | 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 | 116 | int mSideIndex; |
| ... | ... | @@ -362,18 +364,35 @@ void RadialSweepViewImpl::CreateStencil( Degree initialSector ) |
| 362 | 364 | |
| 363 | 365 | // Constrain the vertices of the square mesh to sweep out a sector as the |
| 364 | 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 | 397 | mStencilActor.SetDrawMode( DrawMode::STENCIL ); |
| 379 | 398 | mStencilActor.SetPositionInheritanceMode(USE_PARENT_POSITION); | ... | ... |
examples/refraction-effect/refraction-effect-example.cpp
| ... | ... | @@ -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 | 68 | float mRadius; |
| ... | ... | @@ -254,10 +257,9 @@ public: |
| 254 | 257 | handle.SetUniform( "uLightIntensity", 2.5f ); |
| 255 | 258 | |
| 256 | 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 | 264 | return handle; |
| 263 | 265 | } |
| ... | ... | @@ -318,6 +320,8 @@ private: |
| 318 | 320 | // The Init signal is received once (only) during the Application lifetime |
| 319 | 321 | void Create(Application& application) |
| 320 | 322 | { |
| 323 | + DemoHelper::RequestThemeChange(); | |
| 324 | + | |
| 321 | 325 | Stage stage = Stage::GetCurrent(); |
| 322 | 326 | mStageHalfSize = stage.GetSize() * 0.5f; |
| 323 | 327 | ... | ... |
examples/scripting/launcher.cpp
| ... | ... | @@ -23,9 +23,12 @@ |
| 23 | 23 | #include <sys/stat.h> |
| 24 | 24 | #include <dali/integration-api/debug.h> |
| 25 | 25 | |
| 26 | +// INTERNAL INCLUDES | |
| 27 | +#include "shared/view.h" | |
| 26 | 28 | |
| 27 | 29 | |
| 28 | 30 | using namespace Dali; |
| 31 | +using namespace Dali::Toolkit; | |
| 29 | 32 | |
| 30 | 33 | #define TOKEN_STRING(x) #x |
| 31 | 34 | |
| ... | ... | @@ -55,7 +58,9 @@ Launcher::~Launcher() |
| 55 | 58 | |
| 56 | 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 | 65 | // Reposition the actor |
| 61 | 66 | textActor.SetParentOrigin( ParentOrigin::TOP_LEFT ); | ... | ... |
examples/scroll-view/scroll-view-example.cpp
| ... | ... | @@ -179,6 +179,8 @@ public: |
| 179 | 179 | */ |
| 180 | 180 | void OnInit(Application& app) |
| 181 | 181 | { |
| 182 | + DemoHelper::RequestThemeChange(); | |
| 183 | + | |
| 182 | 184 | Stage stage = Dali::Stage::GetCurrent(); |
| 183 | 185 | stage.KeyEventSignal().Connect(this, &ExampleController::OnKeyEvent); |
| 184 | 186 | |
| ... | ... | @@ -640,15 +642,12 @@ private: |
| 640 | 642 | { |
| 641 | 643 | if(!mTitleActor) |
| 642 | 644 | { |
| 643 | - mTitleActor = TextView::New(); | |
| 645 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 644 | 646 | // Add title to the tool bar. |
| 645 | 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 | 669 | Application& mApplication; ///< Application instance |
| 671 | 670 | Toolkit::View mView; ///< The View instance. |
| 672 | 671 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 673 | - TextView mTitleActor; ///< The Toolbar's Title. | |
| 672 | + TextLabel mTitleActor; ///< The Toolbar's Title. | |
| 674 | 673 | Layer mContentLayer; ///< The content layer (contains game actors) |
| 675 | 674 | ScrollView mScrollView; ///< ScrollView UI Component |
| 676 | 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 | 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 | 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 | 123 | float mSign; |
| ... | ... | @@ -141,6 +128,8 @@ public: |
| 141 | 128 | */ |
| 142 | 129 | void Create(Application& app) |
| 143 | 130 | { |
| 131 | + DemoHelper::RequestThemeChange(); | |
| 132 | + | |
| 144 | 133 | srand(0); // Want repeatable path |
| 145 | 134 | |
| 146 | 135 | Stage::GetCurrent().KeyEventSignal().Connect(this, &TestApp::OnKeyEvent); |
| ... | ... | @@ -170,13 +159,11 @@ public: |
| 170 | 159 | toolBar.AddControl( effectChangeButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING ); |
| 171 | 160 | |
| 172 | 161 | // Add title to the tool bar. |
| 173 | - mTitleActor = Toolkit::TextView::New(); | |
| 162 | + mTitleActor = DemoHelper::CreateToolBarLabel( "" ); | |
| 174 | 163 | toolBar.AddControl( mTitleActor, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarTitlePercentage, Toolkit::Alignment::HorizontalCenter ); |
| 175 | 164 | |
| 176 | 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 | 168 | //Add a reset button |
| 182 | 169 | Image resetImage = ResourceImage::New( RESET_ICON ); |
| ... | ... | @@ -245,14 +232,8 @@ public: |
| 245 | 232 | mCastingLight.SetAnchorPoint(AnchorPoint::CENTER); |
| 246 | 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 | 238 | mCastingLight.Add(text); |
| 258 | 239 | mLightAnchor.Add(mCastingLight); |
| ... | ... | @@ -290,10 +271,14 @@ public: |
| 290 | 271 | |
| 291 | 272 | Property::Index angleIndex = mImageActor2.RegisterProperty("angle", Property::Value(30.0f)); |
| 292 | 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 | 283 | mSceneAnimation = Animation::New(2.5f); |
| 299 | 284 | |
| ... | ... | @@ -428,30 +413,24 @@ public: |
| 428 | 413 | { |
| 429 | 414 | case PAN_SCENE: |
| 430 | 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 | 417 | break; |
| 434 | 418 | case ROTATE_SCENE: |
| 435 | 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 | 421 | break; |
| 439 | 422 | case PAN_LIGHT: |
| 440 | 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 | 425 | break; |
| 444 | 426 | case PAN_OBJECT: |
| 445 | 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 | 429 | break; |
| 449 | 430 | default: |
| 450 | 431 | break; |
| 451 | 432 | } |
| 452 | 433 | |
| 453 | - mTitleActor.SetStyleToCurrentText(DemoHelper::GetDefaultTextStyle()); | |
| 454 | - | |
| 455 | 434 | return true; |
| 456 | 435 | } |
| 457 | 436 | |
| ... | ... | @@ -501,7 +480,7 @@ private: |
| 501 | 480 | Property::Index mAngle1Index; |
| 502 | 481 | Property::Index mAngle3Index; |
| 503 | 482 | |
| 504 | - Toolkit::TextView mTitleActor; | |
| 483 | + Toolkit::TextLabel mTitleActor; | |
| 505 | 484 | |
| 506 | 485 | enum PanState |
| 507 | 486 | { | ... | ... |
examples/size-negotiation/size-negotiation-example.cpp
| ... | ... | @@ -21,6 +21,8 @@ |
| 21 | 21 | |
| 22 | 22 | using namespace Dali; |
| 23 | 23 | |
| 24 | +using Dali::Toolkit::TextLabel; | |
| 25 | + | |
| 24 | 26 | // Define this so that it is interchangeable |
| 25 | 27 | // "DP" stands for Device independent Pixels |
| 26 | 28 | #define DP(x) DemoHelper::ScalePointSize(x) |
| ... | ... | @@ -155,6 +157,8 @@ public: |
| 155 | 157 | { |
| 156 | 158 | // The Init signal is received once (only) during the Application lifetime |
| 157 | 159 | |
| 160 | + DemoHelper::RequestThemeChange(); | |
| 161 | + | |
| 158 | 162 | Stage stage = Stage::GetCurrent(); |
| 159 | 163 | |
| 160 | 164 | // Respond to key events |
| ... | ... | @@ -169,8 +173,7 @@ public: |
| 169 | 173 | TOOLBAR_IMAGE, |
| 170 | 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 | 178 | SetTitle(); |
| 176 | 179 | |
| ... | ... | @@ -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 | 240 | bool OnMenu( Toolkit::Button button ) |
| ... | ... | @@ -341,9 +343,6 @@ public: |
| 341 | 343 | { |
| 342 | 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 | 346 | mPopup.Show(); |
| 348 | 347 | } |
| 349 | 348 | else if( button.GetName() == POPUP_BUTTON_TITLE_ID ) |
| ... | ... | @@ -351,9 +350,6 @@ public: |
| 351 | 350 | mPopup = CreatePopup(); |
| 352 | 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 | 353 | mPopup.Show(); |
| 358 | 354 | } |
| 359 | 355 | else if( button.GetName() == POPUP_BUTTON_BUTTONS_1_ID ) |
| ... | ... | @@ -370,9 +366,6 @@ public: |
| 370 | 366 | |
| 371 | 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 | 369 | mPopup.Show(); |
| 377 | 370 | } |
| 378 | 371 | else if( button.GetName() == POPUP_BUTTON_BUTTONS_2_ID ) |
| ... | ... | @@ -399,9 +392,6 @@ public: |
| 399 | 392 | |
| 400 | 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 | 395 | mPopup.Show(); |
| 406 | 396 | } |
| 407 | 397 | else if( button.GetName() == POPUP_BUTTON_TITLE_BUTTONS_ID ) |
| ... | ... | @@ -429,30 +419,22 @@ public: |
| 429 | 419 | |
| 430 | 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 | 422 | mPopup.Show(); |
| 436 | 423 | } |
| 437 | 424 | else if( button.GetName() == POPUP_BUTTON_CONTENT_TEXT_ID ) |
| 438 | 425 | { |
| 439 | 426 | mPopup = CreatePopup(); |
| 440 | 427 | |
| 441 | - Toolkit::TextView text = Toolkit::TextView::New(); | |
| 428 | + TextLabel text = TextLabel::New( CONTENT_TEXT ); | |
| 442 | 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 | 434 | text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) ); |
| 450 | 435 | |
| 451 | 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 | 438 | mPopup.Show(); |
| 457 | 439 | } |
| 458 | 440 | else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_ID ) |
| ... | ... | @@ -466,9 +448,6 @@ public: |
| 466 | 448 | |
| 467 | 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 | 451 | mPopup.Show(); |
| 473 | 452 | } |
| 474 | 453 | else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_SCALE_ID ) |
| ... | ... | @@ -483,9 +462,6 @@ public: |
| 483 | 462 | |
| 484 | 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 | 465 | mPopup.Show(); |
| 490 | 466 | } |
| 491 | 467 | else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FIT_ID ) |
| ... | ... | @@ -501,9 +477,6 @@ public: |
| 501 | 477 | |
| 502 | 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 | 480 | mPopup.Show(); |
| 508 | 481 | } |
| 509 | 482 | else if( button.GetName() == POPUP_BUTTON_CONTENT_IMAGE_FILL_ID ) |
| ... | ... | @@ -519,9 +492,6 @@ public: |
| 519 | 492 | |
| 520 | 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 | 495 | mPopup.Show(); |
| 526 | 496 | } |
| 527 | 497 | else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_ID ) |
| ... | ... | @@ -529,21 +499,14 @@ public: |
| 529 | 499 | mPopup = CreatePopup(); |
| 530 | 500 | mPopup.SetTitle( "Popup!" ); |
| 531 | 501 | |
| 532 | - Toolkit::TextView text = Toolkit::TextView::New(); | |
| 502 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( CONTENT_TEXT ); | |
| 533 | 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 | 504 | text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 539 | 505 | text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); |
| 540 | 506 | text.SetPadding( Padding( 20.0f, 20.0f, 20.0f, 20.0f ) ); |
| 541 | 507 | |
| 542 | 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 | 510 | mPopup.Show(); |
| 548 | 511 | } |
| 549 | 512 | else if( button.GetName() == POPUP_BUTTON_TITLE_CONTENT_TEXT_BUTTONS_ID ) |
| ... | ... | @@ -551,12 +514,8 @@ public: |
| 551 | 514 | mPopup = CreatePopup(); |
| 552 | 515 | mPopup.SetTitle( "Popup!" ); |
| 553 | 516 | |
| 554 | - Toolkit::TextView text = Toolkit::TextView::New(); | |
| 517 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( CONTENT_TEXT ); | |
| 555 | 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 | 519 | text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 561 | 520 | text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); |
| 562 | 521 | text.SetPadding( Padding( 10.0f, 10.0f, 20.0f, 0.0f ) ); |
| ... | ... | @@ -583,9 +542,6 @@ public: |
| 583 | 542 | |
| 584 | 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 | 545 | mPopup.Show(); |
| 590 | 546 | } |
| 591 | 547 | else if( button.GetName() == POPUP_BUTTON_COMPLEX_ID ) |
| ... | ... | @@ -604,11 +560,7 @@ public: |
| 604 | 560 | |
| 605 | 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 | 564 | text.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 613 | 565 | text.SetResizePolicy( DIMENSION_DEPENDENCY, HEIGHT ); |
| 614 | 566 | |
| ... | ... | @@ -643,15 +595,13 @@ public: |
| 643 | 595 | |
| 644 | 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 | 599 | Actor textActor = text; |
| 650 | 600 | textActor.SetPadding( Padding( 20.0f, 0.0f, 0.0f, 10.0f ) ); |
| 651 | 601 | |
| 652 | 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 | 607 | mPopup.Add( content ); |
| ... | ... | @@ -677,9 +627,6 @@ public: |
| 677 | 627 | |
| 678 | 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 | 630 | mPopup.Show(); |
| 684 | 631 | } |
| 685 | 632 | else if( button.GetName() == TABLEVIEW_BUTTON_EMPTY_ID ) |
| ... | ... | @@ -694,9 +641,6 @@ public: |
| 694 | 641 | |
| 695 | 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 | 644 | mPopup.Show(); |
| 701 | 645 | } |
| 702 | 646 | else if( button.GetName() == TABLEVIEW_BUTTON_1CELL_ID ) |
| ... | ... | @@ -716,9 +660,6 @@ public: |
| 716 | 660 | |
| 717 | 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 | 663 | mPopup.Show(); |
| 723 | 664 | } |
| 724 | 665 | else if( button.GetName() == TABLEVIEW_BUTTON_3CELL_ID ) |
| ... | ... | @@ -749,9 +690,6 @@ public: |
| 749 | 690 | |
| 750 | 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 | 693 | mPopup.Show(); |
| 756 | 694 | } |
| 757 | 695 | else if( button.GetName() == TABLEVIEW_BUTTON_3X3CELL_ID ) |
| ... | ... | @@ -817,9 +755,6 @@ public: |
| 817 | 755 | |
| 818 | 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 | 758 | mPopup.Show(); |
| 824 | 759 | } |
| 825 | 760 | else if( button.GetName() == TABLEVIEW_BUTTON_FIXED1_ID ) |
| ... | ... | @@ -836,7 +771,7 @@ public: |
| 836 | 771 | { |
| 837 | 772 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); |
| 838 | 773 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 839 | - TextActor text = TextActor::New( "Fixed" ); | |
| 774 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" ); | |
| 840 | 775 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 841 | 776 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 842 | 777 | backing.Add( text ); |
| ... | ... | @@ -845,7 +780,7 @@ public: |
| 845 | 780 | { |
| 846 | 781 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); |
| 847 | 782 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 848 | - TextActor text = TextActor::New( "Fill" ); | |
| 783 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" ); | |
| 849 | 784 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 850 | 785 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 851 | 786 | backing.Add( text ); |
| ... | ... | @@ -854,7 +789,7 @@ public: |
| 854 | 789 | { |
| 855 | 790 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); |
| 856 | 791 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 857 | - TextActor text = TextActor::New( "Fill" ); | |
| 792 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" ); | |
| 858 | 793 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 859 | 794 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 860 | 795 | backing.Add( text ); |
| ... | ... | @@ -863,9 +798,6 @@ public: |
| 863 | 798 | |
| 864 | 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 | 801 | mPopup.Show(); |
| 870 | 802 | } |
| 871 | 803 | else if( button.GetName() == TABLEVIEW_BUTTON_FIXED2_ID ) |
| ... | ... | @@ -883,7 +815,7 @@ public: |
| 883 | 815 | { |
| 884 | 816 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); |
| 885 | 817 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 886 | - TextActor text = TextActor::New( "Fixed" ); | |
| 818 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" ); | |
| 887 | 819 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 888 | 820 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 889 | 821 | backing.Add( text ); |
| ... | ... | @@ -892,7 +824,7 @@ public: |
| 892 | 824 | { |
| 893 | 825 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); |
| 894 | 826 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 895 | - TextActor text = TextActor::New( "Fill" ); | |
| 827 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fill" ); | |
| 896 | 828 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 897 | 829 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 898 | 830 | backing.Add( text ); |
| ... | ... | @@ -901,7 +833,7 @@ public: |
| 901 | 833 | { |
| 902 | 834 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); |
| 903 | 835 | backing.SetResizePolicy( FILL_TO_PARENT, ALL_DIMENSIONS ); |
| 904 | - TextActor text = TextActor::New( "Fixed" ); | |
| 836 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fixed" ); | |
| 905 | 837 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 906 | 838 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 907 | 839 | backing.Add( text ); |
| ... | ... | @@ -910,9 +842,6 @@ public: |
| 910 | 842 | |
| 911 | 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 | 845 | mPopup.Show(); |
| 917 | 846 | } |
| 918 | 847 | else if( button.GetName() == TABLEVIEW_BUTTON_FIT1_ID ) |
| ... | ... | @@ -932,7 +861,7 @@ public: |
| 932 | 861 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 933 | 862 | backing.SetSize( 0.0f, 100.0f ); |
| 934 | 863 | |
| 935 | - TextActor text = TextActor::New( "Fit" ); | |
| 864 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 936 | 865 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 937 | 866 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 938 | 867 | backing.Add( text ); |
| ... | ... | @@ -943,7 +872,7 @@ public: |
| 943 | 872 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 1.0f, 0.0f, 1.0f ) ); |
| 944 | 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 | 876 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 948 | 877 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 949 | 878 | backing.Add( text ); |
| ... | ... | @@ -955,7 +884,7 @@ public: |
| 955 | 884 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 956 | 885 | backing.SetSize( 0.0f, 100.0f ); |
| 957 | 886 | |
| 958 | - TextActor text = TextActor::New( "Fit" ); | |
| 887 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 959 | 888 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 960 | 889 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 961 | 890 | backing.Add( text ); |
| ... | ... | @@ -965,9 +894,6 @@ public: |
| 965 | 894 | |
| 966 | 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 | 897 | mPopup.Show(); |
| 972 | 898 | } |
| 973 | 899 | else if( button.GetName() == TABLEVIEW_BUTTON_FIT2_ID ) |
| ... | ... | @@ -984,7 +910,7 @@ public: |
| 984 | 910 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); |
| 985 | 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 | 914 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 989 | 915 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 990 | 916 | backing.Add( text ); |
| ... | ... | @@ -996,7 +922,7 @@ public: |
| 996 | 922 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 997 | 923 | backing.SetSize( 0.0f, 200.0f ); |
| 998 | 924 | |
| 999 | - TextActor text = TextActor::New( "Fit" ); | |
| 925 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1000 | 926 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1001 | 927 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1002 | 928 | backing.Add( text ); |
| ... | ... | @@ -1007,7 +933,7 @@ public: |
| 1007 | 933 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 0.0f, 1.0f, 0.0f, 1.0f ) ); |
| 1008 | 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 | 937 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1012 | 938 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1013 | 939 | backing.Add( text ); |
| ... | ... | @@ -1017,9 +943,6 @@ public: |
| 1017 | 943 | |
| 1018 | 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 | 946 | mPopup.Show(); |
| 1024 | 947 | } |
| 1025 | 948 | else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL1_ID ) |
| ... | ... | @@ -1041,7 +964,7 @@ public: |
| 1041 | 964 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1042 | 965 | backing.SetSize( 0.0f, 100.0f ); |
| 1043 | 966 | |
| 1044 | - TextActor text = TextActor::New( "Fit" ); | |
| 967 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1045 | 968 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1046 | 969 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1047 | 970 | backing.Add( text ); |
| ... | ... | @@ -1053,7 +976,7 @@ public: |
| 1053 | 976 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1054 | 977 | backing.SetSize( 0.0f, 200.0f ); |
| 1055 | 978 | |
| 1056 | - TextActor text = TextActor::New( "Fit" ); | |
| 979 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1057 | 980 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1058 | 981 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1059 | 982 | backing.Add( text ); |
| ... | ... | @@ -1065,7 +988,7 @@ public: |
| 1065 | 988 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1066 | 989 | backing.SetSize( 0.0f, 300.0f ); |
| 1067 | 990 | |
| 1068 | - TextActor text = TextActor::New( "Fit" ); | |
| 991 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1069 | 992 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1070 | 993 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1071 | 994 | backing.Add( text ); |
| ... | ... | @@ -1075,9 +998,6 @@ public: |
| 1075 | 998 | |
| 1076 | 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 | 1001 | mPopup.Show(); |
| 1082 | 1002 | } |
| 1083 | 1003 | else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL2_ID ) |
| ... | ... | @@ -1099,7 +1019,7 @@ public: |
| 1099 | 1019 | backing.SetResizePolicy( FIXED, HEIGHT ); |
| 1100 | 1020 | backing.SetSize( 0.0f, 100.0f ); |
| 1101 | 1021 | |
| 1102 | - TextActor text = TextActor::New( "Fit" ); | |
| 1022 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1103 | 1023 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1104 | 1024 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1105 | 1025 | backing.Add( text ); |
| ... | ... | @@ -1111,7 +1031,7 @@ public: |
| 1111 | 1031 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1112 | 1032 | backing.SetSize( 0.0f, 200.0f ); |
| 1113 | 1033 | |
| 1114 | - TextActor text = TextActor::New( "Fit" ); | |
| 1034 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1115 | 1035 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1116 | 1036 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1117 | 1037 | backing.Add( text ); |
| ... | ... | @@ -1121,9 +1041,6 @@ public: |
| 1121 | 1041 | |
| 1122 | 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 | 1044 | mPopup.Show(); |
| 1128 | 1045 | } |
| 1129 | 1046 | else if( button.GetName() == TABLEVIEW_BUTTON_NATURAL3_ID ) |
| ... | ... | @@ -1143,7 +1060,7 @@ public: |
| 1143 | 1060 | Actor backing = Toolkit::CreateSolidColorActor( Vector4( 1.0f, 0.0f, 0.0f, 1.0f ) ); |
| 1144 | 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 | 1064 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1148 | 1065 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1149 | 1066 | backing.Add( text ); |
| ... | ... | @@ -1155,7 +1072,7 @@ public: |
| 1155 | 1072 | backing.SetResizePolicy( FILL_TO_PARENT, WIDTH ); |
| 1156 | 1073 | backing.SetSize( 0.0f, 200.0f ); |
| 1157 | 1074 | |
| 1158 | - TextActor text = TextActor::New( "Fit" ); | |
| 1075 | + Toolkit::TextLabel text = Toolkit::TextLabel::New( "Fit" ); | |
| 1159 | 1076 | text.SetAnchorPoint( AnchorPoint::CENTER ); |
| 1160 | 1077 | text.SetParentOrigin( ParentOrigin::CENTER ); |
| 1161 | 1078 | backing.Add( text ); |
| ... | ... | @@ -1165,9 +1082,6 @@ public: |
| 1165 | 1082 | |
| 1166 | 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 | 1085 | mPopup.Show(); |
| 1172 | 1086 | } |
| 1173 | 1087 | else if( button.GetName() == OKAY_BUTTON_ID || button.GetName() == CANCEL_BUTTON_ID ) |
| ... | ... | @@ -1291,7 +1205,7 @@ private: |
| 1291 | 1205 | Toolkit::ToolBar mToolBar; ///< The View's Toolbar. |
| 1292 | 1206 | Layer mContentLayer; ///< Content layer |
| 1293 | 1207 | |
| 1294 | - Toolkit::TextView mTitleActor; ///< Title text | |
| 1208 | + Toolkit::TextLabel mTitleActor; ///< Title text | |
| 1295 | 1209 | |
| 1296 | 1210 | Toolkit::Popup mMenu; ///< The navigation menu |
| 1297 | 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 | 2 | |
| 3 | 3 | Name: com.samsung.dali-demo |
| 4 | 4 | Summary: The OpenGLES Canvas Core Demo |
| 5 | -Version: 1.0.36 | |
| 5 | +Version: 1.0.37 | |
| 6 | 6 | Release: 1 |
| 7 | 7 | Group: System/Libraries |
| 8 | 8 | License: Apache-2.0 |
| ... | ... | @@ -22,6 +22,7 @@ BuildRequires: dali-toolkit-devel |
| 22 | 22 | BuildRequires: dali-adaptor-devel |
| 23 | 23 | BuildRequires: pkgconfig(dlog) |
| 24 | 24 | BuildRequires: pkgconfig(egl) |
| 25 | +BuildRequires: gettext-tools | |
| 25 | 26 | |
| 26 | 27 | %description |
| 27 | 28 | The OpenGLES Canvas Core Demo is a collection of examples and demonstrations |
| ... | ... | @@ -37,6 +38,8 @@ of the capability of the toolkit. |
| 37 | 38 | %define dali_xml_file_dir /usr/share/packages/ |
| 38 | 39 | %define dali_icon_dir /usr/share/icons/ |
| 39 | 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 | 45 | # Build |
| ... | ... | @@ -50,7 +53,7 @@ LDFLAGS+=" -Wl,--rpath=$PREFIX/lib -Wl,--as-needed -fPIC" |
| 50 | 53 | CXXFLAGS+=" -D_ARCH_ARM_" |
| 51 | 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 | 58 | make %{?jobs:-j%jobs} |
| 56 | 59 | |
| ... | ... | @@ -108,8 +111,10 @@ exit 0 |
| 108 | 111 | %{dali_app_ro_dir}/images/* |
| 109 | 112 | %{dali_app_ro_dir}/models/* |
| 110 | 113 | %{dali_app_ro_dir}/scripts/* |
| 114 | +%{dali_app_ro_dir}/style/* | |
| 111 | 115 | %{dali_xml_file_dir}/%{name}.xml |
| 112 | 116 | %{dali_icon_dir}/* |
| 117 | +%{locale_dir}/* | |
| 113 | 118 | %if 0%{?enable_dali_smack_rules} && !%{with wayland} |
| 114 | 119 | %config %{smack_rule_dir}/%{name}.rule |
| 115 | 120 | %endif | ... | ... |
resources/scripts/animated-colors.json
| ... | ... | @@ -988,12 +988,12 @@ |
| 988 | 988 | ] |
| 989 | 989 | }, |
| 990 | 990 | { |
| 991 | - "type": "TextView", | |
| 991 | + "type": "TextLabel", | |
| 992 | 992 | "name": "text", |
| 993 | 993 | "parent-origin": "CENTER", |
| 994 | 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 | 997 | "signals": [ |
| 998 | 998 | { |
| 999 | 999 | "name": "tapped", | ... | ... |
resources/scripts/animation.json
| ... | ... | @@ -85,7 +85,7 @@ |
| 85 | 85 | // a tree of actors |
| 86 | 86 | "stage": [{ |
| 87 | 87 | "name": "greeting", |
| 88 | - "type": "TextView", | |
| 88 | + "type": "TextLabel", | |
| 89 | 89 | "text": "Touch me", |
| 90 | 90 | "styles": ["basic-text"], |
| 91 | 91 | "position": [0, -120, 0], |
| ... | ... | @@ -98,7 +98,7 @@ |
| 98 | 98 | }] |
| 99 | 99 | }, { |
| 100 | 100 | "name":"greeting2", |
| 101 | - "type": "TextView", | |
| 101 | + "type": "TextLabel", | |
| 102 | 102 | "parent-origin": "CENTER", |
| 103 | 103 | "anchor-point": "CENTER", |
| 104 | 104 | "size": [200, 200, 1], |
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | "animation": "path-animation" |
| 112 | 112 | }] |
| 113 | 113 | }, { |
| 114 | - "type": "TextView", // styles can be additive | |
| 114 | + "type": "TextLabel", // styles can be additive | |
| 115 | 115 | "parent-origin": "CENTER", |
| 116 | 116 | "anchor-point": "CENTER", |
| 117 | 117 | "size": [200, 200, 1], | ... | ... |
resources/scripts/background-color.json
| ... | ... | @@ -16,9 +16,9 @@ |
| 16 | 16 | */ |
| 17 | 17 | { |
| 18 | 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 | 22 | "text": "Hello World", |
| 23 | 23 | "parent-origin": "TOP_CENTER", |
| 24 | 24 | "anchor-point": "TOP_CENTER", | ... | ... |
resources/scripts/button.json
| ... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 | "parent-origin": "TOP_CENTER", |
| 26 | 26 | "anchor-point": "TOP_CENTER", |
| 27 | 27 | "position": [0, 0, 0], |
| 28 | - "size": [0, 200, 0], | |
| 28 | + "size": [400, 200, 0], | |
| 29 | 29 | "normal-state-actor": { |
| 30 | 30 | "type": "ImageActor", |
| 31 | 31 | "image": { |
| ... | ... | @@ -39,7 +39,7 @@ |
| 39 | 39 | } |
| 40 | 40 | }, |
| 41 | 41 | "label-actor": { |
| 42 | - "type": "TextView", | |
| 42 | + "type": "TextLabel", | |
| 43 | 43 | "text": "Normal" |
| 44 | 44 | } |
| 45 | 45 | }, |
| ... | ... | @@ -50,9 +50,9 @@ |
| 50 | 50 | "parent-origin": "CENTER", |
| 51 | 51 | "anchor-point": "CENTER", |
| 52 | 52 | "position": [0, 0, 0], |
| 53 | - "size": [0, 200, 0], | |
| 53 | + "size": [400, 200, 0], | |
| 54 | 54 | "label-actor": { |
| 55 | - "type": "TextView", | |
| 55 | + "type": "TextLabel", | |
| 56 | 56 | "text": "Disabled" |
| 57 | 57 | }, |
| 58 | 58 | "disabled": true, |
| ... | ... | @@ -83,9 +83,9 @@ |
| 83 | 83 | "parent-origin": "BOTTOM_CENTER", |
| 84 | 84 | "anchor-point": "BOTTOM_CENTER", |
| 85 | 85 | "position": [0, 0, 0], |
| 86 | - "size": [0, 200, 0], | |
| 86 | + "size": [400, 200, 0], | |
| 87 | 87 | "label-actor": { |
| 88 | - "type": "TextView", | |
| 88 | + "type": "TextLabel", | |
| 89 | 89 | "text": "Toggle" |
| 90 | 90 | }, |
| 91 | 91 | "togglable": true, |
| ... | ... | @@ -111,7 +111,7 @@ |
| 111 | 111 | "actor": "toggle-button", |
| 112 | 112 | "property": "label-actor", |
| 113 | 113 | "value": { |
| 114 | - "type": "TextView", | |
| 114 | + "type": "TextLabel", | |
| 115 | 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
resources/scripts/music-library.json
| ... | ... | @@ -132,7 +132,7 @@ |
| 132 | 132 | "type": "Control", |
| 133 | 133 | "actors": [ |
| 134 | 134 | { |
| 135 | - "type": "TextView", | |
| 135 | + "type": "TextLabel", | |
| 136 | 136 | "actors": [], |
| 137 | 137 | "name": "Time", |
| 138 | 138 | "position": [ |
| ... | ... | @@ -147,8 +147,8 @@ |
| 147 | 147 | 1 |
| 148 | 148 | ], |
| 149 | 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 | 154 | "name": "Indicators", | ... | ... |
resources/scripts/navigation.json
| ... | ... | @@ -31,7 +31,7 @@ |
| 31 | 31 | "title": "title", |
| 32 | 32 | "sub-title": "sub title", |
| 33 | 33 | "actors": [{ |
| 34 | - "type": "TextView", // styles can be additive | |
| 34 | + "type": "TextLabel", // styles can be additive | |
| 35 | 35 | "parent-origin": [0.5, 0.5, 0], |
| 36 | 36 | "anchor-point": [0.5, 0.5, 0], |
| 37 | 37 | "size": [200, 200, 1], |
| ... | ... | @@ -47,13 +47,13 @@ |
| 47 | 47 | "type": "Page", |
| 48 | 48 | "name": "page2", |
| 49 | 49 | "actors": [{ |
| 50 | - "type": "TextView", // styles can be additive | |
| 50 | + "type": "TextLabel", // styles can be additive | |
| 51 | 51 | "parent-origin": [0.5, 0.5, 0.5], |
| 52 | 52 | "anchor-point": [0.5, 0.5, 0.5], |
| 53 | 53 | "size": [200, 200, 1], |
| 54 | 54 | "text": "Hello World!" |
| 55 | 55 | }, { |
| 56 | - "type": "TextView", // styles can be additive | |
| 56 | + "type": "TextLabel", // styles can be additive | |
| 57 | 57 | "parent-origin": [0.0, 0.0, 0.5], |
| 58 | 58 | "anchor-point": [0.0, 0.0, 0.5], |
| 59 | 59 | "size": [200, 200, 1], |
| ... | ... | @@ -64,7 +64,7 @@ |
| 64 | 64 | "action": "pop" |
| 65 | 65 | }] |
| 66 | 66 | }, { |
| 67 | - "type": "TextView", // styles can be additive | |
| 67 | + "type": "TextLabel", // styles can be additive | |
| 68 | 68 | "parent-origin": [1.0, 1.0, 0.5], |
| 69 | 69 | "anchor-point": [1.0, 1.0, 0.5], |
| 70 | 70 | "size": [200, 200, 1], | ... | ... |
resources/scripts/super-blur-view.json
| ... | ... | @@ -65,9 +65,9 @@ |
| 65 | 65 | "parent-origin": "BOTTOM_CENTER", |
| 66 | 66 | "anchor-point": "BOTTOM_CENTER", |
| 67 | 67 | "position": [0, 0, 0], |
| 68 | - "size": [0, 100, 0], | |
| 68 | + "size": [200, 100, 0], | |
| 69 | 69 | "label-actor": { |
| 70 | - "type": "TextView", | |
| 70 | + "type": "TextLabel", | |
| 71 | 71 | "text": "Blur" |
| 72 | 72 | }, |
| 73 | 73 | "normal-state-actor": { | ... | ... |
resources/scripts/table-view.json
| ... | ... | @@ -22,8 +22,6 @@ |
| 22 | 22 | "background-color": [0.5,0.5,0,1], |
| 23 | 23 | "parent-origin": "CENTER", |
| 24 | 24 | "size":[400,500,1], |
| 25 | - "rows": 4, | |
| 26 | - "columns":4, | |
| 27 | 25 | "cell-padding": [10, 5], |
| 28 | 26 | "layout-rows": { // set the height of the rows |
| 29 | 27 | "0": { "policy": "fixed", "value": 40 }, |
| ... | ... | @@ -38,17 +36,21 @@ |
| 38 | 36 | "actors": [{ |
| 39 | 37 | "name":"gallery-1", |
| 40 | 38 | "type":"ImageActor", |
| 39 | + "width-resize-policy":"FILL_TO_PARENT", | |
| 40 | + "height-resize-policy":"FILL_TO_PARENT", | |
| 41 | 41 | "image": { |
| 42 | 42 | "filename": "{DALI_IMAGE_DIR}gallery-large-1.jpg" |
| 43 | 43 | }, |
| 44 | 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 | 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 | 50 | "name":"gallery-2", |
| 51 | 51 | "type":"ImageActor", |
| 52 | + "width-resize-policy":"FILL_TO_PARENT", | |
| 53 | + "height-resize-policy":"FILL_TO_PARENT", | |
| 52 | 54 | "image": { |
| 53 | 55 | "filename": "{DALI_IMAGE_DIR}gallery-large-2.jpg" |
| 54 | 56 | }, |
| ... | ... | @@ -59,6 +61,8 @@ |
| 59 | 61 | }, { |
| 60 | 62 | "name":"gallery-3", |
| 61 | 63 | "type":"ImageActor", |
| 64 | + "width-resize-policy":"FILL_TO_PARENT", | |
| 65 | + "height-resize-policy":"FILL_TO_PARENT", | |
| 62 | 66 | "image": { |
| 63 | 67 | "filename": "{DALI_IMAGE_DIR}gallery-large-3.jpg" |
| 64 | 68 | }, |
| ... | ... | @@ -68,6 +72,8 @@ |
| 68 | 72 | }, { |
| 69 | 73 | "name":"gallery-4", |
| 70 | 74 | "type":"ImageActor", |
| 75 | + "width-resize-policy":"FILL_TO_PARENT", | |
| 76 | + "height-resize-policy":"FILL_TO_PARENT", | |
| 71 | 77 | "image": { |
| 72 | 78 | "filename": "{DALI_IMAGE_DIR}gallery-large-4.jpg" |
| 73 | 79 | }, | ... | ... |
resources/scripts/timing.json
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 | 45 | |
| 46 | 46 | const char* DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue"); |
| 47 | 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 | 49 | const Dali::Vector4 DEFAULT_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f); |
| 51 | 50 | |
| 52 | 51 | const Dali::Toolkit::Alignment::Padding DEFAULT_PLAY_PADDING(12.0f, 12.0f, 12.0f, 12.0f); |
| 53 | 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 | 61 | float ScalePointSize(int pointSize) |
| 59 | 62 | { |
| ... | ... | @@ -62,27 +65,13 @@ float ScalePointSize(int pointSize) |
| 62 | 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 | 68 | Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar, |
| 81 | 69 | const std::string& toolbarImagePath, |
| 82 | 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 | 75 | Dali::Layer toolBarLayer = Dali::Layer::New(); |
| 87 | 76 | toolBarLayer.SetName( "TOOLBAR_LAYER" ); |
| 88 | 77 | toolBarLayer.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); |
| ... | ... | @@ -109,20 +98,22 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar, |
| 109 | 98 | // Add the tool bar to the too bar layer. |
| 110 | 99 | toolBarLayer.Add( toolBar ); |
| 111 | 100 | |
| 112 | - Dali::Font font = Dali::Font::New(); | |
| 113 | - | |
| 114 | 101 | // Tool bar text. |
| 115 | 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 | 114 | // Add title to the tool bar. |
| 124 | 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 | 119 | return toolBarLayer; |
| ... | ... | @@ -134,8 +125,7 @@ Dali::Layer CreateView( Dali::Application& application, |
| 134 | 125 | const std::string& backgroundImagePath, |
| 135 | 126 | const std::string& toolbarImagePath, |
| 136 | 127 | const std::string& title, |
| 137 | - const ViewStyle& style, | |
| 138 | - const Dali::TextStyle& textStyle ) | |
| 128 | + const ViewStyle& style = DEFAULT_VIEW_STYLE ) | |
| 139 | 129 | { |
| 140 | 130 | Dali::Stage stage = Dali::Stage::GetCurrent(); |
| 141 | 131 | |
| ... | ... | @@ -163,7 +153,7 @@ Dali::Layer CreateView( Dali::Application& application, |
| 163 | 153 | //application.GetOrientation().ChangedSignal().Connect( &view, &Dali::Toolkit::View::OrientationChanged ); |
| 164 | 154 | |
| 165 | 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 | 158 | // Add tool bar layer to the view. |
| 169 | 159 | view.AddContentLayer( toolBarLayer ); |
| ... | ... | @@ -179,19 +169,19 @@ Dali::Layer CreateView( Dali::Application& application, |
| 179 | 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 | 185 | } // DemoHelper |
| 196 | 186 | |
| 197 | 187 | #endif // __DALI_DEMO_HELPER_VIEW_H__ | ... | ... |