diff --git a/com.samsung.dali-demo.xml b/com.samsung.dali-demo.xml index db2d927..3906760 100644 --- a/com.samsung.dali-demo.xml +++ b/com.samsung.dali-demo.xml @@ -145,6 +145,9 @@ + + + diff --git a/examples/inherit-test/inherit-test-example.cpp b/examples/inherit-test/inherit-test-example.cpp new file mode 100644 index 0000000..226fe2a --- /dev/null +++ b/examples/inherit-test/inherit-test-example.cpp @@ -0,0 +1,343 @@ +/* + * Copyright (c) 2023 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include +#include + +using namespace Dali; +using namespace Dali::Toolkit; + +namespace +{ +constexpr Vector2 PARENT_VIEW_SIZE_LIST[] = { + Vector2(100.0f, 150.0f), + Vector2(200.0f, 100.0f), + Vector2(100.0f, 200.0f), + Vector2(100.0f, 100.0f), +}; +constexpr int PARENT_VIEW_SIZE_LIST_COUNT = sizeof(PARENT_VIEW_SIZE_LIST) / sizeof(PARENT_VIEW_SIZE_LIST[0]); + +constexpr Vector2 PARENT_VIEW_SCALE_LIST[] = { + Vector2(2.0f, 0.5f), + Vector2(1.0f, 1.0f), + Vector2(0.5f, 2.0f), +}; +constexpr int PARENT_VIEW_SCALE_LIST_COUNT = sizeof(PARENT_VIEW_SCALE_LIST) / sizeof(PARENT_VIEW_SCALE_LIST[0]); + +constexpr Vector2 CURRENT_VIEW_SIZE_LIST[] = { + Vector2(200.0f, 250.0f), + Vector2(200.0f, 100.0f), + Vector2(100.0f, 200.0f), + Vector2(10.0f, 10.0f), +}; +constexpr int CURRENT_VIEW_SIZE_LIST_COUNT = sizeof(CURRENT_VIEW_SIZE_LIST) / sizeof(CURRENT_VIEW_SIZE_LIST[0]); + +constexpr Vector2 CURRENT_VIEW_POSITION_LIST[] = { + Vector2(100.0f, 120.0f), + Vector2(0.0f, 0.0f), + Vector2(100.0f, 100.0f), + Vector2(-100.0f, -200.0f), +}; +constexpr int CURRENT_VIEW_POSITION_LIST_COUNT = sizeof(CURRENT_VIEW_POSITION_LIST) / sizeof(CURRENT_VIEW_POSITION_LIST[0]); + +constexpr Vector2 CURRENT_VIEW_SCALE_LIST[] = { + Vector2(0.5f, 2.0f), + Vector2(1.0f, 1.0f), + Vector2(2.0f, 0.5f), +}; +constexpr int CURRENT_VIEW_SCALE_LIST_COUNT = sizeof(CURRENT_VIEW_SCALE_LIST) / sizeof(CURRENT_VIEW_SCALE_LIST[0]); + +constexpr Vector3 PARENT_ORIGIN_LIST[] = { + ParentOrigin::TOP_LEFT, + ParentOrigin::TOP_CENTER, + ParentOrigin::TOP_RIGHT, + ParentOrigin::CENTER_LEFT, + ParentOrigin::CENTER, + ParentOrigin::CENTER_RIGHT, + ParentOrigin::BOTTOM_LEFT, + ParentOrigin::BOTTOM_CENTER, + ParentOrigin::BOTTOM_RIGHT, +}; +constexpr int PARENT_ORIGIN_LIST_COUNT = sizeof(PARENT_ORIGIN_LIST) / sizeof(PARENT_ORIGIN_LIST[0]); + +constexpr Vector3 ANCHOR_POINT_LIST[] = { + AnchorPoint::TOP_LEFT, + AnchorPoint::TOP_CENTER, + AnchorPoint::TOP_RIGHT, + AnchorPoint::CENTER_LEFT, + AnchorPoint::CENTER, + AnchorPoint::CENTER_RIGHT, + AnchorPoint::BOTTOM_LEFT, + AnchorPoint::BOTTOM_CENTER, + AnchorPoint::BOTTOM_RIGHT, +}; +constexpr int ANCHOR_POINT_LIST_COUNT = sizeof(ANCHOR_POINT_LIST) / sizeof(ANCHOR_POINT_LIST[0]); +} // namespace + +// This example shows how to create and display Hello World! using a simple TextActor +// +class InheritTestController : public ConnectionTracker +{ +public: + InheritTestController(Application& application) + : mApplication(application) + { + // Connect to the Application's Init signal + mApplication.InitSignal().Connect(this, &InheritTestController::Create); + } + + ~InheritTestController() = default; // Nothing to do in destructor + + // The Init signal is received once (only) during the Application lifetime + void Create(Application& application) + { + // Get a handle to the window + mWindow = application.GetWindow(); + mWindow.SetBackgroundColor(Color::WHITE); + + Vector2 windowSize(1280, 800); + if(mWindow.GetSize().GetWidth() < 1280) + { + mWindow.SetSize(Uint16Pair(windowSize.x, windowSize.y)); + } + else + { + windowSize.x = mWindow.GetSize().GetWidth(); + windowSize.y = mWindow.GetSize().GetHeight(); + } + + mTitle = TextLabel::New(); + mTitle.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + mTitle.SetProperty(TextLabel::Property::MULTI_LINE, true); + mWindow.Add(mTitle); + + SetupView(); + + // Respond to a touch anywhere on the window + mWindow.GetRootLayer().TouchedSignal().Connect(this, &InheritTestController::OnTouch); + + // Respond to key events + mWindow.KeyEventSignal().Connect(this, &InheritTestController::OnKeyEvent); + } + + bool OnTouch(Actor actor, const TouchEvent& touch) + { + // quit the application + mApplication.Quit(); + return true; + } + + void OnKeyEvent(const KeyEvent& event) + { + if(event.GetState() == KeyEvent::DOWN) + { + bool needUpdate = false; + if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK)) + { + mApplication.Quit(); + } + if(event.GetKeyName() == "1") // Inherit flag + { + mInheritFlag = (mInheritFlag + 1) % 8; + needUpdate = true; + } + else if(event.GetKeyName() == "2") // ParentView Size + { + mParentSizeIndex = (mParentSizeIndex + 1) % PARENT_VIEW_SIZE_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "3") // ParentView Scale + { + mParentScaleIndex = (mParentScaleIndex + 1) % PARENT_VIEW_SCALE_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "4") // ParentOrigin + { + mParentOriginIndex = (mParentOriginIndex + 1) % PARENT_ORIGIN_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "5") // AnchorPoint + { + mAnchorPointIndex = (mAnchorPointIndex + 1) % ANCHOR_POINT_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "6") // Size + { + mCurrentSizeIndex = (mCurrentSizeIndex + 1) % CURRENT_VIEW_SIZE_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "7") // Position + { + mCurrentPositionIndex = (mCurrentPositionIndex + 1) % CURRENT_VIEW_POSITION_LIST_COUNT; + needUpdate = true; + } + else if(event.GetKeyName() == "8") // Scale + { + mCurrentScaleIndex = (mCurrentScaleIndex + 1) % CURRENT_VIEW_SCALE_LIST_COUNT; + needUpdate = true; + } + + if(needUpdate) + { + SetupView(); + } + } + } + + void SetupView() + { + if(mParent) + { + mParent.Unparent(); + } + if(mCurrent) + { + mCurrent.Unparent(); + } + + Vector2 parentViewSize = PARENT_VIEW_SIZE_LIST[mParentSizeIndex]; + Vector2 parentViewScale = PARENT_VIEW_SCALE_LIST[mParentScaleIndex]; + + mParent = Control::New(); + mParent.SetBackgroundColor(Color::BLUE); + mParent.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER); + mParent.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER); + mParent.SetProperty(Actor::Property::SIZE, parentViewSize); + mParent.SetProperty(Actor::Property::POSITION, Vector3::ZERO); + mParent.SetProperty(Actor::Property::SCALE, parentViewScale); + + Vector3 parentOrigin = PARENT_ORIGIN_LIST[mParentOriginIndex]; + Vector3 anchorPoint = ANCHOR_POINT_LIST[mAnchorPointIndex]; + Vector2 currentViewSize = CURRENT_VIEW_SIZE_LIST[mCurrentSizeIndex]; + Vector2 currentViewPosition = CURRENT_VIEW_POSITION_LIST[mCurrentPositionIndex]; + Vector2 currentViewScale = CURRENT_VIEW_SCALE_LIST[mCurrentScaleIndex]; + + bool inheritPosition = mInheritFlag & 1; + bool inheritScale = mInheritFlag & 2; + bool inheritOrientation = mInheritFlag & 4; + + mCurrent = Control::New(); + mCurrent.SetBackgroundColor(Color::RED); + mCurrent.SetProperty(Actor::Property::PARENT_ORIGIN, parentOrigin); + mCurrent.SetProperty(Actor::Property::ANCHOR_POINT, anchorPoint); + mCurrent.SetProperty(Actor::Property::SIZE, currentViewSize); + mCurrent.SetProperty(Actor::Property::POSITION, currentViewPosition); + mCurrent.SetProperty(Actor::Property::SCALE, currentViewScale); + + mCurrent.SetProperty(Actor::Property::INHERIT_POSITION, inheritPosition); + mCurrent.SetProperty(Actor::Property::INHERIT_SCALE, inheritScale); + mCurrent.SetProperty(Actor::Property::INHERIT_ORIENTATION, inheritOrientation); + + mParent.Add(mCurrent); + mWindow.Add(mParent); + + mAnimation = Animation::New(5.0f); + mAnimation.AnimateBy(Property(mParent, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360.0f)), Vector3::ZAXIS)); + mAnimation.AnimateBy(Property(mCurrent, Actor::Property::ORIENTATION), Quaternion(Radian(Degree(360.0f)), Vector3::ZAXIS)); + mAnimation.SetLooping(true); + mAnimation.PlayAfter(1.0f); // Play animation after world value printed + + mTimer = Timer::New(32); + mTimer.TickSignal().Connect(this, &InheritTestController::OnTickLableUpdate); + mTimer.Start(); + } + + bool OnTickLableUpdate() + { + UpdateLabelInfo(); + return false; + } + + void UpdateLabelInfo() + { + std::ostringstream oss; + + Vector2 parentViewSize = PARENT_VIEW_SIZE_LIST[mParentSizeIndex]; + Vector2 parentViewScale = PARENT_VIEW_SCALE_LIST[mParentScaleIndex]; + + Vector3 parentOrigin = PARENT_ORIGIN_LIST[mParentOriginIndex]; + Vector3 anchorPoint = ANCHOR_POINT_LIST[mAnchorPointIndex]; + Vector2 currentViewSize = CURRENT_VIEW_SIZE_LIST[mCurrentSizeIndex]; + Vector2 currentViewPosition = CURRENT_VIEW_POSITION_LIST[mCurrentPositionIndex]; + Vector2 currentViewScale = CURRENT_VIEW_SCALE_LIST[mCurrentScaleIndex]; + + Vector2 screenPositon = mCurrent.GetProperty(Actor::Property::SCREEN_POSITION); + Vector3 worldPosition = mCurrent.GetProperty(Actor::Property::WORLD_POSITION); + Vector3 worldScale = mCurrent.GetProperty(Actor::Property::WORLD_SCALE); + Quaternion worldOrientation = mCurrent.GetProperty(Actor::Property::WORLD_ORIENTATION); + + bool inheritPosition = mInheritFlag & 1; + bool inheritScale = mInheritFlag & 2; + bool inheritOrientation = mInheritFlag & 4; + + oss << "Inherit P S O : " << inheritPosition << " " << inheritScale << " " << inheritOrientation << "\n"; + oss << "screenPosition : " << screenPositon << "\n"; + oss << "\n"; + oss << "parentViewSize : " << parentViewSize << "\n"; + oss << "parentViewScale : " << parentViewScale << "\n"; + oss << "\n"; + oss << "parentOrigin : " << parentOrigin << "\n"; + oss << "anchorPoint : " << anchorPoint << "\n"; + oss << "currentViewSize : " << currentViewSize << "\n"; + oss << "currentViewPosition : " << currentViewPosition << "\n"; + oss << "currentViewScale : " << currentViewScale << "\n"; + oss << "\n"; + oss << "worldPosition : " << worldPosition << "\n"; + oss << "worldScale : " << worldScale << "\n"; + oss << "worldOrientation : " << worldOrientation << "\n"; + oss << "\n"; + oss << "Key 1 : Change flag\n"; + oss << "Key 2 : Change ParentView's Size\n"; + oss << "Key 3 : Change ParentView's Scale\n"; + oss << "Key 4 : Change CurrentView's ParentOrigin\n"; + oss << "Key 5 : Change CurrentView's AnchorPoint\n"; + oss << "Key 6 : Change CurrentView's Size\n"; + oss << "Key 7 : Change CurrentView's Position\n"; + oss << "Key 8 : Change CurrentView's Scale\n"; + + mTitle.SetProperty(TextLabel::Property::TEXT, oss.str()); + } + +private: + Application& mApplication; + Window mWindow; + TextLabel mTitle; + + Control mParent; + Control mCurrent; + + Timer mTimer; + Animation mAnimation; + + int mInheritFlag = 0; + + int mParentSizeIndex = 0; + int mParentScaleIndex = 0; + int mCurrentSizeIndex = 0; + int mCurrentPositionIndex = 0; + int mCurrentScaleIndex = 0; + int mParentOriginIndex = 0; + int mAnchorPointIndex = 0; +}; + +int DALI_EXPORT_API main(int argc, char** argv) +{ + Application application = Application::New(&argc, &argv); + InheritTestController test(application); + application.MainLoop(); + return 0; +} diff --git a/packaging/com.samsung.dali-demo.spec b/packaging/com.samsung.dali-demo.spec index bb91f77..724352f 100755 --- a/packaging/com.samsung.dali-demo.spec +++ b/packaging/com.samsung.dali-demo.spec @@ -2,7 +2,7 @@ Name: com.samsung.dali-demo Summary: The OpenGLES Canvas Core Demo -Version: 2.2.15 +Version: 2.2.16 Release: 1 Group: System/Libraries License: Apache-2.0 diff --git a/resources/po/as.po b/resources/po/as.po index 490dd05..695811e 100755 --- a/resources/po/as.po +++ b/resources/po/as.po @@ -61,6 +61,9 @@ msgstr "অনুবিম্ব Pixel Area" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "অনুবিম্ব SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "আইটেম দর্শন" diff --git a/resources/po/de.po b/resources/po/de.po index 5a794b0..757554b 100755 --- a/resources/po/de.po +++ b/resources/po/de.po @@ -61,6 +61,9 @@ msgstr "Bildansicht Pixelbereich" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "Bildansicht SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "Item-Ansicht" diff --git a/resources/po/en_GB.po b/resources/po/en_GB.po index 94aed08..3211603 100755 --- a/resources/po/en_GB.po +++ b/resources/po/en_GB.po @@ -124,6 +124,9 @@ msgstr "Image View Pixel Area" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "Image View SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "Item View" diff --git a/resources/po/en_US.po b/resources/po/en_US.po index 7b18947..a460366 100755 --- a/resources/po/en_US.po +++ b/resources/po/en_US.po @@ -133,6 +133,9 @@ msgstr "Image View SVG" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_URL" msgstr "Image View URL" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "Item View" diff --git a/resources/po/es.po b/resources/po/es.po index f4e77f8..5534fa7 100755 --- a/resources/po/es.po +++ b/resources/po/es.po @@ -61,6 +61,9 @@ msgstr "Control con imagenes con area de pixeles" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "Control con imagenes SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "Vista de elementos" diff --git a/resources/po/fi.po b/resources/po/fi.po index 08b06cd..4d9a97c 100755 --- a/resources/po/fi.po +++ b/resources/po/fi.po @@ -61,6 +61,9 @@ msgstr "Kuvanäkymän Pikselialue" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "SVG Kuvanäkymä" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "Esinenäkymä" diff --git a/resources/po/ko.po b/resources/po/ko.po index aafc98d..ce45799 100755 --- a/resources/po/ko.po +++ b/resources/po/ko.po @@ -79,6 +79,9 @@ msgstr "이미지 뷰 픽셀 영역" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "이미지 뷰 SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "속성 전파 테스트" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "아이템 뷰" diff --git a/resources/po/ml.po b/resources/po/ml.po index 2205dde..938bd7c 100755 --- a/resources/po/ml.po +++ b/resources/po/ml.po @@ -61,6 +61,9 @@ msgstr "സുതാര്യത ഉപയോഗിച്ച് ഇമേജ msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "ചിത്രം കാഴ്ച SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "ഇനം കാഴ്ച" diff --git a/resources/po/ur.po b/resources/po/ur.po index 55b296f..2e27873 100755 --- a/resources/po/ur.po +++ b/resources/po/ur.po @@ -61,6 +61,9 @@ msgstr "تصویر کنٹرول شفافیت کے ساتھ" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "تصویر کنٹرول SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "چیزوں کی فہرست" diff --git a/resources/po/zn_CH.po b/resources/po/zn_CH.po index 15af7d8..fa9b933 100755 --- a/resources/po/zn_CH.po +++ b/resources/po/zn_CH.po @@ -64,6 +64,9 @@ msgstr "图像视图像素区域" msgid "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG" msgstr "图像视图 SVG" +msgid "DALI_DEMO_STR_TITLE_INHERIT_TEST" +msgstr "Inherit Test" + msgid "DALI_DEMO_STR_TITLE_ITEM_VIEW" msgstr "项目视图" diff --git a/shared/dali-demo-strings.h b/shared/dali-demo-strings.h index bf174f5..da60352 100644 --- a/shared/dali-demo-strings.h +++ b/shared/dali-demo-strings.h @@ -82,6 +82,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_PIXEL_AREA dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_IMAGE_VIEW_PIXEL_AREA") #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG") #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_URL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_IMAGE_VIEW_URL") +#define DALI_DEMO_STR_TITLE_INHERIT_TEST dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_INHERIT_TEST") #define DALI_DEMO_STR_TITLE_ITEM_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_ITEM_VIEW") #define DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS") #define DALI_DEMO_STR_TITLE_LINE_MESH dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_LINE_MESH") @@ -195,6 +196,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_PIXEL_AREA "Image View Pixel Area" #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_SVG "Image View SVG" #define DALI_DEMO_STR_TITLE_IMAGE_VIEW_URL "Image View URL" +#define DALI_DEMO_STR_TITLE_INHERIT_TEST "Inherit Test" #define DALI_DEMO_STR_TITLE_ITEM_VIEW "Item View" #define DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS "Lights and shadows" #define DALI_DEMO_STR_TITLE_LINE_MESH "Mesh Line" diff --git a/tests-reel/dali-tests-reel.cpp b/tests-reel/dali-tests-reel.cpp index e5ca014..fd5d680 100644 --- a/tests-reel/dali-tests-reel.cpp +++ b/tests-reel/dali-tests-reel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 Samsung Electronics Co., Ltd. + * Copyright (c) 2023 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,6 +41,7 @@ int DALI_EXPORT_API main(int argc, char** argv) demo.AddExample(Example("camera-test.example", DALI_DEMO_STR_TITLE_CAMERA_TEST)); demo.AddExample(Example("compressed-texture-formats.example", DALI_DEMO_STR_TITLE_COMPRESSED_TEXTURE_FORMATS)); demo.AddExample(Example("homescreen-benchmark.example", DALI_DEMO_STR_TITLE_HOMESCREEN)); + demo.AddExample(Example("inherit-test.example", DALI_DEMO_STR_TITLE_INHERIT_TEST)); demo.AddExample(Example("pre-render-callback.example", DALI_DEMO_STR_TITLE_PRE_RENDER_CALLBACK)); demo.AddExample(Example("perf-scroll.example", DALI_DEMO_STR_TITLE_PERF_SCROLL)); demo.AddExample(Example("perf-view-creation.example", DALI_DEMO_STR_TITLE_PERF_VIEW_CREATION));