diff --git a/com.samsung.dali-demo.xml b/com.samsung.dali-demo.xml index e26f63a..e2c2d7f 100644 --- a/com.samsung.dali-demo.xml +++ b/com.samsung.dali-demo.xml @@ -200,4 +200,19 @@ + + + + + + + + + + + + + + + diff --git a/examples-reel/dali-examples-reel.cpp b/examples-reel/dali-examples-reel.cpp index 0576b07..c90a3e6 100644 --- a/examples-reel/dali-examples-reel.cpp +++ b/examples-reel/dali-examples-reel.cpp @@ -67,6 +67,7 @@ int DALI_EXPORT_API main(int argc, char **argv) demo.AddExample(Example("rendering-triangle.example", DALI_DEMO_STR_TITLE_RENDERING_DRAW_TRIANGLE)); demo.AddExample(Example("rendering-cube.example", DALI_DEMO_STR_TITLE_RENDERING_DRAW_CUBE)); demo.AddExample(Example("rendering-textured-cube.example", DALI_DEMO_STR_TITLE_RENDERING_TEXTURED_CUBE)); + demo.AddExample(Example("rendering-radial-progress.example", DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS)); demo.AddExample(Example("scroll-view.example", DALI_DEMO_STR_TITLE_SCROLL_VIEW)); demo.AddExample(Example("size-negotiation.example", DALI_DEMO_STR_TITLE_NEGOTIATE_SIZE)); demo.AddExample(Example("styling.example", DALI_DEMO_STR_TITLE_STYLING)); diff --git a/examples/rendering-radial-progress/radial-progress.cpp b/examples/rendering-radial-progress/radial-progress.cpp new file mode 100644 index 0000000..69d6e46 --- /dev/null +++ b/examples/rendering-radial-progress/radial-progress.cpp @@ -0,0 +1,309 @@ +/* + * Copyright (c) 2017 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; + +namespace // unnamed namespace +{ + +const char* TEXTURE_URL = DEMO_IMAGE_DIR "RadialEffect-280x280.png"; +const unsigned int TEXTURE_WIDTH = 280; +const unsigned int TEXTURE_HEIGHT = 280; + +const int NUMBER_OF_SIDES( 64 ); // number of sides of the polygon used as a stencil +const float INITIAL_DELAY( 2.0f ); // initial delay before showing the circle +const float PROGRESS_DURATION( 0.5f ); // number of seconds to fully show the circle + + +/* + * Vertex shader for textured quad + */ +const char* VERTEX_SHADER_TEXTURED = DALI_COMPOSE_SHADER( +attribute mediump vec2 aPosition;\n +uniform mediump mat4 uMvpMatrix;\n // DALi shader builtin +uniform mediump vec3 uSize;\n // DALi shader builtin +\n +varying mediump vec2 vTexCoord;\n +void main()\n +{\n + mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);\n + vertexPosition.xyz *= uSize;\n + vTexCoord = vec2(1.0, 1.0)*(aPosition + vec2(0.5) );\n + gl_Position = uMvpMatrix * vertexPosition;\n +}\n +); + +/* + * Fragment shaderfor textured quad + */ +const char* FRAGMENT_SHADER_TEXTURED = DALI_COMPOSE_SHADER( +uniform sampler2D uTexture;\n +\n +varying mediump vec2 vTexCoord;\n +void main()\n +{\n + mediump vec4 texColor = texture2D( uTexture, vTexCoord );\n + gl_FragColor = texColor;\n +}\n +); + +/* + * Vertex shader for polygon + */ +const char* VERTEX_SHADER_BASIC = DALI_COMPOSE_SHADER( +attribute mediump vec3 aPosition;\n +uniform mediump mat4 uMvpMatrix;\n // DALi shader builtin +uniform mediump vec3 uSize;\n // DALi shader builtin +uniform mediump float uProgress;\n +\n +varying mediump vec2 vTexCoord;\n +void main()\n +{\n + mediump vec4 vertexPosition = vec4(aPosition.x, aPosition.y, 0.0, 1.0);\n +\n + float index = aPosition.z;\n + if( uProgress < index )\n + {\n + vertexPosition = vec4(0.0, 0.0, 0.0, 1.0);\n + }\n +\n + vertexPosition.xyz *= uSize;\n + gl_Position = uMvpMatrix * vertexPosition;\n +}\n +); + +/* + * Fragment shader for polygon + */ +const char* FRAGMENT_SHADER_BASIC = DALI_COMPOSE_SHADER( + +void main()\n +{\n + gl_FragColor = vec4( 1.0, 1.0, 1.0, 1.0 );\n +}\n +); + +} // unnamed namespace + + +// This example shows how to render a radial progress indicator +// +class RadialProgressController : public ConnectionTracker +{ +public: + + RadialProgressController( Application& application ) + : mApplication( application ) + { + // Connect to the Application's Init signal + mApplication.InitSignal().Connect( this, &RadialProgressController::Create ); + } + + ~RadialProgressController() + { + // Nothing to do here + } + + // The Init signal is received once (only) during the Application lifetime + void Create( Application& application ) + { + Stage stage = Stage::GetCurrent(); + stage.SetBackgroundColor( Color::BLACK ); + + // 1. Create actor to show the effect + mActor = Actor::New(); + mActor.SetAnchorPoint( AnchorPoint::CENTER ); + mActor.SetParentOrigin( ParentOrigin::CENTER ); + mActor.SetSize( Vector2( TEXTURE_WIDTH, TEXTURE_HEIGHT ) ); + mActor.RegisterProperty("uProgress", float(1.0f) ); + stage.Add( mActor ); + + // 1. Create stencil renderer i.e. a triangle fan in the shape of a circle + Renderer stencilRenderer = CreatePolygon( NUMBER_OF_SIDES ); + mActor.AddRenderer( stencilRenderer ); + + // 2. Create textured quad renderer + Renderer texturedQuad = CreateTexturedQuad( TEXTURE_URL ); + mActor.AddRenderer( texturedQuad ); + + // 5. Animate the progress uniform + Animation animation = Animation::New( PROGRESS_DURATION + INITIAL_DELAY ); + animation.AnimateTo( Property(mActor,"uProgress"), float(NUMBER_OF_SIDES+1), TimePeriod(INITIAL_DELAY, PROGRESS_DURATION) ); + animation.Play(); + + // 6. Exit the application when touched + stage.GetRootLayer().TouchSignal().Connect( this, &RadialProgressController::OnTouch ); + } + + bool OnTouch( Actor actor, const TouchData& touch ) + { + // quit the application + mApplication.Quit(); + return true; + } + + /** + * Generates stencil mask geometry. Geometry is rendered as + * a triangle fan and occupies square 2.0x2.0. + * @param[in] numberOfSides The more subdivisions the more smooth mask animation. + */ + Renderer CreatePolygon( unsigned int numberOfSides ) + { + float count( numberOfSides ); + + // compute radial step in radians + const float STEP( (2.0f * M_PI) / count ); + float angle( 0.0f ); + + std::vector< Vector3 > vertices; + vertices.push_back( Vector3::ZERO ); + + for( size_t i = 0; i <= numberOfSides; ++i ) + { + vertices.push_back( Vector3( -0.5f * cos( angle ), -0.5f * sin( angle ), i+1 ) ); + angle += STEP; + } + + Property::Map vertexFormat; + vertexFormat[ "aPosition" ] = Property::VECTOR3; + + // describe vertex format ( only 2-dimensional positions ) + PropertyBuffer vertexBuffer = PropertyBuffer::New( vertexFormat ); + vertexBuffer.SetData( vertices.data(), vertices.size() ); + + // create geometry + Geometry geometry = Geometry::New(); + geometry.AddVertexBuffer( vertexBuffer ); + geometry.SetType( Geometry::TRIANGLE_FAN ); + + Shader shader = Shader::New( VERTEX_SHADER_BASIC, FRAGMENT_SHADER_BASIC ); + Renderer renderer = Renderer::New( geometry, shader ); + + // Setting stencil data. We don't want to render to the color buffer so + // with use of RenderMode property we specify that only stencil buffer will + // be affected. + renderer.SetProperty( Renderer::Property::RENDER_MODE, RenderMode::STENCIL ); + + // Set stencil function + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION, StencilFunction::ALWAYS ); + + // Stencil function reference + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION_REFERENCE, 1 ); + + // Stencil function mask + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION_MASK, 0xFF ); + + // Set stencil operations + renderer.SetProperty( Renderer::Property::STENCIL_OPERATION_ON_FAIL, StencilOperation::KEEP ); + renderer.SetProperty( Renderer::Property::STENCIL_OPERATION_ON_Z_FAIL, StencilOperation::KEEP ); + renderer.SetProperty( Renderer::Property::STENCIL_OPERATION_ON_Z_PASS, StencilOperation::REPLACE ); + + // Stencil mask to write + renderer.SetProperty( Renderer::Property::STENCIL_MASK, 0xFF ); + + // Set depth index lower than textured quad renderer, so stencil will render first + renderer.SetProperty( Renderer::Property::DEPTH_INDEX, 1 ); + + return renderer; + } + + /** + * Creates textured quad renderer + */ + Renderer CreateTexturedQuad( const char* url ) + { + // Create shader & geometry needed by Renderer + + Shader shader = Shader::New( VERTEX_SHADER_TEXTURED, FRAGMENT_SHADER_TEXTURED ); + + Property::Map vertexFormat; + vertexFormat["aPosition"] = Property::VECTOR2; + PropertyBuffer vertexBuffer = PropertyBuffer::New( vertexFormat ); + + const float P( 0.5f ); + const Vector2 vertices[] = { + Vector2( -P, -P ), + Vector2( +P, -P ), + Vector2( -P, +P ), + Vector2( +P, +P ) + }; + + vertexBuffer.SetData( vertices, 4 ); + + // Instantiate quad geometry + Geometry geometry = Geometry::New(); + geometry.AddVertexBuffer( vertexBuffer ); + geometry.SetType( Geometry::TRIANGLE_STRIP ); + + // Load texture + PixelData pixelData = Toolkit::SyncImageLoader::Load( url ); + Texture texture = Texture::New( TextureType::TEXTURE_2D, pixelData.GetPixelFormat(), pixelData.GetWidth(), pixelData.GetHeight() ); + texture.Upload( pixelData ); + texture.GenerateMipmaps(); + + // Create texture set + TextureSet textureSet = TextureSet::New(); + textureSet.SetTexture( 0, texture ); + + // Create renderer + Renderer renderer = Renderer::New( geometry, shader ); + renderer.SetTextures( textureSet ); + + // Set mode indicating we will use both stencil and color buffers + renderer.SetProperty( Renderer::Property::RENDER_MODE, RenderMode::COLOR_STENCIL ); + + // Stencil function - expecing drawing only when function mask matches exactly + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION, StencilFunction::EQUAL ); + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION_REFERENCE, 1 ); + renderer.SetProperty( Renderer::Property::STENCIL_FUNCTION_MASK, 0xFF ); + + // We don't want to draw to the stencil, so setting stencil draw mask to 0 + renderer.SetProperty( Renderer::Property::STENCIL_MASK, 0x00 ); + + // Make sure the quad will render after drawing to stencil buffer + renderer.SetProperty( Renderer::Property::DEPTH_INDEX, 2 ); + + return renderer; + } + +private: + + Application& mApplication; + + Actor mActor; +}; + +void RunTest( Application& application ) +{ + RadialProgressController test( application ); + + application.MainLoop(); +} + +// Entry point for Linux & Tizen applications +// +int DALI_EXPORT_API main( int argc, char **argv ) +{ + Application application = Application::New( &argc, &argv ); + + RunTest( application ); + + return 0; +} diff --git a/examples/text-scrolling/text-scrolling-example.cpp b/examples/text-scrolling/text-scrolling-example.cpp index ef0bcb0..66a358b 100644 --- a/examples/text-scrolling/text-scrolling-example.cpp +++ b/examples/text-scrolling/text-scrolling-example.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -22,13 +22,13 @@ // EXTERNAL INCLUDES #include +#include using namespace Dali; using namespace Dali::Toolkit; namespace { -const char* DESKTOP_IMAGE( DEMO_IMAGE_DIR "woodEffect.jpg" ); const Vector2 DESKTOP_SIZE( Vector2( 1440.f, 1600.f ) ); const Vector2 BOX_SIZE( Vector2(330.0f, 80.0f ) ); const Vector2 SCROLLING_BOX_SIZE( Vector2(330.0f, 40.0f ) ); @@ -54,7 +54,8 @@ public: TextScrollingExample( Application& application ) : mApplication( application ), mTargetActorPosition(), - mTargetActorSize() + mTargetActorSize(), + mToggleColor( false ) { // Connect to the Application's Init signal mApplication.InitSignal().Connect( this, &TextScrollingExample::Create ); @@ -78,7 +79,7 @@ public: Dali::Property::Map border; border.Insert( Visual::Property::TYPE, Visual::BORDER ); - border.Insert( BorderVisual::Property::COLOR, Color::WHITE ); + border.Insert( BorderVisual::Property::COLOR, Color::BLUE ); border.Insert( BorderVisual::Property::SIZE, 1.f ); box.SetProperty( Control::Property::BACKGROUND, border ); } @@ -125,14 +126,13 @@ public: stage.Add( rootActor ); + mAnimation = Animation::New( 1.0f ); + const Size mTargetActorSize( mStageSize.width, DESKTOP_SIZE.height ); // Create Desktop - ImageView desktop = ImageView::New(); - Property::Map imageMap; - imageMap[ "url" ] = DESKTOP_IMAGE; - imageMap[ "synchronousLoading" ] = true; - desktop.SetProperty( ImageView::Property::IMAGE, imageMap ); + Control desktop = Control::New(); + desktop.SetBackgroundColor( Color::WHITE ); desktop.SetName("desktopActor"); desktop.SetAnchorPoint( AnchorPoint::TOP_LEFT ); desktop.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); @@ -172,9 +172,9 @@ public: Toolkit::PushButton scrollSmallButton = Toolkit::PushButton::New(); scrollSmallButton.ClickedSignal().Connect( this, &TextScrollingExample::OnButtonClickedSmall ); CreateLabel( mSmallLabel, "A Quick Brown Fox", boxC , true, scrollSmallButton ); - mSmallLabel.SetProperty( TextLabel::Property::TEXT_COLOR, Color::WHITE ); + mSmallLabel.SetProperty( TextLabel::Property::TEXT_COLOR, Color::BLACK ); mSmallLabel.SetProperty( TextLabel::Property::SHADOW_OFFSET, Vector2( 1.0f, 1.0f ) ); - mSmallLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::BLACK ); + mSmallLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::CYAN ); CreateBox( "boxD", boxD, desktop, SCROLLING_BOX_SIZE ); boxD.SetPosition( 0.0f, -200.0f, 1.0f ); @@ -186,12 +186,25 @@ public: boxE.SetPosition( 0.0f, -100.0f, 1.0f ); Toolkit::PushButton scrollRtlLongButton = Toolkit::PushButton::New(); scrollRtlLongButton.ClickedSignal().Connect( this, &TextScrollingExample::OnButtonClickedRtlLong ); - CreateLabel( mRtlLongLabel, " مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم", boxE , false, scrollRtlLongButton ); - + CreateLabel( mRtlLongLabel, " مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم مرحبا بالعالم", boxE , false, scrollRtlLongButton ); + mRtlLongLabel.SetProperty(TextLabel::Property::AUTO_SCROLL_SPEED, 500); + mRtlLongLabel.SetProperty(TextLabel::Property::AUTO_SCROLL_GAP, 500); + mRtlLongLabel.SetProperty(TextLabel::Property::AUTO_SCROLL_LOOP_COUNT, 3); mPanGestureDetector = PanGestureDetector::New(); mPanGestureDetector.DetectedSignal().Connect(this, &TextScrollingExample::OnPanGesture ); mPanGestureDetector.Attach( desktop ); + + Toolkit::PushButton colorButton = Toolkit::PushButton::New(); + colorButton.SetProperty( Button::Property::TOGGLABLE, true ); + colorButton.SetProperty( DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, Property::Map().Add ( Visual::Property::TYPE, Visual::COLOR ).Add( ColorVisual::Property::MIX_COLOR, Color::RED ) ); + colorButton.SetProperty( DevelButton::Property::SELECTED_BACKGROUND_VISUAL, Property::Map().Add ( Visual::Property::TYPE, Visual::COLOR ).Add( ColorVisual::Property::MIX_COLOR, Color::BLACK ) ); + colorButton.SetAnchorPoint( AnchorPoint::BOTTOM_CENTER ); + colorButton.SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); + colorButton.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); + colorButton.SetSize(BOX_SIZE.height,BOX_SIZE.height); + colorButton.ClickedSignal().Connect( this, &TextScrollingExample::OnColorButtonClicked ); + rootActor.Add( colorButton ); } void EnableScrolling( Labels labels ) @@ -263,6 +276,28 @@ public: return true; } + bool OnColorButtonClicked( Toolkit::Button button ) + { + Vector4 color = Color::RED; + + if ( mToggleColor ) + { + color = Color::BLACK; + mToggleColor = false; + } + else + { + mToggleColor = true; + } + + mSmallLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, Color::BLACK ); + mSmallLabel.SetProperty( TextLabel::Property::TEXT_COLOR, color ); + mLargeLabel.SetProperty( TextLabel::Property::TEXT_COLOR, color ); + mRtlLongLabel.SetProperty( TextLabel::Property::TEXT_COLOR, color ); + + return true; + } + /** * Main key event handler */ @@ -274,6 +309,18 @@ public: { mApplication.Quit(); } + else + { + if ( event.keyPressedName == "2" ) + { + mAnimation.AnimateTo( Property( mSmallLabel, Actor::Property::SCALE ), Vector3(1.2f, 1.2f, 0.0f), AlphaFunction::BOUNCE, TimePeriod( 1.0f, 1.0f ) ); + mAnimation.AnimateTo( Property( mLargeLabel, Actor::Property::SCALE ), Vector3(1.2f, 1.2f, 0.0f), AlphaFunction::BOUNCE, TimePeriod( 1.0f, 1.0f ) ); + mAnimation.AnimateTo( Property( mRtlLabel, Actor::Property::SCALE ), Vector3(1.2f, 1.2f, 0.0f), AlphaFunction::BOUNCE, TimePeriod( 1.0f, 1.0f ) ); + mAnimation.AnimateTo( Property( mRtlLongLabel, Actor::Property::SCALE ), Vector3(1.2f, 1.2f, 0.0f), AlphaFunction::BOUNCE, TimePeriod( 1.0f, 1.0f ) ); + + mAnimation.Play(); + } + } } } @@ -302,6 +349,10 @@ private: TextLabel mSmallLabel; TextLabel mRtlLabel; TextLabel mRtlLongLabel; + + Animation mAnimation; + + bool mToggleColor; }; void RunTest( Application& application ) diff --git a/packaging/com.samsung.dali-demo.spec b/packaging/com.samsung.dali-demo.spec index 2098463..80a4734 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: 1.2.33 +Version: 1.2.34 Release: 1 Group: System/Libraries License: Apache-2.0 diff --git a/resources/images/RadialEffect-280x280.png b/resources/images/RadialEffect-280x280.png new file mode 100644 index 0000000..b3423da --- /dev/null +++ b/resources/images/RadialEffect-280x280.png diff --git a/resources/po/as.po b/resources/po/as.po index 62e9c3f..6362f00 100755 --- a/resources/po/as.po +++ b/resources/po/as.po @@ -159,3 +159,6 @@ msgstr "ৰেণ্ডাৰিং ত্ৰিকোণমিতি" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "ৰেণ্ডাৰিং শাৰী" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "রশ্মীয় অগ্রগতি অঙ্কন" diff --git a/resources/po/de.po b/resources/po/de.po index fb5a408..7a3b2e6 100755 --- a/resources/po/de.po +++ b/resources/po/de.po @@ -159,3 +159,6 @@ msgstr "Dreieck zeichnen" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "Zeichnen" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "Radialer Fortschritt zeichnen" diff --git a/resources/po/en_GB.po b/resources/po/en_GB.po index ed2233a..2666db5 100755 --- a/resources/po/en_GB.po +++ b/resources/po/en_GB.po @@ -171,3 +171,6 @@ msgstr "Draw line" msgid "DALI_DEMO_STR_TITLE_FOCUS_INTEGRATION" msgstr "Focus integration" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "Draw radial progress" diff --git a/resources/po/en_US.po b/resources/po/en_US.po index cc16c77..8ff3daf 100755 --- a/resources/po/en_US.po +++ b/resources/po/en_US.po @@ -171,3 +171,6 @@ msgstr "Draw line" msgid "DALI_DEMO_STR_TITLE_FOCUS_INTEGRATION" msgstr "Focus integration" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "Draw radial progress" diff --git a/resources/po/es.po b/resources/po/es.po index 6f89f16..0599171 100755 --- a/resources/po/es.po +++ b/resources/po/es.po @@ -159,3 +159,6 @@ msgstr "Dibujar triángulo" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "Dibujar linea" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "Dibujo progreso radial" diff --git a/resources/po/fi.po b/resources/po/fi.po index d27c376..a8aee6b 100755 --- a/resources/po/fi.po +++ b/resources/po/fi.po @@ -159,3 +159,6 @@ msgstr "Piirrä kolmio" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "Draw linja" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "Piirustus radial edistyminen" diff --git a/resources/po/ko.po b/resources/po/ko.po index 73c953d..013d159 100755 --- a/resources/po/ko.po +++ b/resources/po/ko.po @@ -159,3 +159,6 @@ msgstr "삼각형 그리기" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "선 그리기" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "방사형 진행 상황 그리기" diff --git a/resources/po/ml.po b/resources/po/ml.po index 2d6be55..2e47b4b 100755 --- a/resources/po/ml.po +++ b/resources/po/ml.po @@ -159,3 +159,6 @@ msgstr "ത്രികോണം വരയ്ക്കുക" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "സമനില ലൈൻ" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "റേഡിയൽ പുരോഗതി ഡ്രോയിംഗ്" diff --git a/resources/po/ur.po b/resources/po/ur.po index 212d7ad..d89d346 100755 --- a/resources/po/ur.po +++ b/resources/po/ur.po @@ -159,3 +159,6 @@ msgstr "ارڈ ثلثم " msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "انچنیھک ریکل " + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "ریڈیل پیش رفت ڈرائنگ" diff --git a/resources/po/zn_CH.po b/resources/po/zn_CH.po index 5664c1d..548987a 100755 --- a/resources/po/zn_CH.po +++ b/resources/po/zn_CH.po @@ -159,3 +159,6 @@ msgstr "绘制三角形" msgid "DALI_DEMO_STR_TITLE_RENDERING_DRAW_LINE" msgstr "画线" + +msgid "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS" +msgstr "绘制径向进度" diff --git a/shared/dali-demo-strings.h b/shared/dali-demo-strings.h index fc182de..d6c9da6 100644 --- a/shared/dali-demo-strings.h +++ b/shared/dali-demo-strings.h @@ -73,6 +73,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_RENDERING_DRAW_TRIANGLE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_DRAW_TRIANGLE") #define DALI_DEMO_STR_TITLE_RENDERING_DRAW_CUBE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_DRAW_CUBE") #define DALI_DEMO_STR_TITLE_RENDERING_TEXTURED_CUBE dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_TEXTURED_CUBE") +#define DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS") #define DALI_DEMO_STR_TITLE_REFRACTION dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_REFRACTION") #define DALI_DEMO_STR_TITLE_RENDERER_STENCIL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERER_STENCIL") #define DALI_DEMO_STR_TITLE_SIMPLE_VISUALS_CONTROL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SIMPLE_VISUALS") @@ -133,6 +134,7 @@ extern "C" #define DALI_DEMO_STR_TITLE_RENDERING_DRAW_TRIANGLE "Draw Triangle" #define DALI_DEMO_STR_TITLE_RENDERING_DRAW_CUBE "Draw Cube" #define DALI_DEMO_STR_TITLE_RENDERING_TEXTURED_CUBE "Textured Cube" +#define DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS "Radial Progress" #define DALI_DEMO_STR_TITLE_REFRACTION "Refract Effect" #define DALI_DEMO_STR_TITLE_RENDERER_STENCIL "Renderer Stencils" #define DALI_DEMO_STR_TITLE_SIMPLE_VISUALS_CONTROL "Simple Visuals Control"