[Vulkan] Builtin shaders and shaders offline compilation script
[platform/core/uifw/dali-core.git] / dali / graphics-api / graphics-api-frame.h
1 #ifndef DALI_GRAPHICS_API_FRAME_H
2 #define DALI_GRAPHICS_API_FRAME_H
3
4 /*
5  * Copyright (c) 2018 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 namespace Dali
22 {
23 namespace Graphics
24 {
25 namespace API
26 {
27 /**
28  * @brief Interface class for Frame types in the graphics API.
29  *
30  * A frame is used to mark the beginning and end of a presentation cycle.
31  */
32 class Frame
33 {
34 public:
35
36   // not copyable
37   Frame(const Frame&) = delete;
38   Frame& operator=(const Frame&) = delete;
39
40   virtual ~Frame() = default;
41
42 //TODO: @todo this should be protected
43
44
45   // derived types should not be moved direcly to prevent slicing
46   Frame(Frame&&) = default;
47   Frame& operator=(Frame&&) = default;
48
49   /**
50    * Objects of this type should not directly.
51    */
52   Frame() = default;
53 };
54
55 } // namespace API
56 } // namespace Graphics
57 } // namespace Dali
58
59 #endif // DALI_GRAPHICS_API_FRAME_H