2 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali-toolkit/public-api/controls/image-view/image-view.h>
22 #include <dali/integration-api/debug.h>
23 #include <dali/public-api/object/property-map.h>
26 #include <dali-toolkit/internal/controls/image-view/image-view-impl.h>
32 ImageView::ImageView()
36 ImageView::ImageView(const ImageView& imageView) = default;
38 ImageView::ImageView(ImageView&& rhs) = default;
40 ImageView& ImageView::operator=(const ImageView& imageView) = default;
42 ImageView& ImageView::operator=(ImageView&& rhs) = default;
44 ImageView::~ImageView()
48 ImageView ImageView::New()
50 return Toolkit::Internal::ImageView::New();
53 ImageView ImageView::New(const std::string& url)
55 ImageView imageView = Internal::ImageView::New();
56 imageView.SetImage(url, ImageDimensions());
60 ImageView ImageView::New(const std::string& url, ImageDimensions size)
62 ImageView imageView = Internal::ImageView::New();
63 imageView.SetImage(url, size);
67 ImageView ImageView::New(ControlBehaviour additionalBehaviour)
69 return Toolkit::Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
72 ImageView ImageView::New(ControlBehaviour additionalBehaviour, const std::string& url)
74 ImageView imageView = Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
75 imageView.SetImage(url, ImageDimensions());
79 ImageView ImageView::New(ControlBehaviour additionalBehaviour, const std::string& url, ImageDimensions size)
81 ImageView imageView = Internal::ImageView::New(static_cast<Toolkit::Internal::Control::ControlBehaviour>(additionalBehaviour));
82 imageView.SetImage(url, size);
86 ImageView ImageView::DownCast(BaseHandle handle)
88 return Control::DownCast<ImageView, Internal::ImageView>(handle);
91 void ImageView::SetImage(const std::string& url)
93 Dali::Toolkit::GetImpl(*this).SetImage(url, ImageDimensions());
96 void ImageView::SetImage(const std::string& url, ImageDimensions size)
98 Dali::Toolkit::GetImpl(*this).SetImage(url, size);
101 ImageView::ImageView(Internal::ImageView& implementation)
102 : Control(implementation)
106 ImageView::ImageView(Dali::Internal::CustomActor* internal)
109 VerifyCustomActorPointer<Internal::ImageView>(internal);
112 } // namespace Toolkit