Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / effects / renderer / FUiEffects_RendererMemoryTexture2DProperty.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file        FUiEffects_RendererMemoryTexture2DProperty.cpp
19  * @brief               This is the source file for the MemoryTexture2DProperty class
20  */
21
22 #include <FUiEffects_RendererMemoryTexture2DProperty.h>
23 #include <FUiEffects_RendererLog.h>
24
25 using namespace Tizen::Ui::Effects::_Renderer::EngineModel;
26
27 namespace Tizen { namespace Ui { namespace Effects { namespace _Renderer
28 {
29
30 MemoryTexture2DProperty::MemoryTexture2DProperty(void)
31 {
32         unsigned char pix[4] = {255, 0, 128, 255};
33         SetData(pix, 1, 1);
34 }
35
36 MemoryTexture2DProperty::~MemoryTexture2DProperty(void)
37 {
38
39 }
40
41 int
42 MemoryTexture2DProperty::GetFormatSize(void)
43 {
44         switch (GetDataFormat())
45         {
46         case TextureProperty::DataFormat::RGB:
47                 // fall through
48
49         case TextureProperty::DataFormat::BGR:
50                 return 3;
51
52         case TextureProperty::DataFormat::RGBA:
53                 // fall through
54
55         case TextureProperty::DataFormat::BGRA:
56                 return 4;
57
58         default: ; //ASSERTLOG(0);
59                 return 0;
60         }
61 }
62
63 void
64 MemoryTexture2DProperty::SetData(const void* ptr, size_t width, size_t height)
65 {
66         __width = width;
67         __height = height;
68         __data.Resize(__width * __height * GetFormatSize());
69
70         if (ptr != null)
71         {
72                 __data.Copy(ptr, __data.Size(), 0);
73         }
74
75         TouchCache();
76
77         return;
78 }
79
80 }}}} //Tizen::Ui::Effects::_Renderer