Commit 1b9d1f6f62ae2f59376282f82d823a28a24680af
1 parent
14041a85
Add AnimatedVectorImageVisualRive example
Change-Id: I326a43cfaeb670507e4e8c4573975cfbdcd3c48a
Showing
8 changed files
with
238 additions
and
0 deletions
build/tizen/CMakeLists.txt
| @@ -154,6 +154,7 @@ INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.ktx" ${IMAGES_D | @@ -154,6 +154,7 @@ INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.ktx" ${IMAGES_D | ||
| 154 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.astc" ${IMAGES_DIR}) | 154 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.astc" ${IMAGES_DIR}) |
| 155 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.svg" ${IMAGES_DIR}) | 155 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.svg" ${IMAGES_DIR}) |
| 156 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.json" ${IMAGES_DIR}) | 156 | INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.json" ${IMAGES_DIR}) |
| 157 | +INSTALL_TREE_FILES(${LOCAL_IMAGES_DIR} "${LOCAL_IMAGES_TREE}" "*.riv" ${IMAGES_DIR}) | ||
| 157 | 158 | ||
| 158 | FILE(GLOB LOCAL_VIDEOS_LIST RELATIVE "${LOCAL_VIDEOS_DIR}" "${LOCAL_VIDEOS_DIR}/*") | 159 | FILE(GLOB LOCAL_VIDEOS_LIST RELATIVE "${LOCAL_VIDEOS_DIR}" "${LOCAL_VIDEOS_DIR}/*") |
| 159 | FOREACH(flag ${LOCAL_VIDEOS_LIST}) | 160 | FOREACH(flag ${LOCAL_VIDEOS_LIST}) |
examples-reel/dali-examples-reel.cpp
| @@ -41,6 +41,7 @@ int DALI_EXPORT_API main(int argc, char** argv) | @@ -41,6 +41,7 @@ int DALI_EXPORT_API main(int argc, char** argv) | ||
| 41 | demo.AddExample(Example("animated-images.example", DALI_DEMO_STR_TITLE_ANIMATED_IMAGES)); | 41 | demo.AddExample(Example("animated-images.example", DALI_DEMO_STR_TITLE_ANIMATED_IMAGES)); |
| 42 | demo.AddExample(Example("animated-shapes.example", DALI_DEMO_STR_TITLE_ANIMATED_SHAPES)); | 42 | demo.AddExample(Example("animated-shapes.example", DALI_DEMO_STR_TITLE_ANIMATED_SHAPES)); |
| 43 | demo.AddExample(Example("animated-vector-images.example", DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES)); | 43 | demo.AddExample(Example("animated-vector-images.example", DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES)); |
| 44 | + demo.AddExample(Example("animated-vector-images-rive.example", DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE)); | ||
| 44 | demo.AddExample(Example("arc-visual.example", DALI_DEMO_STR_TITLE_ARC_VISUAL)); | 45 | demo.AddExample(Example("arc-visual.example", DALI_DEMO_STR_TITLE_ARC_VISUAL)); |
| 45 | demo.AddExample(Example("bloom-view.example", DALI_DEMO_STR_TITLE_BLOOM_VIEW)); | 46 | demo.AddExample(Example("bloom-view.example", DALI_DEMO_STR_TITLE_BLOOM_VIEW)); |
| 46 | demo.AddExample(Example("builder.example", DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI)); | 47 | demo.AddExample(Example("builder.example", DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI)); |
examples/animated-vector-images-rive/animated-vector-images-rive-example.cpp
0 → 100644
| 1 | +/* | ||
| 2 | + * Copyright (c) 2021 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 <dali-toolkit/dali-toolkit.h> | ||
| 19 | +#include <dali-toolkit/devel-api/controls/control-devel.h> | ||
| 20 | +#include <dali-toolkit/devel-api/controls/table-view/table-view.h> | ||
| 21 | +#include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-actions-devel.h> | ||
| 22 | +#include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-signals-devel.h> | ||
| 23 | +#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h> | ||
| 24 | +#include <dali/dali.h> | ||
| 25 | +#include <string> | ||
| 26 | +#include "shared/view.h" | ||
| 27 | + | ||
| 28 | +using namespace Dali; | ||
| 29 | +using namespace Dali::Toolkit; | ||
| 30 | + | ||
| 31 | +namespace | ||
| 32 | +{ | ||
| 33 | +const char* BACKGROUND_IMAGE(DEMO_IMAGE_DIR "background-gradient.jpg"); | ||
| 34 | +const char* TOOLBAR_IMAGE(DEMO_IMAGE_DIR "top-bar.png"); | ||
| 35 | +const char* APPLICATION_TITLE("Animated Vector Images Rive"); | ||
| 36 | + | ||
| 37 | +const char* IMAGE_PATH[] = { | ||
| 38 | + DEMO_IMAGE_DIR "juice.riv", | ||
| 39 | + }; | ||
| 40 | + | ||
| 41 | +const unsigned int NUMBER_OF_IMAGES = 1; | ||
| 42 | + | ||
| 43 | +enum CellPlacement | ||
| 44 | +{ | ||
| 45 | + TOP_BUTTON, | ||
| 46 | + LOWER_BUTTON, | ||
| 47 | + IMAGE, | ||
| 48 | + NUMBER_OF_ROWS | ||
| 49 | +}; | ||
| 50 | + | ||
| 51 | +unsigned int GetControlIndex(Control control) | ||
| 52 | +{ | ||
| 53 | + std::string controlName = control.GetProperty<std::string>(Dali::Actor::Property::NAME); | ||
| 54 | + unsigned int index = 0; | ||
| 55 | + | ||
| 56 | + if(controlName != "") | ||
| 57 | + { | ||
| 58 | + index = std::stoul(controlName); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + return index; | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +} // namespace | ||
| 65 | + | ||
| 66 | +// This example shows the usage of AnimatedVectorImageVisual(Rive). | ||
| 67 | +// It doesn't work on Ubuntu because the visual uses the external library to render frames. | ||
| 68 | +class AnimatedVectorImageViewController : public ConnectionTracker | ||
| 69 | +{ | ||
| 70 | +public: | ||
| 71 | + AnimatedVectorImageViewController(Application& application) | ||
| 72 | + : mApplication(application) | ||
| 73 | + { | ||
| 74 | + // Connect to the Application's Init signal | ||
| 75 | + mApplication.InitSignal().Connect(this, &AnimatedVectorImageViewController::Create); | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + void Create(Application& application) | ||
| 79 | + { | ||
| 80 | + // The Init signal is received once (only) during the Application lifetime | ||
| 81 | + | ||
| 82 | + // Creates a default view with a default tool bar. | ||
| 83 | + // The view is added to the window. | ||
| 84 | + mContentLayer = DemoHelper::CreateView(application, | ||
| 85 | + mView, | ||
| 86 | + mToolBar, | ||
| 87 | + BACKGROUND_IMAGE, | ||
| 88 | + TOOLBAR_IMAGE, | ||
| 89 | + APPLICATION_TITLE); | ||
| 90 | + | ||
| 91 | + // Create a table view to show a pair of buttons above each image. | ||
| 92 | + mTable = TableView::New(CellPlacement::NUMBER_OF_ROWS, NUMBER_OF_IMAGES); | ||
| 93 | + mTable.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER); | ||
| 94 | + mTable.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); | ||
| 95 | + mTable.SetResizePolicy(ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS); | ||
| 96 | + Vector3 offset(0.9f, 0.70f, 0.0f); | ||
| 97 | + mTable.SetProperty(Actor::Property::SIZE_MODE_FACTOR, offset); | ||
| 98 | + mTable.SetFitHeight(CellPlacement::TOP_BUTTON); | ||
| 99 | + mTable.SetFitHeight(CellPlacement::LOWER_BUTTON); | ||
| 100 | + mContentLayer.Add(mTable); | ||
| 101 | + | ||
| 102 | + for(unsigned int x = 0; x < NUMBER_OF_IMAGES; x++) | ||
| 103 | + { | ||
| 104 | + mPlayButtons[x] = PushButton::New(); | ||
| 105 | + mPlayButtons[x].SetProperty(Button::Property::LABEL, "Play"); | ||
| 106 | + mPlayButtons[x].SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER); | ||
| 107 | + mPlayButtons[x].SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER); | ||
| 108 | + mPlayButtons[x].ClickedSignal().Connect(this, &AnimatedVectorImageViewController::OnPlayButtonClicked); | ||
| 109 | + mPlayButtons[x].SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); | ||
| 110 | + mPlayButtons[x].SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); | ||
| 111 | + std::string s = std::to_string(x); | ||
| 112 | + mPlayButtons[x].SetProperty(Dali::Actor::Property::NAME, s); | ||
| 113 | + mTable.AddChild(mPlayButtons[x], TableView::CellPosition(CellPlacement::TOP_BUTTON, x)); | ||
| 114 | + | ||
| 115 | + mStopButtons[x] = PushButton::New(); | ||
| 116 | + mStopButtons[x].SetProperty(Button::Property::LABEL, "Stop"); | ||
| 117 | + mStopButtons[x].SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_CENTER); | ||
| 118 | + mStopButtons[x].SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::BOTTOM_CENTER); | ||
| 119 | + mStopButtons[x].ClickedSignal().Connect(this, &AnimatedVectorImageViewController::OnStopButtonClicked); | ||
| 120 | + mStopButtons[x].SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH); | ||
| 121 | + mStopButtons[x].SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT); | ||
| 122 | + mStopButtons[x].SetProperty(Dali::Actor::Property::NAME, s); | ||
| 123 | + mTable.AddChild(mStopButtons[x], TableView::CellPosition(CellPlacement::LOWER_BUTTON, x)); | ||
| 124 | + | ||
| 125 | + mImageViews[x] = ImageView::New(); | ||
| 126 | + Property::Map imagePropertyMap; | ||
| 127 | + imagePropertyMap.Insert(Visual::Property::TYPE, Visual::IMAGE); | ||
| 128 | + imagePropertyMap.Insert(ImageVisual::Property::URL, IMAGE_PATH[x]); | ||
| 129 | + imagePropertyMap.Insert(DevelImageVisual::Property::LOOP_COUNT, 3); | ||
| 130 | + mImageViews[x].SetProperty(ImageView::Property::IMAGE, imagePropertyMap); | ||
| 131 | + | ||
| 132 | + mImageViews[x].SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); | ||
| 133 | + mImageViews[x].SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER); | ||
| 134 | + mImageViews[x].SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); | ||
| 135 | + mImageViews[x].SetProperty(Dali::Actor::Property::NAME, s); | ||
| 136 | + | ||
| 137 | + DevelControl::VisualEventSignal(mImageViews[x]).Connect(this, &AnimatedVectorImageViewController::OnVisualEvent); | ||
| 138 | + | ||
| 139 | + mTable.AddChild(mImageViews[x], TableView::CellPosition(CellPlacement::IMAGE, x)); | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + application.GetWindow().KeyEventSignal().Connect(this, &AnimatedVectorImageViewController::OnKeyEvent); | ||
| 143 | + } | ||
| 144 | + | ||
| 145 | +private: | ||
| 146 | + bool OnPlayButtonClicked(Button button) | ||
| 147 | + { | ||
| 148 | + unsigned int controlIndex = GetControlIndex(button); | ||
| 149 | + | ||
| 150 | + ImageView imageView = mImageViews[controlIndex]; | ||
| 151 | + | ||
| 152 | + Property::Map map = imageView.GetProperty<Property::Map>(ImageView::Property::IMAGE); | ||
| 153 | + Property::Value* value = map.Find(DevelImageVisual::Property::PLAY_STATE); | ||
| 154 | + | ||
| 155 | + if(value) | ||
| 156 | + { | ||
| 157 | + if(value->Get<int>() != static_cast<int>(DevelImageVisual::PlayState::PLAYING)) | ||
| 158 | + { | ||
| 159 | + mPlayButtons[controlIndex].SetProperty(Button::Property::LABEL, "Pause"); | ||
| 160 | + | ||
| 161 | + DevelControl::DoAction(imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PLAY, Property::Value()); | ||
| 162 | + } | ||
| 163 | + else | ||
| 164 | + { | ||
| 165 | + mPlayButtons[controlIndex].SetProperty(Button::Property::LABEL, "Play"); | ||
| 166 | + | ||
| 167 | + DevelControl::DoAction(imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PAUSE, Property::Value()); | ||
| 168 | + } | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + return true; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + bool OnStopButtonClicked(Button button) | ||
| 175 | + { | ||
| 176 | + unsigned int controlIndex = GetControlIndex(button); | ||
| 177 | + ImageView imageView = mImageViews[controlIndex]; | ||
| 178 | + DevelControl::DoAction(imageView, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::STOP, Property::Value()); | ||
| 179 | + | ||
| 180 | + return true; | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + void OnVisualEvent(Control control, Dali::Property::Index visualIndex, Dali::Property::Index signalId) | ||
| 184 | + { | ||
| 185 | + unsigned int controlIndex = GetControlIndex(control); | ||
| 186 | + | ||
| 187 | + if(visualIndex == ImageView::Property::IMAGE && signalId == DevelAnimatedVectorImageVisual::Signal::ANIMATION_FINISHED) | ||
| 188 | + { | ||
| 189 | + mPlayButtons[controlIndex].SetProperty(Button::Property::LABEL, "Play"); | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + /** | ||
| 194 | + * Main key event handler | ||
| 195 | + */ | ||
| 196 | + void OnKeyEvent(const KeyEvent& event) | ||
| 197 | + { | ||
| 198 | + if(event.GetState() == KeyEvent::DOWN) | ||
| 199 | + { | ||
| 200 | + if(IsKey(event, DALI_KEY_ESCAPE) || IsKey(event, DALI_KEY_BACK)) | ||
| 201 | + { | ||
| 202 | + mApplication.Quit(); | ||
| 203 | + } | ||
| 204 | + } | ||
| 205 | + } | ||
| 206 | + | ||
| 207 | +private: | ||
| 208 | + Application& mApplication; | ||
| 209 | + | ||
| 210 | + Control mView; ///< The View instance. | ||
| 211 | + ToolBar mToolBar; ///< The View's Toolbar. | ||
| 212 | + Layer mContentLayer; ///< Content layer | ||
| 213 | + TableView mTable; | ||
| 214 | + ImageView mImageViews[NUMBER_OF_IMAGES]; | ||
| 215 | + PushButton mPlayButtons[NUMBER_OF_IMAGES]; | ||
| 216 | + PushButton mStopButtons[NUMBER_OF_IMAGES]; | ||
| 217 | +}; | ||
| 218 | + | ||
| 219 | +int DALI_EXPORT_API main(int argc, char** argv) | ||
| 220 | +{ | ||
| 221 | + Application application = Application::New(&argc, &argv, DEMO_THEME_PATH); | ||
| 222 | + AnimatedVectorImageViewController test(application); | ||
| 223 | + application.MainLoop(); | ||
| 224 | + return 0; | ||
| 225 | +} |
resources/images/juice.riv
0 → 100644
No preview for this file type
resources/po/en_GB.po
| @@ -294,3 +294,6 @@ msgstr "Web View" | @@ -294,3 +294,6 @@ msgstr "Web View" | ||
| 294 | 294 | ||
| 295 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" | 295 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" |
| 296 | msgstr "Animated Vector Images" | 296 | msgstr "Animated Vector Images" |
| 297 | + | ||
| 298 | +msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE" | ||
| 299 | +msgstr "Animated Vector Images Rive" |
resources/po/en_US.po
| @@ -295,6 +295,9 @@ msgstr "Web View" | @@ -295,6 +295,9 @@ msgstr "Web View" | ||
| 295 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" | 295 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" |
| 296 | msgstr "Animated Vector Images" | 296 | msgstr "Animated Vector Images" |
| 297 | 297 | ||
| 298 | +msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE" | ||
| 299 | +msgstr "Animated Vector Images Rive" | ||
| 300 | + | ||
| 298 | msgid "DALI_DEMO_STR_TITLE_TEXT_RENDERER" | 301 | msgid "DALI_DEMO_STR_TITLE_TEXT_RENDERER" |
| 299 | msgstr "Text Renderer" | 302 | msgstr "Text Renderer" |
| 300 | 303 |
resources/po/ko.po
| @@ -192,3 +192,6 @@ msgstr "PBR" | @@ -192,3 +192,6 @@ msgstr "PBR" | ||
| 192 | 192 | ||
| 193 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" | 193 | msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES" |
| 194 | msgstr "애니메이션 벡터 이미지" | 194 | msgstr "애니메이션 벡터 이미지" |
| 195 | + | ||
| 196 | +msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE" | ||
| 197 | +msgstr "애니메이션 벡터 이미지 라이브" |
shared/dali-demo-strings.h
| @@ -37,6 +37,7 @@ extern "C" | @@ -37,6 +37,7 @@ extern "C" | ||
| 37 | #define DALI_DEMO_STR_TITLE_ANIMATED_IMAGES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_IMAGES") | 37 | #define DALI_DEMO_STR_TITLE_ANIMATED_IMAGES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_IMAGES") |
| 38 | #define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_SHAPES") | 38 | #define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_SHAPES") |
| 39 | #define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES") | 39 | #define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES") |
| 40 | +#define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE") | ||
| 40 | #define DALI_DEMO_STR_TITLE_ARC_VISUAL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ARC_VISUAL") | 41 | #define DALI_DEMO_STR_TITLE_ARC_VISUAL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ARC_VISUAL") |
| 41 | #define DALI_DEMO_STR_TITLE_BASIC_LIGHT dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BASIC_LIGHT") | 42 | #define DALI_DEMO_STR_TITLE_BASIC_LIGHT dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BASIC_LIGHT") |
| 42 | #define DALI_DEMO_STR_TITLE_BENCHMARK dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BENCHMARK") | 43 | #define DALI_DEMO_STR_TITLE_BENCHMARK dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_BENCHMARK") |
| @@ -142,6 +143,7 @@ extern "C" | @@ -142,6 +143,7 @@ extern "C" | ||
| 142 | #define DALI_DEMO_STR_TITLE_ANIMATED_IMAGES "Animated Images" | 143 | #define DALI_DEMO_STR_TITLE_ANIMATED_IMAGES "Animated Images" |
| 143 | #define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES "Animated Shapes" | 144 | #define DALI_DEMO_STR_TITLE_ANIMATED_SHAPES "Animated Shapes" |
| 144 | #define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES "Animated Vector Images" | 145 | #define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES "Animated Vector Images" |
| 146 | +#define DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES_RIVE "Animated Vector Images Rive" | ||
| 145 | #define DALI_DEMO_STR_TITLE_ARC_VISUAL "Arc Visual" | 147 | #define DALI_DEMO_STR_TITLE_ARC_VISUAL "Arc Visual" |
| 146 | #define DALI_DEMO_STR_TITLE_BASIC_LIGHT "Basic Light" | 148 | #define DALI_DEMO_STR_TITLE_BASIC_LIGHT "Basic Light" |
| 147 | #define DALI_DEMO_STR_TITLE_BENCHMARK "ImageView Benchmark" | 149 | #define DALI_DEMO_STR_TITLE_BENCHMARK "ImageView Benchmark" |