Dali 3D User Interface Engine
renderer.h
Go to the documentation of this file.
1 #ifndef DALI_RENDERER_H
2 #define DALI_RENDERER_H
3 
4 /*
5  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20 
21 // EXTERNAL INCLUDES
22 #include <string> // std::string
23 
24 // INTERNAL INCLUDES
25 #include <dali/public-api/actors/blending.h> // Dali::BlendingMode, Dali::BlendingEquation, Dali::BlendingFactor
26 #include <dali/public-api/object/handle.h> // Dali::Handle
27 #include <dali/public-api/object/property-index-ranges.h> // DEFAULT_OBJECT_PROPERTY_START_INDEX
28 #include <dali/devel-api/rendering/geometry.h> // Dali::Geometry
29 #include <dali/devel-api/rendering/material.h> // Dali::Material
30 
31 namespace Dali
32 {
33 
34 namespace Internal DALI_INTERNAL
35 {
36 class Renderer;
37 }
38 
43 {
44 public:
45 
50  {
51  NONE,
55  };
56 
60  struct Property
61  {
62  enum
63  {
75  };
76  };
77 
84  static Renderer New( Geometry& geometry, Material& material );
85 
89  Renderer();
90 
94  ~Renderer();
95 
101  Renderer( const Renderer& handle );
102 
110  static Renderer DownCast( BaseHandle handle );
111 
118  Renderer& operator=( const Renderer& handle );
119 
125  void SetGeometry( Geometry& geometry );
126 
132  Geometry GetGeometry() const;
133 
139  void SetMaterial( Material& material );
140 
146  Material GetMaterial() const;
147 
161  void SetBlendFunc( BlendingFactor::Type srcFactorRgba, BlendingFactor::Type destFactorRgba );
162 
182  void SetBlendFunc( BlendingFactor::Type srcFactorRgb, BlendingFactor::Type destFactorRgb,
183  BlendingFactor::Type srcFactorAlpha, BlendingFactor::Type destFactorAlpha );
184 
193  void GetBlendFunc( BlendingFactor::Type& srcFactorRgb, BlendingFactor::Type& destFactorRgb,
194  BlendingFactor::Type& srcFactorAlpha, BlendingFactor::Type& destFactorAlpha ) const;
195 
202  void SetBlendEquation( BlendingEquation::Type equationRgba );
203 
211  void SetBlendEquation( BlendingEquation::Type equationRgb, BlendingEquation::Type equationAlpha );
212 
219  void GetBlendEquation( BlendingEquation::Type& equationRgb, BlendingEquation::Type& equationAlpha ) const;
220 
221 public:
227  explicit DALI_INTERNAL Renderer( Internal::Renderer* pointer );
228 };
229 
230 } //namespace Dali
231 
232 #endif // DALI_RENDERER_H
Dali Docs Home
Read more about Dali