New with additional behavior flag for some Controls
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / image-view / image-view.cpp
index 8c408e9..d0b1401 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -19,7 +19,7 @@
 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
 
 // EXTERNAL INCLUDES
-#include <dali/public-api/images/resource-image.h>
+#include <dali/integration-api/debug.h>
 #include <dali/public-api/object/property-map.h>
 
 // INTERNAL INCLUDES
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 ImageView::ImageView()
 {
 }
 
-ImageView::ImageView( const ImageView& imageView )
-: Control( imageView )
-{
-}
+ImageView::ImageView(const ImageView& imageView) = default;
 
-ImageView& ImageView::operator=( const ImageView& imageView )
-{
-  if( &imageView != this )
-  {
-    Control::operator=( imageView );
-  }
-  return *this;
-}
+ImageView::ImageView(ImageView&& rhs) = default;
+
+ImageView& ImageView::operator=(const ImageView& imageView) = default;
+
+ImageView& ImageView::operator=(ImageView&& rhs) = default;
 
 ImageView::~ImageView()
 {
@@ -55,54 +47,66 @@ ImageView::~ImageView()
 
 ImageView ImageView::New()
 {
-  return Internal::ImageView::New();
+  return Toolkit::Internal::ImageView::New();
 }
 
-ImageView ImageView::New( Image image )
+ImageView ImageView::New(const std::string& url)
 {
   ImageView imageView = Internal::ImageView::New();
-  imageView.SetImage( image );
-  return ImageView( imageView );
+  imageView.SetImage(url, ImageDimensions());
+  return imageView;
 }
 
-ImageView ImageView::New( const std::string& url,
-                          ImageDimensions size)
+ImageView ImageView::New(const std::string& url, ImageDimensions size)
 {
   ImageView imageView = Internal::ImageView::New();
-  imageView.SetImage( url, size );
+  imageView.SetImage(url, size);
   return imageView;
 }
 
-ImageView ImageView::DownCast( BaseHandle handle )
+ImageView ImageView::New(ControlBehaviour additionalBehaviour)
 {
-  return Control::DownCast<ImageView, Internal::ImageView>( handle );
+  return Toolkit::Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
+}
+
+ImageView ImageView::New(ControlBehaviour additionalBehaviour, const std::string& url)
+{
+  ImageView imageView = Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
+  imageView.SetImage(url, ImageDimensions());
+  return imageView;
+}
+
+ImageView ImageView::New(ControlBehaviour additionalBehaviour, const std::string& url, ImageDimensions size)
+{
+  ImageView imageView = Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
+  imageView.SetImage(url, size);
+  return imageView;
 }
 
-void ImageView::SetImage( Image image )
+ImageView ImageView::DownCast(BaseHandle handle)
 {
-  Dali::Toolkit::GetImpl( *this ).SetImage( image );
+  return Control::DownCast<ImageView, Internal::ImageView>(handle);
 }
 
-void ImageView::SetImage( const std::string& url,
-                          ImageDimensions size )
+void ImageView::SetImage(const std::string& url)
 {
-  Dali::Toolkit::GetImpl( *this ).SetImage( url, size );
+  Dali::Toolkit::GetImpl(*this).SetImage(url, ImageDimensions());
 }
 
-Image ImageView::GetImage() const
+void ImageView::SetImage(const std::string& url, ImageDimensions size)
 {
-  return Image();
+  Dali::Toolkit::GetImpl(*this).SetImage(url, size);
 }
 
-ImageView::ImageView( Internal::ImageView& implementation )
- : Control( implementation )
+ImageView::ImageView(Internal::ImageView& implementation)
+: Control(implementation)
 {
 }
 
-ImageView::ImageView( Dali::Internal::CustomActor* internal )
- : Control( internal )
+ImageView::ImageView(Dali::Internal::CustomActor* internal)
+: Control(internal)
 {
-  VerifyCustomActorPointer<Internal::ImageView>( internal );
+  VerifyCustomActorPointer<Internal::ImageView>(internal);
 }
 
 } // namespace Toolkit