[NUI] Fix comments according to document review
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Rendering / Renderer.cs
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 using System;
18 using System.ComponentModel;
19 using System.Diagnostics.CodeAnalysis;
20 using System.Runtime.InteropServices;
21
22 namespace Tizen.NUI
23 {
24     /// <summary>
25     /// Renderer is a handle to an object used to show content by combining a Geometry, a TextureSet and a shader.
26     /// </summary>
27     /// <since_tizen> 3 </since_tizen>
28     public class Renderer : Animatable
29     {
30         private Geometry CurrentGeometry = null;
31         private Shader CurrentShader = null;
32
33         /// <summary>
34         /// Create an instance of Renderer.
35         /// </summary>
36         /// <since_tizen> 3 </since_tizen>
37         public Renderer(Geometry geometry, Shader shader) : this(Interop.Renderer.New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
38         {
39             CurrentGeometry = geometry;
40             CurrentShader = shader;
41
42             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
43         }
44
45         /// <summary>
46         /// Gets and Sets DepthIndex property.
47         /// </summary>
48         /// <since_tizen> 3 </since_tizen>
49         public int DepthIndex
50         {
51             get
52             {
53                 int temp = 0;
54                 Tizen.NUI.PropertyValue pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.DepthIndex);
55                 pValue.Get(out temp);
56                 pValue.Dispose();
57                 return temp;
58             }
59             set
60             {
61                 var temp = new Tizen.NUI.PropertyValue(value);
62                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.DepthIndex, temp);
63                 temp.Dispose();
64             }
65         }
66
67         /// <summary>
68         /// Gets and Sets FaceCullingMode.
69         /// </summary>
70         /// <since_tizen> 3 </since_tizen>
71         public int FaceCullingMode
72         {
73             get
74             {
75                 int temp = 0;
76                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.FaceCullingMode);
77                 pValue.Get(out temp);
78                 pValue.Dispose();
79                 return temp;
80             }
81             set
82             {
83                 var temp = new Tizen.NUI.PropertyValue(value);
84                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.FaceCullingMode, temp);
85                 temp.Dispose();
86             }
87         }
88
89         /// <summary>
90         /// Gets and Sets BlendMode.
91         /// </summary>
92         /// <since_tizen> 3 </since_tizen>
93         public int BlendMode
94         {
95             get
96             {
97                 int temp = 0;
98                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendMode);
99                 pValue.Get(out temp);
100                 pValue.Dispose();
101                 return temp;
102             }
103             set
104             {
105                 var temp = new Tizen.NUI.PropertyValue(value);
106                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendMode, temp);
107                 temp.Dispose();
108             }
109         }
110
111         /// <summary>
112         /// Gets and Sets BlendEquationRgb.
113         /// </summary>
114         /// <since_tizen> 3 </since_tizen>
115         public int BlendEquationRgb
116         {
117             get
118             {
119                 int temp = 0;
120                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendEquationRgb);
121                 pValue.Get(out temp);
122                 pValue.Dispose();
123                 return temp;
124             }
125             set
126             {
127                 var temp = new Tizen.NUI.PropertyValue(value);
128                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendEquationRgb, temp);
129                 temp.Dispose();
130             }
131         }
132
133         /// <summary>
134         /// Gets and Sets BlendEquationAlpha.
135         /// </summary>
136         /// <since_tizen> 3 </since_tizen>
137         public int BlendEquationAlpha
138         {
139             get
140             {
141                 int temp = 0;
142                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendEquationAlpha);
143                 pValue.Get(out temp);
144                 pValue.Dispose();
145                 return temp;
146             }
147             set
148             {
149                 var temp = new Tizen.NUI.PropertyValue(value);
150                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendEquationAlpha, temp);
151                 temp.Dispose();
152             }
153         }
154
155         /// <summary>
156         /// Gets and Sets BlendFactorSrcRgb.
157         /// </summary>
158         /// <since_tizen> 3 </since_tizen>
159         public int BlendFactorSrcRgb
160         {
161             get
162             {
163                 int temp = 0;
164                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendFactorSrcRgb);
165                 pValue.Get(out temp);
166                 pValue.Dispose();
167                 return temp;
168             }
169             set
170             {
171                 var temp = new Tizen.NUI.PropertyValue(value);
172                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendFactorSrcRgb, temp);
173                 temp.Dispose();
174             }
175         }
176
177         /// <summary>
178         /// Gets and Sets BlendFactorDestRgb.
179         /// </summary>
180         /// <since_tizen> 3 </since_tizen>
181         public int BlendFactorDestRgb
182         {
183             get
184             {
185                 int temp = 0;
186                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendFactorDestRgb);
187                 pValue.Get(out temp);
188                 pValue.Dispose();
189                 return temp;
190             }
191             set
192             {
193                 var temp = new Tizen.NUI.PropertyValue(value);
194                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendFactorDestRgb, temp);
195                 temp.Dispose();
196             }
197         }
198
199         /// <summary>
200         /// Gets and Sets BlendFactorSrcAlpha.
201         /// </summary>
202         /// <since_tizen> 3 </since_tizen>
203         public int BlendFactorSrcAlpha
204         {
205             get
206             {
207                 int temp = 0;
208                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendFactorSrcAlpha);
209                 pValue.Get(out temp);
210                 pValue.Dispose();
211                 return temp;
212             }
213             set
214             {
215                 var temp = new Tizen.NUI.PropertyValue(value);
216                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendFactorSrcAlpha, temp);
217                 temp.Dispose();
218             }
219         }
220
221         /// <summary>
222         /// Gets and Sets BlendFactorDestAlpha.
223         /// </summary>
224         /// <since_tizen> 3 </since_tizen>
225         public int BlendFactorDestAlpha
226         {
227             get
228             {
229                 int temp = 0;
230                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendFactorDestAlpha);
231                 pValue.Get(out temp);
232                 pValue.Dispose();
233                 return temp;
234             }
235             set
236             {
237                 var temp = new Tizen.NUI.PropertyValue(value);
238                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendFactorDestAlpha, temp);
239                 temp.Dispose();
240             }
241         }
242
243         /// <summary>
244         /// Gets and Sets BlendColor.
245         /// </summary>
246         /// <since_tizen> 3 </since_tizen>
247         public Vector4 BlendColor
248         {
249             get
250             {
251                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
252                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendColor);
253                 pValue.Get(temp);
254                 pValue.Dispose();
255                 return temp;
256             }
257             set
258             {
259                 var temp = new Tizen.NUI.PropertyValue(value);
260                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendColor, temp);
261                 temp.Dispose();
262             }
263         }
264
265         /// <summary>
266         /// Gets and Sets BlendPreMultipliedAlpha.
267         /// </summary>
268         /// <since_tizen> 3 </since_tizen>
269         public bool BlendPreMultipliedAlpha
270         {
271             get
272             {
273                 bool temp = false;
274                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.BlendPreMultipliedAlpha);
275                 pValue.Get(out temp);
276                 pValue.Dispose();
277                 return temp;
278             }
279             set
280             {
281                 var temp = new Tizen.NUI.PropertyValue(value);
282                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.BlendPreMultipliedAlpha, temp);
283                 temp.Dispose();
284             }
285         }
286
287         /// <summary>
288         /// Gets and Sets IndexRangeFirst.
289         /// </summary>
290         /// <since_tizen> 3 </since_tizen>
291         public int IndexRangeFirst
292         {
293             get
294             {
295                 int temp = 0;
296                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.IndexRangeFirst);
297                 pValue.Get(out temp);
298                 pValue.Dispose();
299                 return temp;
300             }
301             set
302             {
303                 var temp = new Tizen.NUI.PropertyValue(value);
304                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.IndexRangeFirst, temp);
305                 temp.Dispose();
306             }
307         }
308
309         /// <summary>
310         /// Gets and Sets IndexRangeCount.
311         /// </summary>
312         /// <since_tizen> 3 </since_tizen>
313         public int IndexRangeCount
314         {
315             get
316             {
317                 int temp = 0;
318                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.IndexRangeCount);
319                 pValue.Get(out temp);
320                 pValue.Dispose();
321                 return temp;
322             }
323             set
324             {
325                 var temp = new Tizen.NUI.PropertyValue(value);
326                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.IndexRangeCount, temp);
327                 temp.Dispose();
328             }
329         }
330
331         /// <summary>
332         /// Gets and Sets DepthWriteMode.
333         /// </summary>
334         /// <since_tizen> 3 </since_tizen>
335         public int DepthWriteMode
336         {
337             get
338             {
339                 int temp = 0;
340                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.DepthWriteMode);
341                 pValue.Get(out temp);
342                 pValue.Dispose();
343                 return temp;
344             }
345             set
346             {
347                 var temp = new Tizen.NUI.PropertyValue(value);
348                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.DepthWriteMode, temp);
349                 temp.Dispose();
350             }
351         }
352
353         /// <summary>
354         /// Gets and Sets DepthFunction.
355         /// </summary>
356         /// <since_tizen> 3 </since_tizen>
357         public int DepthFunction
358         {
359             get
360             {
361                 int temp = 0;
362                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.DepthFunction);
363                 pValue.Get(out temp);
364                 pValue.Dispose();
365                 return temp;
366             }
367             set
368             {
369                 var temp = new Tizen.NUI.PropertyValue(value);
370                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.DepthFunction, temp);
371                 temp.Dispose();
372             }
373         }
374
375         /// <summary>
376         /// Gets and Sets DepthTestMode.
377         /// </summary>
378         /// <since_tizen> 3 </since_tizen>
379         public int DepthTestMode
380         {
381             get
382             {
383                 int temp = 0;
384                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.DepthTestMode);
385                 pValue.Get(out temp);
386                 pValue.Dispose();
387                 return temp;
388             }
389             set
390             {
391                 var temp = new Tizen.NUI.PropertyValue(value);
392                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.DepthTestMode, temp);
393                 temp.Dispose();
394             }
395         }
396
397         /// <summary>
398         /// Gets and Sets RenderMode.
399         /// </summary>
400         /// <since_tizen> 3 </since_tizen>
401         public int RenderMode
402         {
403             get
404             {
405                 int temp = 0;
406                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.RenderMode);
407                 pValue.Get(out temp);
408                 pValue.Dispose();
409                 return temp;
410             }
411             set
412             {
413                 var temp = new Tizen.NUI.PropertyValue(value);
414                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.RenderMode, temp);
415                 temp.Dispose();
416             }
417         }
418
419         /// <summary>
420         /// Gets and Sets StencilFunction.
421         /// </summary>
422         /// <since_tizen> 3 </since_tizen>
423         public int StencilFunction
424         {
425             get
426             {
427                 int temp = 0;
428                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilFunction);
429                 pValue.Get(out temp);
430                 pValue.Dispose();
431                 return temp;
432             }
433             set
434             {
435                 var temp = new Tizen.NUI.PropertyValue(value);
436                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilFunction, temp);
437                 temp.Dispose();
438             }
439         }
440
441         /// <summary>
442         /// Gets and Sets StencilFunctionMask.
443         /// </summary>
444         /// <since_tizen> 3 </since_tizen>
445         public int StencilFunctionMask
446         {
447             get
448             {
449                 int temp = 0;
450                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilFunctionMask);
451                 pValue.Get(out temp);
452                 pValue.Dispose();
453                 return temp;
454             }
455             set
456             {
457                 var temp = new Tizen.NUI.PropertyValue(value);
458                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilFunctionMask, temp);
459                 temp.Dispose();
460             }
461         }
462
463         /// <summary>
464         /// Gets and Sets StencilFunctionReference.
465         /// </summary>
466         /// <since_tizen> 3 </since_tizen>
467         public int StencilFunctionReference
468         {
469             get
470             {
471                 int temp = 0;
472                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilFunctionReference);
473                 pValue.Get(out temp);
474                 pValue.Dispose();
475                 return temp;
476             }
477             set
478             {
479                 var temp = new Tizen.NUI.PropertyValue(value);
480                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilFunctionReference, temp);
481                 temp.Dispose();
482             }
483         }
484
485         /// <summary>
486         /// Gets and Sets StencilMask.
487         /// </summary>
488         /// <since_tizen> 3 </since_tizen>
489         public int StencilMask
490         {
491             get
492             {
493                 int temp = 0;
494                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilMask);
495                 pValue.Get(out temp);
496                 pValue.Dispose();
497                 return temp;
498             }
499             set
500             {
501                 var temp = new Tizen.NUI.PropertyValue(value);
502                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilMask, temp);
503                 temp.Dispose();
504             }
505         }
506
507         /// <summary>
508         /// Gets and Sets StencilOperationOnFail.
509         /// </summary>
510         /// <since_tizen> 3 </since_tizen>
511         public int StencilOperationOnFail
512         {
513             get
514             {
515                 int temp = 0;
516                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilOperationOnFail);
517                 pValue.Get(out temp);
518                 pValue.Dispose();
519                 return temp;
520             }
521             set
522             {
523                 var temp = new Tizen.NUI.PropertyValue(value);
524                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilOperationOnFail, temp);
525                 temp.Dispose();
526             }
527         }
528
529         /// <summary>
530         /// Gets and Sets StencilOperationOnZFail.
531         /// </summary>
532         /// <since_tizen> 3 </since_tizen>
533         public int StencilOperationOnZFail
534         {
535             get
536             {
537                 int temp = 0;
538                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilOperationOnZFail);
539                 pValue.Get(out temp);
540                 pValue.Dispose();
541                 return temp;
542             }
543             set
544             {
545                 var temp = new Tizen.NUI.PropertyValue(value);
546                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilOperationOnZFail, temp);
547                 temp.Dispose();
548             }
549         }
550
551         /// <summary>
552         /// Gets and Sets StencilOperationOnZPass property.
553         /// </summary>
554         /// <since_tizen> 3 </since_tizen>
555         public int StencilOperationOnZPass
556         {
557             get
558             {
559                 int temp = 0;
560                 var pValue = Tizen.NUI.Object.GetProperty(SwigCPtr, Renderer.Property.StencilOperationOnZPass);
561                 pValue.Get(out temp);
562                 pValue.Dispose();
563                 return temp;
564             }
565             set
566             {
567                 var temp = new Tizen.NUI.PropertyValue(value);
568                 Tizen.NUI.Object.SetProperty(SwigCPtr, Renderer.Property.StencilOperationOnZPass, temp);
569                 temp.Dispose();
570             }
571         }
572
573         /// <summary>
574         /// Sets the geometry to be used by this renderer.
575         /// </summary>
576         /// <param name="geometry">The geometry to be used by this renderer.</param>
577         /// <since_tizen> 3 </since_tizen>
578         public void SetGeometry(Geometry geometry)
579         {
580             Interop.Renderer.SetGeometry(SwigCPtr, Geometry.getCPtr(CurrentGeometry = geometry));
581             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
582         }
583
584         /// <summary>
585         /// Gets the geometry used by this renderer.
586         /// </summary>
587         /// <returns>The geometry used by the renderer.</returns>
588         /// <since_tizen> 3 </since_tizen>
589         public Geometry GetGeometry()
590         {
591             return CurrentGeometry;
592         }
593
594         /// <summary>
595         /// Sets effective range of indices to draw from bound index buffer.
596         /// </summary>
597         /// <param name="firstElement">The First element to draw.</param>
598         /// <param name="elementsCount">The number of elements to draw.</param>
599         /// <since_tizen> 3 </since_tizen>
600         public void SetIndexRange(int firstElement, int elementsCount)
601         {
602             Interop.Renderer.SetIndexRange(SwigCPtr, firstElement, elementsCount);
603             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
604         }
605
606         /// <summary>
607         /// Sets the texture set to be used by this renderer.
608         /// </summary>
609         /// <param name="textureSet">The texture set to be used by this renderer.</param>
610         /// <since_tizen> 3 </since_tizen>
611         public void SetTextures(TextureSet textureSet)
612         {
613             Interop.Renderer.SetTextures(SwigCPtr, TextureSet.getCPtr(textureSet));
614             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
615         }
616
617         /// <summary>
618         /// Gets the texture set used by this renderer.
619         /// </summary>
620         /// <returns>The texture set used by the renderer.</returns>
621         /// <since_tizen> 3 </since_tizen>
622         public TextureSet GetTextures()
623         {
624             //to fix memory leak issue, match the handle count with native side.
625             System.IntPtr cPtr = Interop.Renderer.GetTextures(SwigCPtr);
626             HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
627             TextureSet ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TextureSet;
628             if (cPtr != null && ret == null)
629             {
630                 ret = new TextureSet(cPtr, false);
631                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
632                 return ret;
633             }
634             Interop.BaseHandle.DeleteBaseHandle(CPtr);
635             CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
636
637             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
638             return ret;
639         }
640
641         /// <summary>
642         /// Sets the shader used by this renderer.
643         /// </summary>
644         /// <param name="shader">The shader to be used by this renderer.</param>
645         /// <since_tizen> 3 </since_tizen>
646         public void SetShader(Shader shader)
647         {
648             Interop.Renderer.SetShader(SwigCPtr, Shader.getCPtr(CurrentShader = shader));
649             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
650         }
651
652         /// <summary>
653         /// Gets the shader used by this renderer.
654         /// </summary>
655         /// <returns>The shader used by the renderer.</returns>
656         /// <since_tizen> 3 </since_tizen>
657         public Shader GetShader()
658         {
659             return CurrentShader;
660         }
661
662         internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
663         {
664         }
665
666         /// This will not be public opened.
667         [EditorBrowsable(EditorBrowsableState.Never)]
668         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
669         {
670             Interop.Renderer.DeleteRenderer(swigCPtr);
671         }
672
673         /// <since_tizen> 6.0 </since_tizen>
674         /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
675         [EditorBrowsable(EditorBrowsableState.Never)]
676         public sealed class Ranges
677         {
678             /// <since_tizen> 6.0 </since_tizen>
679             /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
680             [EditorBrowsable(EditorBrowsableState.Never)]
681             public static readonly int BackgroundEffect = Interop.Renderer.RangesBackgroundEffectGet();
682
683             /// <since_tizen> 6.0 </since_tizen>
684             /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
685             [EditorBrowsable(EditorBrowsableState.Never)]
686             public static readonly int BACKGROUND = Interop.Renderer.RangesBackgroundGet();
687
688             /// <since_tizen> 6.0 </since_tizen>
689             /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
690             [EditorBrowsable(EditorBrowsableState.Never)]
691             public static readonly int CONTENT = Interop.Renderer.RangesContentGet();
692
693             /// <since_tizen> 6.0 </since_tizen>
694             /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
695             [EditorBrowsable(EditorBrowsableState.Never)]
696             public static readonly int DECORATION = Interop.Renderer.RangesDecorationGet();
697
698             /// <since_tizen> 6.0 </since_tizen>
699             /// This will be changed internal API after ACR done. Before ACR, need to be hidden as inhouse API.
700             [EditorBrowsable(EditorBrowsableState.Never)]
701             public static readonly int ForegroundEffect = Interop.Renderer.RangesForegroundEffectGet();
702
703
704
705             [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use ForegroundEffect instead.")]
706             [EditorBrowsable(EditorBrowsableState.Never)]
707             [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores", Justification = "<Pending>")]
708             public static readonly int FOREGROUND_EFFECT = Interop.Renderer.RangesForegroundEffectGet();
709
710             [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use BackgroundEffect instead.")]
711             [EditorBrowsable(EditorBrowsableState.Never)]
712             [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores", Justification = "<Pending>")]
713             public static readonly int BACKGROUND_EFFECT = Interop.Renderer.RangesBackgroundEffectGet();
714         }
715
716         /// <summary>
717         /// Enumeration for instances of properties belonging to the Renderer class.
718         /// </summary>
719         internal class Property
720         {
721             internal static readonly int DepthIndex = Interop.Renderer.DepthIndexGet();
722             internal static readonly int FaceCullingMode = Interop.Renderer.FaceCullingModeGet();
723             internal static readonly int BlendMode = Interop.Renderer.BlendModeGet();
724             internal static readonly int BlendEquationRgb = Interop.Renderer.BlendEquationRgbGet();
725             internal static readonly int BlendEquationAlpha = Interop.Renderer.BlendEquationAlphaGet();
726             internal static readonly int BlendFactorSrcRgb = Interop.Renderer.BlendFactorSrcRgbGet();
727             internal static readonly int BlendFactorDestRgb = Interop.Renderer.BlendFactorDestRgbGet();
728             internal static readonly int BlendFactorSrcAlpha = Interop.Renderer.BlendFactorSrcAlphaGet();
729             internal static readonly int BlendFactorDestAlpha = Interop.Renderer.BlendFactorDestAlphaGet();
730             internal static readonly int BlendColor = Interop.Renderer.BlendColorGet();
731             internal static readonly int BlendPreMultipliedAlpha = Interop.Renderer.BlendPreMultipliedAlphaGet();
732             internal static readonly int IndexRangeFirst = Interop.Renderer.IndexRangeFirstGet();
733             internal static readonly int IndexRangeCount = Interop.Renderer.IndexRangeCountGet();
734             internal static readonly int DepthWriteMode = Interop.Renderer.DepthWriteModeGet();
735             internal static readonly int DepthFunction = Interop.Renderer.DepthFunctionGet();
736             internal static readonly int DepthTestMode = Interop.Renderer.DepthTestModeGet();
737             internal static readonly int RenderMode = Interop.Renderer.RenderModeGet();
738             internal static readonly int StencilFunction = Interop.Renderer.StencilFunctionGet();
739             internal static readonly int StencilFunctionMask = Interop.Renderer.StencilFunctionMaskGet();
740             internal static readonly int StencilFunctionReference = Interop.Renderer.StencilFunctionReferenceGet();
741             internal static readonly int StencilMask = Interop.Renderer.StencilMaskGet();
742             internal static readonly int StencilOperationOnFail = Interop.Renderer.StencilOperationOnFailGet();
743             internal static readonly int StencilOperationOnZFail = Interop.Renderer.StencilOperationOnZFailGet();
744             internal static readonly int StencilOperationOnZPass = Interop.Renderer.StencilOperationOnZPassGet();
745         }
746     }
747 }