1 #ifndef __DALI_INTERNAL_SCENE_GRAPH_RENDER_ITEM_H__
2 #define __DALI_INTERNAL_SCENE_GRAPH_RENDER_ITEM_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.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
11 // http://floralicense.org/license/
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.
21 #include <dali/public-api/common/vector-wrapper.h>
22 #include <dali/public-api/actors/layer.h>
23 #include <dali/public-api/math/matrix.h>
37 typedef std::vector< RenderItem > RendererItemContainer;
40 * A render-item is a renderer & modelView matrix pair.
47 * Create a new render-item.
52 * Non-virtual destructor; RenderItem is not suitable as a base class.
57 * Reset the render-item.
62 * Retrieve the renderer.
63 * @return The renderer.
65 const Renderer* GetRenderer() const;
69 * @param[in] renderer The renderer
71 void SetRenderer( Renderer* renderer );
74 * Retrieve the modelView matrix.
75 * @return The modelView matrix.
77 Matrix& GetModelViewMatrix();
80 * Retrieve the modelView matrix.
81 * @return The modelView matrix.
83 const Matrix& GetModelViewMatrix() const;
87 // RenderItems should not be copied as they are heavy
88 RenderItem( const RenderItem& item );
89 RenderItem& operator=( const RenderItem& item );
92 Matrix mModelViewMatrix;
96 } // namespace SceneGraph
98 } // namespace Internal
102 #endif // __DALI_INTERNAL_SCENE_GRAPH_RENDER_ITEM_H__