Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / effects / inc / renderer / engine-model / FUiEffects_RendererEngineModelMatrix4fPropertyHolder.h
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 /**
19  * @file       FUiEffects_RendererEngineModelMatrix4fPropertyHolder.h
20  * @brief      Class with data for Matrix4fProperty
21  *
22  */
23
24 #ifndef _FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_MATRIX4F_PROPERTY_HOLDER_H_
25 #define _FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_MATRIX4F_PROPERTY_HOLDER_H_
26
27 #include <renderer/system/FUiEffects_RendererSystemSmartPtr.h>
28
29 #include <renderer/engine-model/FUiEffects_RendererEngineModelMatrix4fProperty.h>
30
31 namespace Tizen { namespace Ui { namespace Effects { namespace _Renderer { namespace EngineModel
32 {
33
34 class Matrix4fPropertyHolder:
35         public Matrix4fProperty
36 {
37 public:
38         typedef Matrix4fProperty::MatrixType MatrixType;
39
40         Matrix4fPropertyHolder(void);
41         virtual ~Matrix4fPropertyHolder(void);
42
43         virtual const MatrixType& Get(void) const;
44
45         void Set(const MatrixType& matrix);
46         void Set(const float a11, const float a12, const float a13, const float a14,
47                          const float a21, const float a22, const float a23, const float a24,
48                          const float a31, const float a32, const float a33, const float a34,
49                          const float a41, const float a42, const float a43, const float a44);
50
51 private:
52         MatrixType __matrix;
53 };
54
55 typedef Tizen::Ui::Effects::_Renderer::System::SmartPtr<Matrix4fPropertyHolder> Matrix4fPropertyHolderPtr;
56
57 }}}}} //Tizen::Ui::Effects::_Renderer::EngineModel
58
59 #endif //_FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_MATRIX4F_PROPERTY_HOLDER_H_