OGLplus  (0.59.0) a C++ wrapper for rendering APIs

objects.hpp
Go to the documentation of this file.
1 #ifndef EGLPLUS_EGL_API_OBJECTS_HPP
9 #define EGLPLUS_EGL_API_OBJECTS_HPP
10 
11 #include "config.hpp"
12 #include <eagine/handle.hpp>
13 #include <eagine/message_id.hpp>
14 
15 namespace eagine::eglp {
16 //------------------------------------------------------------------------------
20 using device_tag = EAGINE_MSG_TYPE(egl, Device);
21 
25 using display_tag = EAGINE_MSG_TYPE(egl, Display);
26 
30 using surface_tag = EAGINE_MSG_TYPE(egl, Surface);
31 
35 using context_tag = EAGINE_MSG_TYPE(egl, Context);
36 
40 using stream_tag = EAGINE_MSG_TYPE(egl, Stream);
41 
45 using image_tag = EAGINE_MSG_TYPE(egl, Image);
46 
50 using output_layer_tag = EAGINE_MSG_TYPE(egl, OutLayer);
51 
55 using output_port_tag = EAGINE_MSG_TYPE(egl, OutPort);
56 
60 using sync_tag = EAGINE_MSG_TYPE(egl, Sync);
61 //------------------------------------------------------------------------------
65  device_tag,
68 //------------------------------------------------------------------------------
69 #if defined(EGL_NO_DISPLAY)
70 using display_handle =
72 #else
76 #endif
77 //------------------------------------------------------------------------------
78 #if defined(EGL_NO_SURFACE)
79 using surface_handle =
81 #else
85 #endif
86 //------------------------------------------------------------------------------
87 #if defined(EGL_NO_CONTEXT)
88 using context_handle =
90 #else
94 #endif
95 //------------------------------------------------------------------------------
99  stream_tag,
102 //------------------------------------------------------------------------------
103 #if defined(EGL_NO_IMAGE)
104 using image_handle =
106 #else
110 #endif
111 //------------------------------------------------------------------------------
115  stream_tag,
118 //------------------------------------------------------------------------------
122  stream_tag,
125 //------------------------------------------------------------------------------
126 #if defined(EGL_NO_SYNC)
128 #else
132 #endif
133 //------------------------------------------------------------------------------
134 } // namespace eagine::eglp
135 
136 #endif // EGLPLUS_EGL_API_OBJECTS_HPP
EAGINE_MSG_TYPE(egl, OutLayer) output_layer_tag
Tag type denoting EGL output layer.
Definition: objects.hpp:50
EGL-related code is placed in this namespace.
Definition: eglplus.hpp:11
void * output_layer_type
Output layer handle type.
Definition: config.hpp:66
EAGINE_MSG_TYPE(egl, Context) context_tag
Tag type denoting EGL context object.
Definition: objects.hpp:35
EAGINE_MSG_TYPE(egl, Sync) sync_tag
Tag type denoting EGL sync object.
Definition: objects.hpp:60
#define EAGINE_MSG_TYPE(API, NAME)
Macro for declaring instantiations of static_message_id.
Definition: message_id.hpp:140
Non-owning wrapper for C-API opaque handle types.
Definition: handle.hpp:26
void * output_port_type
Output port handle type.
Definition: config.hpp:69
EAGINE_MSG_TYPE(egl, OutPort) output_port_tag
Tag type denoting EGL output port.
Definition: objects.hpp:55
EAGINE_MSG_TYPE(egl, Image) image_tag
Tag type denoting EGL image object.
Definition: objects.hpp:45
EAGINE_MSG_TYPE(egl, Surface) surface_tag
Tag type denoting EGL surface object.
Definition: objects.hpp:30
EAGINE_MSG_TYPE(egl, Display) display_tag
Tag type denoting EGL display object.
Definition: objects.hpp:25
EAGINE_MSG_TYPE(egl, Device) device_tag
Tag type denoting EGL device object.
Definition: objects.hpp:20
void * device_type
Device handle type.
Definition: config.hpp:60
EAGINE_MSG_TYPE(egl, Stream) stream_tag
Tag type denoting EGL stream object.
Definition: objects.hpp:40
void * stream_type
Stream handle type.
Definition: config.hpp:63

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).