Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
gui
GLContext.h
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: GLContext.h
37
// Author: Florian Hecht
38
// Date: 2008
39
// ****************************************************************************
40
41
42
#ifndef _GL_CONTEXT_H_
43
#define _GL_CONTEXT_H_
44
45
46
// ****************************************************************************
47
// Necessary includes
48
// ****************************************************************************
49
50
#ifdef __APPLE__
51
#include <OpenGL/gl.h>
52
#include <OpenGL/glu.h>
53
#else
54
#ifdef WIN32
55
#include <windows.h>
56
#endif
57
#include <GL/gl.h>
58
#include <GL/glu.h>
59
#endif
60
61
#ifdef USE_QTGUI
62
#ifdef USE_OPENGL
63
#include <qgl.h>
64
#endif
65
class
MyQGLContext;
66
class
QPixmap;
67
class
QApplication;
68
#endif
69
70
#ifdef USE_GTKGUI
71
#include <GL/glx.h>
72
#endif
73
74
75
// ****************************************************************************
76
// Forward declarations
77
// ****************************************************************************
78
79
class
CByteImage
;
80
81
class
CGLContext
82
{
83
public
:
84
CGLContext
();
85
~CGLContext
();
86
87
bool
CreateContext
(
int
width
,
int
height
,
void
*shareContext = 0);
88
void
DeleteContext
();
89
90
void
MakeCurrent
();
91
void
DoneCurrent
();
92
bool
GetImage
(
CByteImage
*pImage);
93
94
private
:
95
96
#ifdef WIN32
97
HDC m_hDC;
98
HBITMAP m_hBmp;
99
HBITMAP m_hBmpOld;
100
HGLRC m_hGLRC;
101
102
int
m_nWidth;
103
int
m_nHeight;
104
unsigned
char
*m_pPixels;
105
#endif
106
107
#ifdef USE_QTGUI
108
QApplication *m_pApp;
109
QPixmap *m_pPixmap;
110
MyQGLContext *m_pGLContext;
111
#endif
112
113
#ifdef USE_COCOAGUI
114
void
*m_pGLContext;
115
int
m_nWidth;
116
int
m_nHeight;
117
unsigned
char
*m_pBuffer;
118
#endif
119
120
#ifdef USE_GTKGUI
121
Display *m_pXDisplay;
122
GLXContext m_glxcontext;
123
int
m_nWidth;
124
int
m_nHeight;
125
GLXPixmap m_glxpixmap;
126
Pixmap m_pFrontBuffer;
127
#endif
128
129
};
130
131
132
133
#endif
/* _GL_CONTEXT_H_ */
CGLContext::GetImage
bool GetImage(CByteImage *pImage)
CGLContext::DoneCurrent
void DoneCurrent()
CGLContext::CGLContext
CGLContext()
CGLContext::DeleteContext
void DeleteContext()
CByteImage
Data structure for the representation of 8-bit grayscale images and 24-bit RGB (or HSV) color images ...
Definition:
ByteImage.h:80
CGLContext::MakeCurrent
void MakeCurrent()
CGLContext::CreateContext
bool CreateContext(int width, int height, void *shareContext=0)
width
GLenum GLsizei width
Definition:
glext.h:3122
height
GLenum GLsizei GLsizei height
Definition:
glext.h:3132
CGLContext
Definition:
GLContext.h:81
CGLContext::~CGLContext
~CGLContext()
asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28