c1e07a7450d0dd98514ea164ceef64b1418ab76d
[platform/core/uifw/dali-core.git] / dali / public-api / images / encoded-buffer-image.cpp
1 /*
2  * Copyright (c) 2015 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
18 // CLASS HEADER
19 #include <dali/public-api/images/encoded-buffer-image.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/integration-api/debug.h>
23 #include <dali/public-api/common/dali-common.h>
24 #include <dali/internal/common/image-attributes.h>
25 #include <dali/internal/event/images/encoded-buffer-image-impl.h>
26
27 namespace Dali
28 {
29
30 EncodedBufferImage::EncodedBufferImage()
31 {
32 }
33
34 EncodedBufferImage::EncodedBufferImage(Internal::EncodedBufferImage* internal)
35   : Image(internal)
36 {
37 }
38
39 EncodedBufferImage EncodedBufferImage::New( const uint8_t * const encodedImage,
40                                             std::size_t encodedImageByteCount,
41                                             ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode,
42                                             ReleasePolicy releasePol,
43                                             bool orientationCorrection )
44 {
45   Internal::EncodedBufferImagePtr internal = Internal::EncodedBufferImage::New( encodedImage, encodedImageByteCount, size, fittingMode, samplingMode, orientationCorrection, releasePol );
46   EncodedBufferImage image(internal.Get());
47   return image;
48 }
49
50 EncodedBufferImage EncodedBufferImage::New( const uint8_t * const encodedImage, const std::size_t encodedImageByteCount )
51 {
52   ImageDimensions size(0, 0);
53   FittingMode::Type fittingMode = FittingMode::DEFAULT;
54   SamplingMode::Type samplingMode = SamplingMode::DEFAULT;
55   Internal::EncodedBufferImagePtr internal = Internal::EncodedBufferImage::New( encodedImage, encodedImageByteCount, size, fittingMode, samplingMode, true, Dali::Image::NEVER );
56   EncodedBufferImage image( internal.Get() );
57   return image;
58 }
59
60 EncodedBufferImage EncodedBufferImage::New( const uint8_t * const encodedImage,
61                                             std::size_t encodedImageByteCount,
62                                             ImageDimensions size, FittingMode::Type fittingMode, SamplingMode::Type samplingMode,
63                                             bool orientationCorrection )
64 {
65   Internal::EncodedBufferImagePtr internal = Internal::EncodedBufferImage::New( encodedImage, encodedImageByteCount, size, fittingMode, samplingMode, orientationCorrection, Dali::Image::NEVER );
66   EncodedBufferImage image(internal.Get());
67   return image;
68 }
69
70 EncodedBufferImage EncodedBufferImage::DownCast( BaseHandle handle )
71 {
72   return EncodedBufferImage( dynamic_cast<Dali::Internal::EncodedBufferImage*>(handle.GetObjectPtr()) );
73 }
74
75 EncodedBufferImage::~EncodedBufferImage()
76 {
77 }
78
79 EncodedBufferImage::EncodedBufferImage( const EncodedBufferImage& handle )
80 : Image(handle)
81 {
82 }
83
84 EncodedBufferImage& EncodedBufferImage::operator=( const EncodedBufferImage& rhs )
85 {
86   BaseHandle::operator=(rhs);
87   return *this;
88 }
89
90 } // namespace Dali