1 #ifndef __DALI_INTERNAL_SCENE_GRAPH_BUFFERS_H__
2 #define __DALI_INTERNAL_SCENE_GRAPH_BUFFERS_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/internal/common/buffer-index.h>
33 * Node values (position etc.) are double-buffered. A SceneGraphBuffers object
34 * can be used to keep track of which buffers are being written or read.
36 class SceneGraphBuffers
40 static BufferIndex INITIAL_EVENT_BUFFER_INDEX; // 0
41 static BufferIndex INITIAL_UPDATE_BUFFER_INDEX; // 1
44 * Create a SceneGraphBuffers object.
49 * Non-virtual destructor; not intended as a base class.
54 * Retrieve the current event-buffer index.
55 * @return The buffer index.
57 BufferIndex GetEventBufferIndex() const { return mEventBufferIndex; }
60 * Retrieve the current update-buffer index.
61 * @return The buffer index.
63 BufferIndex GetUpdateBufferIndex() const { return mUpdateBufferIndex; }
66 * Swap the Event & Update buffer indices.
73 SceneGraphBuffers(const SceneGraphBuffers&);
76 SceneGraphBuffers& operator=(const SceneGraphBuffers& rhs);
80 BufferIndex mEventBufferIndex; ///< 0 or 1 (opposite of mUpdateBufferIndex)
81 BufferIndex mUpdateBufferIndex; ///< 0 or 1 (opposite of mEventBufferIndex)
84 } // namespace SceneGraph
86 } // namespace Internal
90 #endif // __DALI_INTERNAL_SCENE_GRAPH_BUFFERS_H__