Commit e9debea00bfc580fdd45684b1714396122b8fe1b
Committed by
Gerrit Code Review
Merge "Stopped image-scaling examples using Deprecated SetImage( ResourceImage )…
… API" into devel/master
Showing
2 changed files
with
44 additions
and
68 deletions
examples/image-scaling-and-filtering/image-scaling-and-filtering-example.cpp
| ... | ... | @@ -18,6 +18,7 @@ |
| 18 | 18 | #include <dali/dali.h> |
| 19 | 19 | #include <dali-toolkit/dali-toolkit.h> |
| 20 | 20 | #include <dali-toolkit/devel-api/controls/popup/popup.h> |
| 21 | +#include <dali-toolkit/public-api/visuals/image-visual-properties.h> | |
| 21 | 22 | #include "shared/view.h" |
| 22 | 23 | #include <iostream> |
| 23 | 24 | |
| ... | ... | @@ -522,21 +523,6 @@ public: |
| 522 | 523 | } |
| 523 | 524 | } |
| 524 | 525 | |
| 525 | - void OnImageLoaded( ResourceImage image ) | |
| 526 | - { | |
| 527 | - DALI_ASSERT_DEBUG( image == mNextImage ); | |
| 528 | - mImageView.SetImage( image ); | |
| 529 | - mImageView.SetSize( Size( image.GetWidth(), image.GetHeight() ) ); | |
| 530 | - mImageLoading = false; | |
| 531 | - | |
| 532 | - // We have finished loading, if a resize had occured during the load, trigger another load now. | |
| 533 | - if( mQueuedImageLoad ) | |
| 534 | - { | |
| 535 | - mQueuedImageLoad = false; | |
| 536 | - LoadImage(); | |
| 537 | - } | |
| 538 | - } | |
| 539 | - | |
| 540 | 526 | bool OnControlTouched( Actor actor, const TouchData& event ) |
| 541 | 527 | { |
| 542 | 528 | if(event.GetPointCount() > 0) |
| ... | ... | @@ -687,21 +673,17 @@ private: |
| 687 | 673 | const char * const path = IMAGE_PATHS[ mCurrentPath ]; |
| 688 | 674 | Stage stage = Stage::GetCurrent(); |
| 689 | 675 | Size imageSize = stage.GetSize() * mImageStageScale; |
| 690 | - const ImageDimensions imageSizeInt = ImageDimensions::FromFloatArray( &imageSize.x ); | |
| 676 | + mImageView.SetSize( imageSize ); | |
| 691 | 677 | |
| 692 | - ResourceImage image = ResourceImage::New( path, imageSizeInt, mFittingMode, mSamplingMode ); | |
| 678 | + Property::Map map; | |
| 679 | + map[Toolkit::ImageVisual::Property::URL] = path; | |
| 680 | + map[Toolkit::ImageVisual::Property::DESIRED_WIDTH] = imageSize.x; | |
| 681 | + map[Toolkit::ImageVisual::Property::DESIRED_HEIGHT] = imageSize.y; | |
| 682 | + map[Toolkit::ImageVisual::Property::FITTING_MODE] = mFittingMode; | |
| 683 | + map[Toolkit::ImageVisual::Property::SAMPLING_MODE] = mSamplingMode; | |
| 693 | 684 | |
| 694 | - // If the image was cached, the load has already occured, bypass hooking the signal. | |
| 695 | - if( image.GetLoadingState() ) | |
| 696 | - { | |
| 697 | - OnImageLoaded( image ); | |
| 698 | - } | |
| 699 | - else | |
| 700 | - { | |
| 701 | - image.LoadingFinishedSignal().Connect( this, &ImageScalingAndFilteringController::OnImageLoaded ); | |
| 702 | - } | |
| 685 | + mImageView.SetProperty( Toolkit::ImageView::Property::IMAGE, map ); | |
| 703 | 686 | |
| 704 | - mNextImage = image; | |
| 705 | 687 | } |
| 706 | 688 | |
| 707 | 689 | void ResizeImage() |
| ... | ... | @@ -710,16 +692,7 @@ private: |
| 710 | 692 | Stage stage = Stage::GetCurrent(); |
| 711 | 693 | Size imageSize = stage.GetSize() * mImageStageScale; |
| 712 | 694 | |
| 713 | - // If an image is already loading, queue another load when it has finished. | |
| 714 | - // This way we get continuous updates instead of constantly re-requesting loads. | |
| 715 | - if( mImageLoading ) | |
| 716 | - { | |
| 717 | - mQueuedImageLoad = true; | |
| 718 | - } | |
| 719 | - else | |
| 720 | - { | |
| 721 | - LoadImage(); | |
| 722 | - } | |
| 695 | + LoadImage(); | |
| 723 | 696 | |
| 724 | 697 | // Border size needs to be modified to take into account the width of the frame. |
| 725 | 698 | Vector2 borderScale( ( imageSize + Vector2( BORDER_WIDTH * 2.0f, BORDER_WIDTH * 2.0f ) ) / stage.GetSize() ); |
| ... | ... | @@ -742,7 +715,6 @@ private: |
| 742 | 715 | Toolkit::ImageView mGrabCorner; |
| 743 | 716 | PanGestureDetector mPanGestureDetector; |
| 744 | 717 | Toolkit::ImageView mImageView; |
| 745 | - ResourceImage mNextImage; //< Currently-loading image | |
| 746 | 718 | Vector2 mImageStageScale; |
| 747 | 719 | int mCurrentPath; |
| 748 | 720 | FittingMode::Type mFittingMode; | ... | ... |
examples/image-scaling-irregular-grid/image-scaling-irregular-grid-example.cpp
| ... | ... | @@ -168,23 +168,6 @@ const char* IMAGE_PATHS[] = { |
| 168 | 168 | const unsigned NUM_IMAGE_PATHS = sizeof(IMAGE_PATHS) / sizeof(IMAGE_PATHS[0]) - 1u; |
| 169 | 169 | |
| 170 | 170 | |
| 171 | -/** | |
| 172 | - * Creates an Image | |
| 173 | - * | |
| 174 | - * @param[in] filename The path of the image. | |
| 175 | - * @param[in] width The width of the image in pixels. | |
| 176 | - * @param[in] height The height of the image in pixels. | |
| 177 | - * @param[in] fittingMode The mode to use when scaling the image to fit the desired dimensions. | |
| 178 | - */ | |
| 179 | -Image CreateImage(const std::string& filename, unsigned int width, unsigned int height, Dali::FittingMode::Type fittingMode ) | |
| 180 | -{ | |
| 181 | -#ifdef DEBUG_PRINT_DIAGNOSTICS | |
| 182 | - fprintf( stderr, "CreateImage(%s, %u, %u, fittingMode=%u)\n", filename.c_str(), width, height, unsigned( fittingMode ) ); | |
| 183 | -#endif | |
| 184 | - Image image = ResourceImage::New( filename, ImageDimensions( width, height ), fittingMode, Dali::SamplingMode::BOX_THEN_LINEAR ); | |
| 185 | - | |
| 186 | - return image; | |
| 187 | -} | |
| 188 | 171 | |
| 189 | 172 | /** |
| 190 | 173 | * Creates an ImageView |
| ... | ... | @@ -194,15 +177,23 @@ Image CreateImage(const std::string& filename, unsigned int width, unsigned int |
| 194 | 177 | * @param[in] height The height of the image in pixels. |
| 195 | 178 | * @param[in] fittingMode The mode to use when scaling the image to fit the desired dimensions. |
| 196 | 179 | */ |
| 197 | -ImageView CreateImageView(const std::string& filename, unsigned int width, unsigned int height, Dali::FittingMode::Type fittingMode ) | |
| 180 | +ImageView CreateImageView(const std::string& filename, int width, int height, Dali::FittingMode::Type fittingMode ) | |
| 198 | 181 | { |
| 199 | - Image img = CreateImage( filename, width, height, fittingMode ); | |
| 200 | - ImageView actor = ImageView::New( img ); | |
| 201 | - actor.SetName( filename ); | |
| 202 | - actor.SetParentOrigin(ParentOrigin::CENTER); | |
| 203 | - actor.SetAnchorPoint(AnchorPoint::CENTER); | |
| 204 | 182 | |
| 205 | - return actor; | |
| 183 | + ImageView imageView = ImageView::New(); | |
| 184 | + | |
| 185 | + Property::Map map; | |
| 186 | + map[Toolkit::ImageVisual::Property::URL] = filename; | |
| 187 | + map[Toolkit::ImageVisual::Property::DESIRED_WIDTH] = width; | |
| 188 | + map[Toolkit::ImageVisual::Property::DESIRED_HEIGHT] = height; | |
| 189 | + map[Toolkit::ImageVisual::Property::FITTING_MODE] = fittingMode; | |
| 190 | + imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, map ); | |
| 191 | + | |
| 192 | + imageView.SetName( filename ); | |
| 193 | + imageView.SetParentOrigin(ParentOrigin::CENTER); | |
| 194 | + imageView.SetAnchorPoint(AnchorPoint::CENTER); | |
| 195 | + | |
| 196 | + return imageView; | |
| 206 | 197 | } |
| 207 | 198 | |
| 208 | 199 | /** Cycle the scaling mode options. */ |
| ... | ... | @@ -494,13 +485,18 @@ public: |
| 494 | 485 | Dali::FittingMode::Type newMode = NextMode( mFittingModes[id] ); |
| 495 | 486 | const Vector2 imageSize = mSizes[actor.GetId()]; |
| 496 | 487 | |
| 497 | - const std::string& url = mResourceUrls[id]; | |
| 498 | - Image newImage = CreateImage( url, imageSize.width + 0.5f, imageSize.height + 0.5f, newMode ); | |
| 499 | 488 | ImageView imageView = ImageView::DownCast( actor ); |
| 500 | - if(imageView) | |
| 489 | + if( imageView) | |
| 501 | 490 | { |
| 502 | - imageView.SetImage( newImage ); | |
| 491 | + Property::Map map; | |
| 492 | + map[Visual::Property::TYPE] = Visual::IMAGE; | |
| 493 | + map[ImageVisual::Property::URL] = mResourceUrls[id]; | |
| 494 | + map[ImageVisual::Property::DESIRED_WIDTH] = imageSize.width + 0.5f; | |
| 495 | + map[ImageVisual::Property::DESIRED_HEIGHT] = imageSize.height + 0.5f; | |
| 496 | + map[ImageVisual::Property::FITTING_MODE] = newMode; | |
| 497 | + imageView.SetProperty( ImageView::Property::IMAGE, map ); | |
| 503 | 498 | } |
| 499 | + | |
| 504 | 500 | mFittingModes[id] = newMode; |
| 505 | 501 | } |
| 506 | 502 | } |
| ... | ... | @@ -542,8 +538,16 @@ public: |
| 542 | 538 | |
| 543 | 539 | const Vector2 imageSize = mSizes[ id ]; |
| 544 | 540 | Dali::FittingMode::Type newMode = NextMode( mFittingModes[ id ] ); |
| 545 | - Image newImage = CreateImage( mResourceUrls[ id ], imageSize.width, imageSize.height, newMode ); | |
| 546 | - gridImageView.SetImage( newImage ); | |
| 541 | + | |
| 542 | + Property::Map map; | |
| 543 | + map[Visual::Property::TYPE] = Visual::IMAGE; | |
| 544 | + map[ImageVisual::Property::URL] = mResourceUrls[id]; | |
| 545 | + map[ImageVisual::Property::DESIRED_WIDTH] = imageSize.width; | |
| 546 | + map[ImageVisual::Property::DESIRED_HEIGHT] = imageSize.height; | |
| 547 | + map[ImageVisual::Property::FITTING_MODE] = newMode; | |
| 548 | + gridImageView.SetProperty( ImageView::Property::IMAGE, map ); | |
| 549 | + | |
| 550 | + | |
| 547 | 551 | |
| 548 | 552 | mFittingModes[ id ] = newMode; |
| 549 | 553 | ... | ... |