Commit 6ee022a398bf962307627ee58be589d550d49682
Committed by
Eunki, Hong
1 parent
738d92b0
Add EncodedImageBuffer demo with SVG and Lottie
Let we make image view encoded image buffer example can test VECTOR_IMAGE type and ANIMATED_VECTOR_IMAGE type. Change-Id: I7cd6485ed7908b12880f6e6b94c5191d54dd9075 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Showing
1 changed file
with
32 additions
and
3 deletions
examples/image-view-encoded-image-buffer/image-view-encoded-image-buffer-example.cpp
| 1 | /* | 1 | /* |
| 2 | - * Copyright (c) 2021 Samsung Electronics Co., Ltd. | 2 | + * Copyright (c) 2023 Samsung Electronics Co., Ltd. |
| 3 | * | 3 | * |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. | 5 | * you may not use this file except in compliance with the License. |
| @@ -16,12 +16,15 @@ | @@ -16,12 +16,15 @@ | ||
| 16 | */ | 16 | */ |
| 17 | 17 | ||
| 18 | #include <dali-toolkit/dali-toolkit.h> | 18 | #include <dali-toolkit/dali-toolkit.h> |
| 19 | +#include <dali-toolkit/devel-api/controls/control-devel.h> | ||
| 20 | +#include <dali-toolkit/devel-api/visuals/animated-vector-image-visual-actions-devel.h> | ||
| 19 | #include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h> | 21 | #include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h> |
| 20 | #include <dali-toolkit/public-api/image-loader/image-url.h> | 22 | #include <dali-toolkit/public-api/image-loader/image-url.h> |
| 21 | #include <dali-toolkit/public-api/image-loader/image.h> | 23 | #include <dali-toolkit/public-api/image-loader/image.h> |
| 22 | #include <dali/dali.h> | 24 | #include <dali/dali.h> |
| 23 | #include <dali/public-api/adaptor-framework/encoded-image-buffer.h> | 25 | #include <dali/public-api/adaptor-framework/encoded-image-buffer.h> |
| 24 | #include <string> | 26 | #include <string> |
| 27 | + | ||
| 25 | #include "shared/view.h" | 28 | #include "shared/view.h" |
| 26 | 29 | ||
| 27 | using namespace Dali; | 30 | using namespace Dali; |
| @@ -37,10 +40,17 @@ const char* IMAGE_PATH[] = { | @@ -37,10 +40,17 @@ const char* IMAGE_PATH[] = { | ||
| 37 | DEMO_IMAGE_DIR "gallery-small-23.jpg", | 40 | DEMO_IMAGE_DIR "gallery-small-23.jpg", |
| 38 | DEMO_IMAGE_DIR "woodEffect.jpg", | 41 | DEMO_IMAGE_DIR "woodEffect.jpg", |
| 39 | DEMO_IMAGE_DIR "wood.png", // 32bits image | 42 | DEMO_IMAGE_DIR "wood.png", // 32bits image |
| 43 | + // DEMO_IMAGE_DIR "heartsframe.9.png", ///< Not implemented yet. | ||
| 44 | + DEMO_IMAGE_DIR "dog-anim.webp", | ||
| 45 | + DEMO_IMAGE_DIR "World.svg", // svg image | ||
| 46 | + DEMO_IMAGE_DIR "insta_camera.json" // lottie image | ||
| 40 | }; | 47 | }; |
| 41 | 48 | ||
| 42 | const unsigned int NUMBER_OF_RESOURCES = sizeof(IMAGE_PATH) / sizeof(char*); | 49 | const unsigned int NUMBER_OF_RESOURCES = sizeof(IMAGE_PATH) / sizeof(char*); |
| 43 | 50 | ||
| 51 | +const unsigned int VECTOR_IMAGE_INDEX = NUMBER_OF_RESOURCES - 2u; | ||
| 52 | +const unsigned int ANIMATED_VECTOR_IMAGE_INDEX = NUMBER_OF_RESOURCES - 1u; | ||
| 53 | + | ||
| 44 | const unsigned int NUMBER_OF_IMAGES_ROW = 3; | 54 | const unsigned int NUMBER_OF_IMAGES_ROW = 3; |
| 45 | const unsigned int NUMBER_OF_IMAGES_COLUMN = 2; | 55 | const unsigned int NUMBER_OF_IMAGES_COLUMN = 2; |
| 46 | const unsigned int NUMBER_OF_IMAGES = NUMBER_OF_IMAGES_ROW * NUMBER_OF_IMAGES_COLUMN; | 56 | const unsigned int NUMBER_OF_IMAGES = NUMBER_OF_IMAGES_ROW * NUMBER_OF_IMAGES_COLUMN; |
| @@ -121,9 +131,23 @@ public: | @@ -121,9 +131,23 @@ public: | ||
| 121 | private: | 131 | private: |
| 122 | void UpdateImageUrl() | 132 | void UpdateImageUrl() |
| 123 | { | 133 | { |
| 124 | - mImageBuffer = ConvertFileToEncodedImageBuffer(IMAGE_PATH[mImageIndex]); | ||
| 125 | - mImageUrl = Image::GenerateUrl(mImageBuffer); | 134 | + if(mImageIndex < NUMBER_OF_RESOURCES) |
| 135 | + { | ||
| 136 | + mImageBuffer = ConvertFileToEncodedImageBuffer(IMAGE_PATH[mImageIndex]); | ||
| 137 | + } | ||
| 138 | + | ||
| 139 | + if(mImageIndex == VECTOR_IMAGE_INDEX) | ||
| 140 | + { | ||
| 141 | + mImageBuffer.SetImageType(EncodedImageBuffer::ImageType::VECTOR_IMAGE); | ||
| 142 | + } | ||
| 143 | + else if(mImageIndex == ANIMATED_VECTOR_IMAGE_INDEX) | ||
| 144 | + { | ||
| 145 | + mImageBuffer.SetImageType(EncodedImageBuffer::ImageType::ANIMATED_VECTOR_IMAGE); | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + mImageUrl = Image::GenerateUrl(mImageBuffer); | ||
| 126 | } | 149 | } |
| 150 | + | ||
| 127 | void UpdateImageViews() | 151 | void UpdateImageViews() |
| 128 | { | 152 | { |
| 129 | for(int i = 0; i < static_cast<int>(NUMBER_OF_IMAGES_ROW); i++) | 153 | for(int i = 0; i < static_cast<int>(NUMBER_OF_IMAGES_ROW); i++) |
| @@ -168,6 +192,11 @@ private: | @@ -168,6 +192,11 @@ private: | ||
| 168 | 192 | ||
| 169 | view.SetProperty(ImageView::Property::IMAGE, imagePropertyMap); | 193 | view.SetProperty(ImageView::Property::IMAGE, imagePropertyMap); |
| 170 | 194 | ||
| 195 | + if(mImageIndex == ANIMATED_VECTOR_IMAGE_INDEX) | ||
| 196 | + { | ||
| 197 | + DevelControl::DoAction(view, ImageView::Property::IMAGE, DevelAnimatedVectorImageVisual::Action::PLAY, Property::Value()); | ||
| 198 | + } | ||
| 199 | + | ||
| 171 | return view; | 200 | return view; |
| 172 | } | 201 | } |
| 173 | 202 |