From: Seungho, Baek Date: Tue, 16 Jun 2020 09:48:27 +0000 (+0900) Subject: Support WebP format X-Git-Tag: dali_1.9.18~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F42%2F236342%2F5;p=platform%2Fcore%2Fuifw%2Fdali-demo.git Support WebP format - Added webp in cmakelists.txt to copy webp resource - Changed one of gif image to webp in animated-image-example Change-Id: I59726a7a436badffc154a29d4ac29542b1d2629a Signed-off-by: Seungho, Baek --- diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 473ac76..9b45bb0 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -101,18 +101,19 @@ ENDIF() SET(DEMO_EXAMPLE_BIN \\"${BINDIR}/\\") SET(DEMO_LANG \\"${LANG}\\") -FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png") -FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg") -FILE(GLOB LOCAL_IMAGES_GIF RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.gif") -FILE(GLOB LOCAL_IMAGES_BMP RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.bmp") -FILE(GLOB LOCAL_IMAGES_ICO RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.ico") -FILE(GLOB LOCAL_IMAGES_WBMP RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.wbmp") -FILE(GLOB LOCAL_IMAGES_KTX RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.ktx") -FILE(GLOB LOCAL_IMAGES_ASTC RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.astc") -FILE(GLOB LOCAL_IMAGES_SVG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.svg") +FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png") +FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg") +FILE(GLOB LOCAL_IMAGES_GIF RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.gif") +FILE(GLOB LOCAL_IMAGES_WEBP RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.webp") +FILE(GLOB LOCAL_IMAGES_BMP RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.bmp") +FILE(GLOB LOCAL_IMAGES_ICO RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.ico") +FILE(GLOB LOCAL_IMAGES_WBMP RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.wbmp") +FILE(GLOB LOCAL_IMAGES_KTX RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.ktx") +FILE(GLOB LOCAL_IMAGES_ASTC RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.astc") +FILE(GLOB LOCAL_IMAGES_SVG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.svg") FILE(GLOB LOCAL_IMAGES_JSON RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.json") -SET(LOCAL_IMAGES_LIST ${LOCAL_IMAGES_PNG};${LOCAL_IMAGES_JPG};${LOCAL_IMAGES_GIF};${LOCAL_IMAGES_BMP};${LOCAL_IMAGES_ICO};${LOCAL_IMAGES_WBMP};${LOCAL_IMAGES_KTX};${LOCAL_IMAGES_ASTC};${LOCAL_IMAGES_SVG};${LOCAL_IMAGES_JSON}) +SET(LOCAL_IMAGES_LIST ${LOCAL_IMAGES_PNG};${LOCAL_IMAGES_JPG};${LOCAL_IMAGES_GIF};${LOCAL_IMAGES_WEBP};${LOCAL_IMAGES_BMP};${LOCAL_IMAGES_ICO};${LOCAL_IMAGES_WBMP};${LOCAL_IMAGES_KTX};${LOCAL_IMAGES_ASTC};${LOCAL_IMAGES_SVG};${LOCAL_IMAGES_JSON}) FOREACH(flag ${LOCAL_IMAGES_LIST}) INSTALL(FILES ${LOCAL_IMAGES_DIR}/${flag} DESTINATION ${IMAGES_DIR}) ENDFOREACH(flag) diff --git a/examples/animated-images/animated-images-example.cpp b/examples/animated-images/animated-images-example.cpp index 153d202..4e947e6 100644 --- a/examples/animated-images/animated-images-example.cpp +++ b/examples/animated-images/animated-images-example.cpp @@ -30,9 +30,9 @@ const char * const PLAY_ICON_SELECTED( DEMO_IMAGE_DIR "icon-play-selected.png" ) const unsigned int ANIMATED_IMAGE_COUNT = 2; -const char * ANIMATED_GIF_URLS[ ANIMATED_IMAGE_COUNT ] = +const char * ANIMATED_IMAGE_URLS[ ANIMATED_IMAGE_COUNT ] = { - DEMO_IMAGE_DIR "dog-anim.gif", + DEMO_IMAGE_DIR "dog-anim.webp", DEMO_IMAGE_DIR "dali-logo-anim.gif" }; @@ -48,7 +48,7 @@ int ANIMATED_ARRAY_NUMBER_OF_FRAMES[ ANIMATED_IMAGE_COUNT ] = 15 }; -const char * GIF_RADIO_BUTTON_NAME( "Gif" ); +const char * ANIMATION_RADIO_BUTTON_NAME( "Animation Image" ); const char * ARRAY_RADIO_BUTTON_NAME( "Array" ); /// Structure to specify the layout information for the animated images views. @@ -72,7 +72,7 @@ ImageLayoutInfo IMAGE_LAYOUT_INFO[ ANIMATED_IMAGE_COUNT ] = * * - It displays two animated images, an animated dog and an animated DALi logo. * - The images are loaded paused, a play button is overlayed on top of the images to play the animated image. - * - Radio buttons at the bottom allow the user to change between Animated GIFs and a collection of Image Arrays. + * - Radio buttons at the bottom allow the user to change between Animated Images and a collection of Image Arrays. */ class AnimatedImageController : public ConnectionTracker { @@ -84,7 +84,7 @@ public: */ AnimatedImageController( Application& application ) : mApplication( application ), - mImageType( ImageType::GIF ) + mImageType( ImageType::ANIMATED_IMAGE ) { // Connect to the Application's Init signal mApplication.InitSignal().Connect( this, &AnimatedImageController::Create ); @@ -97,8 +97,8 @@ private: */ enum class ImageType { - GIF, ///< Displays Animated GIF Files. - IMAGE_ARRAY ///< Displays an array of URLs that are used as an animated image. + ANIMATED_IMAGE, ///< Displays Animated Image Files. + IMAGE_ARRAY ///< Displays an array of URLs that are used as an animated image. }; /** @@ -115,7 +115,7 @@ private: // Create the animated image-views CreateAnimatedImageViews(); - // Create radio buttons to change between GIF images and Image Arrays + // Create radio buttons to change between Animated images and Image Arrays CreateRadioButtonLayout(); // Create a tap gesture detector to use to pause the animated images @@ -128,7 +128,7 @@ private: */ void CreateRadioButtonLayout() { - mGifButton = CreateRadioButton( GIF_RADIO_BUTTON_NAME, true ); + mAnimatedImageButton = CreateRadioButton( ANIMATION_RADIO_BUTTON_NAME, true ); mArrayButton = CreateRadioButton( ARRAY_RADIO_BUTTON_NAME, false ); Toolkit::TableView radioButtonLayout = Toolkit::TableView::New( 1, 2 ); @@ -138,7 +138,7 @@ private: radioButtonLayout.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_CENTER ); radioButtonLayout.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::BOTTOM_CENTER ); radioButtonLayout.SetFitHeight( 0 ); - radioButtonLayout.AddChild( mGifButton, TableView::CellPosition( 0, 0 ) ); + radioButtonLayout.AddChild( mAnimatedImageButton, TableView::CellPosition( 0, 0 ) ); radioButtonLayout.AddChild( mArrayButton, TableView::CellPosition( 0, 1 ) ); radioButtonLayout.SetCellAlignment( TableView::CellPosition( 0, 0 ), HorizontalAlignment::CENTER, @@ -188,6 +188,8 @@ private: control.SetProperty( Actor::Property::PARENT_ORIGIN, IMAGE_LAYOUT_INFO[ index ].parentOrigin ); control.SetProperty( Actor::Property::POSITION_Y, IMAGE_LAYOUT_INFO[ index ].yPosition ); + control.SetProperty( Actor::Property::SIZE, Vector2(300, 300) ); + // We do not want the animated image playing when it's added to the stage. PauseAnimatedImage( control ); @@ -277,7 +279,7 @@ private: */ bool OnRadioButtonClicked( Toolkit::Button button ) { - mImageType = ( button == mGifButton ) ? ImageType::GIF : ImageType::IMAGE_ARRAY; + mImageType = ( button == mAnimatedImageButton ) ? ImageType::ANIMATED_IMAGE : ImageType::IMAGE_ARRAY; CreateAnimatedImageViews(); return true; @@ -323,9 +325,9 @@ private: */ void AddUrl( Property::Map& map, ImageType type, int index ) { - if( type == ImageType::GIF ) + if( type == ImageType::ANIMATED_IMAGE ) { - map.Add( Toolkit::ImageVisual::Property::URL, Property::Value( ANIMATED_GIF_URLS[ index ] ) ); + map.Add( Toolkit::ImageVisual::Property::URL, Property::Value( ANIMATED_IMAGE_URLS[ index ] ) ); } else { @@ -368,7 +370,7 @@ private: Toolkit::ImageView mActorDog; ///< The current dog image view. Toolkit::ImageView mActorLogo; ///< The current logo image view. - Toolkit::RadioButton mGifButton; ///< The Gif Radio Button. + Toolkit::RadioButton mAnimatedImageButton; ///< The Animated Image Radio Button. Toolkit::RadioButton mArrayButton; ///< The Array Radio Button. TapGestureDetector mTapDetector; ///< The tap detector. diff --git a/resources/images/dog-anim.gif b/resources/images/dog-anim.gif deleted file mode 100644 index ddc3312..0000000 Binary files a/resources/images/dog-anim.gif and /dev/null differ diff --git a/resources/images/dog-anim.webp b/resources/images/dog-anim.webp new file mode 100644 index 0000000..9dd8e77 Binary files /dev/null and b/resources/images/dog-anim.webp differ