Merge "New DepthTestMode API in Renderer" into devel/master
[platform/core/uifw/dali-core.git] / dali / devel-api / images / pixel-data.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 "pixel-data.h"
20
21 // EXTERNAL INLCUDES
22 #include <stdlib.h>
23
24 namespace Dali
25 {
26
27 PixelData::PixelData( unsigned char* buffer,
28                       unsigned int width,
29                       unsigned int height,
30                       Pixel::Format pixelFormat,
31                       ReleaseFunction releaseFunction )
32 : mBuffer( buffer ),
33   mWidth( width ),
34   mHeight( height ),
35   mPixelFormat( pixelFormat ),
36   mReleaseFunction( releaseFunction )
37 {
38 }
39
40 PixelData::~PixelData()
41 {
42   if( mBuffer )
43   {
44     if( mReleaseFunction == FREE)
45     {
46       free( mBuffer );
47     }
48     else
49     {
50       delete[] mBuffer;
51     }
52   }
53  }
54
55 PixelDataPtr PixelData::New(unsigned char* buffer,
56                             unsigned int width,
57                             unsigned int height,
58                             Pixel::Format pixelFormat,
59                             ReleaseFunction releaseFunction)
60 {
61   return new PixelData( buffer, width, height, pixelFormat, releaseFunction );
62 }
63
64 unsigned int PixelData::GetWidth() const
65 {
66   return mWidth;
67 }
68
69 unsigned int PixelData::GetHeight() const
70 {
71   return mHeight;
72 }
73
74 Pixel::Format PixelData::GetPixelFormat() const
75 {
76   return mPixelFormat;
77 }
78
79 unsigned char* PixelData::GetBuffer() const
80 {
81   return mBuffer;
82 }
83
84 } // namespace Dali