2 * Copyright (c) 2016 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.
18 #include "async-image-loader.h"
21 #include <dali-toolkit/internal/image-loader/async-image-loader-impl.h>
22 #include <dali-toolkit/internal/visuals/visual-url.h>
30 AsyncImageLoader::AsyncImageLoader()
34 AsyncImageLoader::~AsyncImageLoader()
38 AsyncImageLoader::AsyncImageLoader( Internal::AsyncImageLoader* impl )
43 AsyncImageLoader::AsyncImageLoader( const AsyncImageLoader& handle )
44 : BaseHandle( handle )
48 AsyncImageLoader& AsyncImageLoader::operator=( const AsyncImageLoader& handle )
50 BaseHandle::operator=( handle );
54 AsyncImageLoader AsyncImageLoader::DownCast( BaseHandle handle )
56 return AsyncImageLoader( dynamic_cast<Dali::Toolkit::Internal::AsyncImageLoader*>( handle.GetObjectPtr() ) );
59 AsyncImageLoader AsyncImageLoader::New()
61 IntrusivePtr<Internal::AsyncImageLoader> internal = Internal::AsyncImageLoader::New();
62 return AsyncImageLoader( internal.Get() );
65 uint32_t AsyncImageLoader::Load( const std::string& url )
67 return GetImplementation( *this ).Load( Toolkit::Internal::VisualUrl(url), ImageDimensions(), FittingMode::DEFAULT, SamplingMode::BOX_THEN_LINEAR, true );
70 uint32_t AsyncImageLoader::Load( const std::string& url, ImageDimensions dimensions )
72 return GetImplementation( *this ).Load( Toolkit::Internal::VisualUrl(url), dimensions, FittingMode::DEFAULT, SamplingMode::BOX_THEN_LINEAR, true );
75 uint32_t AsyncImageLoader::Load( const std::string& url,
76 ImageDimensions dimensions,
77 FittingMode::Type fittingMode,
78 SamplingMode::Type samplingMode,
79 bool orientationCorrection )
81 return GetImplementation(*this).Load( Toolkit::Internal::VisualUrl(url), dimensions, fittingMode, samplingMode, orientationCorrection );
84 bool AsyncImageLoader::Cancel( uint32_t loadingTaskId )
86 return GetImplementation(*this).Cancel( loadingTaskId );
89 void AsyncImageLoader::CancelAll()
91 GetImplementation( *this ).CancelAll();
94 AsyncImageLoader::ImageLoadedSignalType& AsyncImageLoader::ImageLoadedSignal()
96 return GetImplementation( *this ).ImageLoadedSignal();
98 } // namespace Toolkit