f7447583a390cf10a4b233dd52d737121b1f1a5d
[platform/core/uifw/dali-toolkit.git] / plugins / dali-script-v8 / src / actors / mesh-actor-api.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 "mesh-actor-api.h"
20
21 // INTERNAL INCLUDES
22 #include <object/handle-wrapper.h>
23 #include <v8-utils.h>
24
25
26
27 namespace Dali
28 {
29
30 namespace V8Plugin
31 {
32
33 namespace //unnamed name space
34 {
35
36 MeshActor GetMeshActor( v8::Isolate* isolate, const v8::FunctionCallbackInfo< v8::Value >& args )
37 {
38   HandleWrapper* handleWrapper = HandleWrapper::Unwrap( isolate, args.This() );
39   return MeshActor::DownCast( handleWrapper->mHandle );
40 }
41
42 } //unnamed name space
43
44 /***************************************
45  * MESH ACTOR FUNCTIONS
46  ****************************************/
47 /**
48  * @constructor
49  * @for MeshActor
50  * @method MeshActor
51  * @return {Object} MeshActor
52  */
53 Actor MeshActorApi::New( const v8::FunctionCallbackInfo< v8::Value >& args )
54 {
55   return MeshActor::New();
56 }
57 /**
58  *
59  * @for MeshActor
60  * @method SetAffectedByLighting
61  * @param {Boolean} true = yes affected by lighting
62  */
63 void MeshActorApi::SetAffectedByLighting( const v8::FunctionCallbackInfo< v8::Value >& args )
64 {
65   v8::Isolate* isolate = args.GetIsolate();
66   v8::HandleScope handleScope( isolate );
67   MeshActor actor =  GetMeshActor( isolate, args );
68
69   bool parameterFound( false );
70   bool afftedByLight = V8Utils::GetBooleanParameter(  PARAMETER_0, parameterFound, isolate, args );
71   if( !parameterFound )
72   {
73     DALI_SCRIPT_EXCEPTION( isolate, "bad parameter");
74     return;
75   }
76   actor.SetAffectedByLighting( afftedByLight  );
77 }
78 /**
79  *
80  * @for MeshActor
81  * @method IsAffectedByLighting
82  * @return {Boolean} true = yes affected by lighting
83  */
84 void MeshActorApi::IsAffectedByLighting( const v8::FunctionCallbackInfo< v8::Value >& args )
85 {
86   v8::Isolate* isolate = args.GetIsolate();
87   v8::HandleScope handleScope( isolate );
88   MeshActor actor =  GetMeshActor( isolate, args );
89
90   args.GetReturnValue().Set(  v8::Boolean::New( isolate, actor.IsAffectedByLighting() ) );
91
92 }
93
94
95 } // namespace V8Plugin
96
97 } // namespace Dali