Merge "Updated demos to remove indicator where appropriate" into devel/master
[platform/core/uifw/dali-demo.git] / examples / image-scaling-and-filtering / image-scaling-and-filtering-example.cpp
index c94c042..7cdc4a6 100644 (file)
@@ -27,18 +27,18 @@ using Toolkit::TextLabel;
 namespace
 {
 
-const char* BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-gradient.jpg" );
+const char* BACKGROUND_IMAGE( DEMO_IMAGE_DIR "background-gradient.jpg" );
 const Vector4 BACKGROUND_COLOUR( 1.0f, 1.0f, 1.0f, 0.15f );
 
-const char* BORDER_IMAGE( DALI_IMAGE_DIR "border-4px.9.png" );
+const char* BORDER_IMAGE( DEMO_IMAGE_DIR "border-4px.9.png" );
 const int BORDER_WIDTH = ( 11.0f + 4.0f ); // Shadow size = 11, border size = 4.
-const char* RESIZE_HANDLE_IMAGE( DALI_IMAGE_DIR "resize-handle.png" );
+const char* RESIZE_HANDLE_IMAGE( DEMO_IMAGE_DIR "resize-handle.png" );
 
 const int MARGIN_SIZE = 10;
 
 const char* const NEXT_BUTTON_ID = "NEXT_BUTTON";
 const char* const PREVIOUS_BUTTON_ID = "PREVIOUS_BUTTON";
-const char * const DALI_ICON_PLAY = DALI_IMAGE_DIR "icon-play.png";
+const char * const DALI_ICON_PLAY = DEMO_IMAGE_DIR "icon-play.png";
 
 const char* const FITTING_BUTTON_ID = "FITTING_BUTTON";
 const char* const SAMPLING_BUTTON_ID = "SAMPLING_BUTTON";
@@ -52,29 +52,29 @@ const char* const STYLE_BUTTON_TEXT = "buttonlabel";
 const char* IMAGE_PATHS[] =
 {
   // Variety of sizes, shapes and formats:
-  DALI_IMAGE_DIR "dali-logo.png",
-  DALI_IMAGE_DIR "layer1.png",
-  DALI_IMAGE_DIR "layer2.png",
-  DALI_IMAGE_DIR "animation-list.png",
-  DALI_IMAGE_DIR "music-libray-main-screen.png",
-  DALI_IMAGE_DIR "music-libray-record-cover.png",
-  DALI_IMAGE_DIR "contacts-background.png",
-  DALI_IMAGE_DIR "portrait_screen_primitive_shapes.gif",
-  DALI_IMAGE_DIR "landscape_screen_primitive_shapes.gif",
-  DALI_IMAGE_DIR "square_primitive_shapes.bmp",
-  DALI_IMAGE_DIR "gallery-large-14.jpg",
-  DALI_IMAGE_DIR "book-landscape-cover.jpg",
-  DALI_IMAGE_DIR "book-portrait-p1.jpg",
-  DALI_IMAGE_DIR "book-landscape-cover-back.jpg",
+  DEMO_IMAGE_DIR "dali-logo.png",
+  DEMO_IMAGE_DIR "layer1.png",
+  DEMO_IMAGE_DIR "layer2.png",
+  DEMO_IMAGE_DIR "animation-list.png",
+  DEMO_IMAGE_DIR "music-libray-main-screen.png",
+  DEMO_IMAGE_DIR "music-libray-record-cover.png",
+  DEMO_IMAGE_DIR "contacts-background.png",
+  DEMO_IMAGE_DIR "portrait_screen_primitive_shapes.gif",
+  DEMO_IMAGE_DIR "landscape_screen_primitive_shapes.gif",
+  DEMO_IMAGE_DIR "square_primitive_shapes.bmp",
+  DEMO_IMAGE_DIR "gallery-large-14.jpg",
+  DEMO_IMAGE_DIR "book-landscape-cover.jpg",
+  DEMO_IMAGE_DIR "book-portrait-p1.jpg",
+  DEMO_IMAGE_DIR "book-landscape-cover-back.jpg",
 
   // Worst case for aliasing in downscaling, 2k x 2k 1 bit per pixel dithered
   // black and white image:
-  DALI_IMAGE_DIR "gallery-large-14.wbmp",
+  DEMO_IMAGE_DIR "gallery-large-14.wbmp",
 
-  DALI_IMAGE_DIR "background-1.jpg",
-  DALI_IMAGE_DIR "background-blocks.jpg",
-  DALI_IMAGE_DIR "background-magnifier.jpg",
-  DALI_IMAGE_DIR "gallery-large-14.jpg",
+  DEMO_IMAGE_DIR "background-1.jpg",
+  DEMO_IMAGE_DIR "background-blocks.jpg",
+  DEMO_IMAGE_DIR "background-magnifier.jpg",
+  DEMO_IMAGE_DIR "gallery-large-14.jpg",
   NULL
 };
 const int NUM_IMAGE_PATHS = sizeof(IMAGE_PATHS) / sizeof(IMAGE_PATHS[0]) - 1u;
@@ -175,14 +175,17 @@ public:
     // Get a handle to the stage
     Stage stage = Stage::GetCurrent();
 
+    // Hide the indicator bar
+    application.GetWindow().ShowIndicator( Dali::Window::INVISIBLE );
+
     // Background image:
     Dali::Property::Map backgroundImage;
-    backgroundImage.Insert( "rendererType",  "imageRenderer" );
-    backgroundImage.Insert( "imageUrl",  BACKGROUND_IMAGE );
-    backgroundImage.Insert( "imageDesiredWidth",   stage.GetSize().width );
-    backgroundImage.Insert( "imageDesiredHeight",   stage.GetSize().height );
-    backgroundImage.Insert( "imageFittingMode",   "scaleToFill" );
-    backgroundImage.Insert( "imageSamplingMode",   "boxThenNearest" );
+    backgroundImage.Insert( Toolkit::Visual::Property::TYPE,  Toolkit::Visual::IMAGE );
+    backgroundImage.Insert( Toolkit::ImageVisual::Property::URL,  BACKGROUND_IMAGE );
+    backgroundImage.Insert( Toolkit::ImageVisual::Property::DESIRED_WIDTH, stage.GetSize().width );
+    backgroundImage.Insert( Toolkit::ImageVisual::Property::DESIRED_HEIGHT, stage.GetSize().height );
+    backgroundImage.Insert( Toolkit::ImageVisual::Property::FITTING_MODE,   FittingMode::SCALE_TO_FILL );
+    backgroundImage.Insert( Toolkit::ImageVisual::Property::SAMPLING_MODE,   SamplingMode::BOX_THEN_NEAREST );
 
     Toolkit::ImageView background = Toolkit::ImageView::New();
     background.SetProperty( Toolkit::ImageView::Property::IMAGE, backgroundImage );
@@ -284,8 +287,7 @@ public:
 
     // Back and next image buttons in corners of stage:
     unsigned int playWidth = std::min( stage.GetSize().x * (1 / 5.0f), 58.0f );
-    Image playImage = ResourceImage::New( DALI_ICON_PLAY, ImageDimensions( playWidth, playWidth ), FittingMode::SHRINK_TO_FIT, SamplingMode::BOX_THEN_LINEAR );
-    Toolkit::ImageView imagePrevious = Toolkit::ImageView::New( playImage );
+    Toolkit::ImageView imagePrevious = Toolkit::ImageView::New( DALI_ICON_PLAY, ImageDimensions( playWidth, playWidth ) );
 
     // Last image button:
     imagePrevious.SetAnchorPoint( AnchorPoint::TOP_LEFT );
@@ -295,17 +297,17 @@ public:
     imagePrevious.SetOpacity( 0.6f );
     controlsLayer.Add( imagePrevious );
     imagePrevious.SetName( PREVIOUS_BUTTON_ID );
-    imagePrevious.TouchedSignal().Connect( this, &ImageScalingAndFilteringController::OnControlTouched );
+    imagePrevious.TouchSignal().Connect( this, &ImageScalingAndFilteringController::OnControlTouched );
 
     // Next image button:
-    Toolkit::ImageView imageNext = Toolkit::ImageView::New( playImage );
+    Toolkit::ImageView imageNext = Toolkit::ImageView::New( DALI_ICON_PLAY, ImageDimensions( playWidth, playWidth ) );
     imageNext.SetAnchorPoint( AnchorPoint::TOP_RIGHT );
     imageNext.SetY( playWidth * 0.5f );
     imageNext.SetX( stage.GetSize().x - playWidth * 0.5f );
     imageNext.SetOpacity( 0.6f );
     controlsLayer.Add( imageNext );
     imageNext.SetName( NEXT_BUTTON_ID );
-    imageNext.TouchedSignal().Connect( this, &ImageScalingAndFilteringController::OnControlTouched );
+    imageNext.TouchSignal().Connect( this, &ImageScalingAndFilteringController::OnControlTouched );
 
     // Buttons to popup selectors for fitting and sampling modes:
 
@@ -535,14 +537,13 @@ public:
     }
   }
 
-  bool OnControlTouched( Actor actor, const TouchEvent& event )
+  bool OnControlTouched( Actor actor, const TouchData& event )
   {
     if(event.GetPointCount() > 0)
     {
-      const TouchPoint& point = event.GetPoint(0);
-      switch(point.state)
+      switch( event.GetState( 0 ) )
       {
-        case TouchPoint::Up:
+        case PointState::UP:
         {
           const std::string & name = actor.GetName();
           if( name == NEXT_BUTTON_ID )
@@ -759,9 +760,9 @@ void RunTest( Application& application )
 }
 
 // Entry point for Linux & Tizen applications
-int main( int argc, char **argv )
+int DALI_EXPORT_API main( int argc, char **argv )
 {
-  Application application = Application::New( &argc, &argv, DALI_DEMO_THEME_PATH );
+  Application application = Application::New( &argc, &argv, DEMO_THEME_PATH );
 
   RunTest( application );