2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
18 * @file FUiEffects_RuntimeDirectionalLight.h
19 * @brief This is the header file for a directional light
22 #ifndef _FUI_EFFECTS_INTERNAL_RUNTIME_DIRECTIONAL_LIGHT_H_
23 #define _FUI_EFFECTS_INTERNAL_RUNTIME_DIRECTIONAL_LIGHT_H_
26 #include <utils/FUiEffects_Utils.h>
27 #include "FUiEffects_RuntimeUnitLight.h"
29 namespace Tizen { namespace Ui { namespace Effects { namespace _Runtime
32 //tolua_begin <--(!do not edit!)the beginning of export part to lua
33 class DirectionalLight
36 //tolua_end <--(!do not edit!)the ending of export part to lua
40 * Returns a pointer to created directional light
45 static DirectionalLight* CreateDirectionalLight(const std::string& name);
47 static DirectionalLight* CreateDirectionalLight(const string& name); //tolua_export <--(!do not edit!)the exporting line to lua
51 * Returns a pointer to created directional light
56 static DirectionalLight* CreateDirectionalLight(bool enabled,
57 const std::string& name,
58 const Tizen::Ui::Effects::_Utils::Vec3f& colour,
60 const Tizen::Ui::Effects::_Utils::Vec3f& direction
64 * Returns a direction of a directional light
69 const Tizen::Ui::Effects::_Utils::Vec3f& GetDirection(void) const;
71 const Vector3& GetDirection(void) const; //tolua_export <--(!do not edit!)the exporting line to lua
75 * Sets a direction of a directional light
80 void SetDirection(const Tizen::Ui::Effects::_Utils::Vec3f& direction);
82 void SetDirection(const Vector3& direction); //tolua_export <--(!do not edit!)the exporting line to lua
86 * Sets a direction of a directional light
91 void SetDirection(float x, float y, float z); //tolua_export <--(!do not edit!)the exporting line to lua
94 * Returns a type of a directional light as variable of enumeration type
99 virtual TypeUnitLight GetType(void) const;
102 * Resets all signs for this instance of class (e.g. isDirectionChanged, isColourChanged)
107 virtual void ResetSigns(void);
116 * @remarks Clients of this class can create DirectionalLight objects with using Create methods only
119 DirectionalLight(const std::string& name);
126 * @remarks Clients of this class can create DirectionalLight objects with using Create methods only
129 DirectionalLight(bool isEnabled,
130 const std::string& name,
131 const Tizen::Ui::Effects::_Utils::Vec3f& colour,
133 const Tizen::Ui::Effects::_Utils::Vec3f& direction
141 * @remarks Clients of this class can not destroy instances of this class (for purpose to avoid the sending an invalid unit light into scene)
144 ~DirectionalLight(void);
148 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
149 DirectionalLight(const DirectionalLight& rhs);
150 // The implementation of this assignment operator is intentionally blank and declared as private to prohibit copying of objects.
151 DirectionalLight& operator=(const DirectionalLight& rhs);
155 bool isDirectionChanged;
159 Tizen::Ui::Effects::_Utils::Vec3f __direction; /**< a direction for a directional light*/
161 }; //DirectionalLight //tolua_export <--(!do not edit!)the exporting line to lua
163 } } } } // Tizen::Ui::Effects::_Runtime
165 #endif //_FUI_EFFECTS_INTERNAL_RUNTIME_DIRECTIONAL_LIGHT_H_