Added GlView::BackendMode to the NUI/C# binder
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / src / gl-view-wrap.cpp
1 /*
2  * Copyright (c) 2021 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 // EXTERNAL INCLUDES
19 #include <dali-toolkit/public-api/controls/gl-view/gl-view.h>
20
21 // INTERNAL INCLUDES
22 #include "common.h"
23
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28
29   /*GlView binding*/
30   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_GlView_New_SWIG(int nuiColorFormat)
31   {
32     void *jresult;
33     Dali::Toolkit::GlView result;
34
35     Dali::Toolkit::GlView::ColorFormat colorFormat;
36     colorFormat = static_cast<Dali::Toolkit::GlView::ColorFormat>(nuiColorFormat);
37     {
38       try
39       {
40         result = Dali::Toolkit::GlView::New(colorFormat);
41       }
42       CALL_CATCH_EXCEPTION(0);
43     }
44
45     jresult = new Dali::Toolkit::GlView((const Dali::Toolkit::GlView &)result);
46     return jresult;
47   }
48
49   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_GlView_New2_SWIG(int nuiBackendMode, int nuiColorFormat)
50   {
51     void *jresult;
52     Dali::Toolkit::GlView result;
53
54     Dali::Toolkit::GlView::ColorFormat colorFormat;
55     Dali::Toolkit::GlView::BackendMode backendMode;
56     colorFormat = static_cast<Dali::Toolkit::GlView::ColorFormat>(nuiColorFormat);
57     backendMode = static_cast<Dali::Toolkit::GlView::BackendMode>(nuiBackendMode);
58     {
59       try
60       {
61
62         result = Dali::Toolkit::GlView::New(backendMode, colorFormat);
63       }
64       CALL_CATCH_EXCEPTION(0);
65     }
66
67     jresult = new Dali::Toolkit::GlView((const Dali::Toolkit::GlView &)result);
68     return jresult;
69   }
70
71   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_new_GlView_SWIG_0()
72   {
73     void *jresult;
74     Dali::Toolkit::GlView *result = nullptr;
75
76     {
77       try
78       {
79         result = (Dali::Toolkit::GlView *)new Dali::Toolkit::GlView();
80       }
81       CALL_CATCH_EXCEPTION(0);
82     }
83
84     jresult = (void *)result;
85     return jresult;
86   }
87
88   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_new_GlView_SWIG_1(void *nuiGlView)
89   {
90     void *jresult;
91     Dali::Toolkit::GlView *glView = nullptr;
92     Dali::Toolkit::GlView *result = nullptr;
93
94     glView = (Dali::Toolkit::GlView *)nuiGlView;
95     if (!glView)
96     {
97       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::GlView const & type is null", 0);
98       return 0;
99     }
100     {
101       try
102       {
103         result = (Dali::Toolkit::GlView *)new Dali::Toolkit::GlView((Dali::Toolkit::GlView const &)*glView);
104       }
105       CALL_CATCH_EXCEPTION(0);
106     }
107
108     jresult = (void *)result;
109     return jresult;
110   }
111
112   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_GlView(void *nuiGlView)
113   {
114     Dali::Toolkit::GlView *glView = nullptr;
115
116     glView = (Dali::Toolkit::GlView *)nuiGlView;
117     {
118       try
119       {
120         delete glView;
121       }
122       CALL_CATCH_EXCEPTION();
123     }
124   }
125
126   SWIGEXPORT void *SWIGSTDCALL CSharp_Dali_GlView_Assign(void *nuiGlView1, void *nuiGlView2)
127   {
128     void *jresult;
129     Dali::Toolkit::GlView *glView1 = nullptr;
130     Dali::Toolkit::GlView *glView2 = nullptr;
131     Dali::Toolkit::GlView *result = nullptr;
132
133     glView1 = (Dali::Toolkit::GlView *)nuiGlView1;
134     glView2 = (Dali::Toolkit::GlView *)nuiGlView2;
135     if (!glView2)
136     {
137       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::GlView const & type is null", 0);
138       return 0;
139     }
140     {
141       try
142       {
143         result = (Dali::Toolkit::GlView *)&(glView1)->operator=((Dali::Toolkit::GlView const &)*glView2);
144       }
145       CALL_CATCH_EXCEPTION(0);
146     }
147
148     jresult = (void *)result;
149     return jresult;
150   }
151
152   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GlView_SetGraphicsConfig(void *nuiGlView, bool nuiDepth, bool nuiStencil, int nuiMsaa, int nuiVersion)
153   {
154     Dali::Toolkit::GlView *glView = nullptr;
155     Dali::Toolkit::GlView::GraphicsApiVersion version;
156
157     glView = (Dali::Toolkit::GlView *)nuiGlView;
158     version = static_cast<Dali::Toolkit::GlView::GraphicsApiVersion>(nuiVersion);
159     {
160       try
161       {
162         (glView)->SetGraphicsConfig(nuiDepth, nuiStencil, nuiMsaa, version);
163       }
164       CALL_CATCH_EXCEPTION();
165     }
166   }
167
168   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GlView_RegisterGlCallbacks(void *nuiGlView, void *nuiInitCB, int *nuiRenderFrameCB, void *nuiTerminateCB)
169   {
170     Dali::Toolkit::GlView *glView = (Dali::Toolkit::GlView *)nuiGlView;
171     void (*initCB)() = (void (*)())nuiInitCB;
172     int (*renderFrameCB)() = (int (*)())nuiRenderFrameCB;
173     void (*terminateCB)() = (void (*)())nuiTerminateCB;
174
175     if (!glView || !initCB || !renderFrameCB || !terminateCB)
176     {
177       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null", 0);
178       return;
179     }
180     try
181     {
182       glView->RegisterGlCallbacks(Dali::MakeCallback(initCB), Dali::MakeCallback(renderFrameCB), Dali::MakeCallback(terminateCB));
183     }
184     CALL_CATCH_EXCEPTION();
185   }
186
187   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GlView_SetResizeCallback(void *nuiGlView, void *nuiResizeCB)
188   {
189     Dali::Toolkit::GlView *glView = (Dali::Toolkit::GlView *)nuiGlView;
190     void (*resizeCB)(int, int) = (void (*)(int, int))nuiResizeCB;
191
192     if (!glView || !resizeCB)
193     {
194       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null", 0);
195       return;
196     }
197     try
198     {
199       glView->SetResizeCallback(Dali::MakeCallback(resizeCB));
200     }
201     CALL_CATCH_EXCEPTION();
202   }
203
204   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GlView_RenderOnce(void *nuiGlView)
205   {
206     Dali::Toolkit::GlView *glView = (Dali::Toolkit::GlView *)nuiGlView;
207     if (!glView)
208     {
209       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::GlView", 0);
210       return;
211     }
212     {
213       try
214       {
215         glView->RenderOnce();
216       }
217       CALL_CATCH_EXCEPTION();
218     }
219   }
220
221   SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GlView_GetRenderingMode(void *nuiGlView)
222   {
223     int jresult;
224     Dali::Toolkit::GlView *glView = nullptr;
225     Dali::Toolkit::GlView::RenderingMode result;
226
227     glView = (Dali::Toolkit::GlView *)nuiGlView;
228     if (!glView)
229     {
230       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::GlView", 0);
231       return 0;
232     }
233
234     {
235       try
236       {
237         result = (Dali::Toolkit::GlView::RenderingMode)(glView)->GetRenderingMode();
238       }
239       CALL_CATCH_EXCEPTION(0);
240     }
241
242     jresult = (int)result;
243     return jresult;
244   }
245
246   SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GlView_SetRenderingMode(void *nuiGlView, int nuiRenderingMode)
247   {
248     Dali::Toolkit::GlView *glView = nullptr;
249     Dali::Toolkit::GlView::RenderingMode renderingMode;
250
251     glView = (Dali::Toolkit::GlView *)nuiGlView;
252     if (!glView)
253     {
254       SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::GlView", 0);
255       return;
256     }
257     renderingMode = (Dali::Toolkit::GlView::RenderingMode)nuiRenderingMode;
258     {
259       try
260       {
261         (glView)->SetRenderingMode(renderingMode);
262       }
263       CALL_CATCH_EXCEPTION();
264     }
265   }
266
267   SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GlView_GetBackendMode(void *nuiGlView) {
268     int jresult;
269     Dali::Toolkit::GlView *glView = nullptr;
270     Dali::Toolkit::GlView::BackendMode result;
271
272     glView = (Dali::Toolkit::GlView *)nuiGlView;
273     if (!glView) {
274       SWIG_CSharpSetPendingExceptionArgument(
275           SWIG_CSharpArgumentNullException,
276           "Attempt to dereference null Dali::Toolkit::GlView", 0);
277       return 0;
278     }
279
280     {
281       try {
282         result = (Dali::Toolkit::GlView::BackendMode)(glView)->GetBackendMode();
283       }
284       CALL_CATCH_EXCEPTION(0);
285     }
286
287     jresult = (int)result;
288     return jresult;
289   }
290
291 #ifdef __cplusplus
292 }
293 #endif