Fix svace issue - uninitialized class member
[platform/core/uifw/dali-adaptor.git] / adaptors / devel-api / adaptor-framework / image-loading.cpp
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 // CLASS HEADER
18 #include "image-loading.h"
19
20 // INTERNAL INCLUDES
21 #include "image-loaders/image-loader.h"
22
23 namespace Dali
24 {
25
26 PixelData LoadImageFromFile( const std::string& url, ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection )
27 {
28   Integration::BitmapResourceType resourceType( size, fittingMode, samplingMode, orientationCorrection );
29   IntrusivePtr<Dali::RefObject> resource = TizenPlatform::ImageLoader::LoadResourceSynchronously( resourceType, url );
30
31   if( resource )
32   {
33     Integration::Bitmap* bitmap = static_cast<Integration::Bitmap*>( resource.Get() );
34
35     // Use bitmap->GetBufferOwnership() to transfer the buffer ownership to pixelData.
36     // The destroy of bitmap will not release the buffer, instead, the pixelData is responsible for releasing when its reference count falls to zero.
37     return Dali::PixelData::New( bitmap->GetBufferOwnership(),
38                                  bitmap->GetBufferSize(),
39                                  bitmap->GetImageWidth(),
40                                  bitmap->GetImageHeight(),
41                                  bitmap->GetPixelFormat(),
42                                  Dali::PixelData::FREE );
43   }
44   return Dali::PixelData();
45 }
46
47 } // namespace Dali