Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
surfaceless_egl_context.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Alexandros Frantzis <alexandros.frantzis@canonical.com>
17  */
18 
19 #ifndef MIR_GRAPHICS_SURFACELESS_EGL_CONTEXT_H_
20 #define MIR_GRAPHICS_SURFACELESS_EGL_CONTEXT_H_
21 
24 
25 #include <EGL/egl.h>
26 
27 namespace mir
28 {
29 namespace graphics
30 {
31 
33 {
34 public:
35  SurfacelessEGLContext(EGLDisplay egl_display, EGLContext shared_context);
36  SurfacelessEGLContext(EGLDisplay egl_display, EGLint const* attribs, EGLContext shared_context);
37  /* We have to explicitly define this, as GLContext has a deleted copy constructor */
39  virtual ~SurfacelessEGLContext() noexcept;
40 
41  void make_current() const override;
42  void release_current() const override;
43 
44  operator EGLContext() const;
45 
46 private:
48  SurfacelessEGLContext& operator=(SurfacelessEGLContext const&) = delete;
49 
50  EGLDisplay egl_display;
51  bool surfaceless;
52  EGLConfig egl_config;
53  graphics::EGLSurfaceStore egl_surface;
54  graphics::EGLContextStore egl_context;
55 };
56 
57 }
58 }
59 
60 #endif /* MIR_GRAPHICS_SURFACELESS_EGL_SURFACE_H_ */
void make_current() const override
Definition: surfaceless_egl_context.cpp:181
void release_current() const override
Definition: surfaceless_egl_context.cpp:194
Definition: surfaceless_egl_context.h:32
virtual ~SurfacelessEGLContext() noexcept
Definition: surfaceless_egl_context.cpp:175
Definition: egl_resources.h:29
SurfacelessEGLContext(EGLDisplay egl_display, EGLContext shared_context)
Definition: surfaceless_egl_context.cpp:141
Definition: gl_context.h:27
Definition: egl_resources.h:47

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Apr 11 21:14:53 UTC 2014