Carna  Version 3.0.1
QGLContextHolder.h
1 /*
2  * Copyright (C) 2010 - 2015 Leonid Kostrykin
3  *
4  * Chair of Medical Engineering (mediTEC)
5  * RWTH Aachen University
6  * Pauwelsstr. 20
7  * 52074 Aachen
8  * Germany
9  *
10  */
11 
12 #pragma once
13 
14 #include <Carna/Carna.h>
15 #include <QGLFormat>
16 
17 class QGLFormat;
18 class QGLPixelBuffer;
19 
20 namespace Carna
21 {
22 
23 namespace testing
24 {
25 
26 
27 
28 // ----------------------------------------------------------------------------------
29 // QGLContextHolder
30 // ----------------------------------------------------------------------------------
31 
32 class QGLContextHolder
33 {
34 
35  const std::unique_ptr< QGLPixelBuffer > pbuffer;
36 
37  const std::unique_ptr< Carna::base::GLContext > glContextWrapper;
38 
39  const static QGLFormat format;
40 
41  static Carna::base::GLContext* createGLContextWrapper( QGLPixelBuffer& );
42 
43 public:
44 
45  QGLContextHolder();
46 
47  Carna::base::GLContext& glContext();
48 
49 }; // QGLContextHolder
50 
51 
52 
53 } // namespace testing
54 
55 } // namespace Carna
Wraps and represents an OpenGL context.
Definition: GLContext.h:62