Crazy Eddie's GUI System
0.8.4
Main Page
Related Pages
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
GLXPBTextureTarget.h
1
/***********************************************************************
2
created: Sat Jan 31 2009
3
author: Paul D Turner
4
*************************************************************************/
5
/***************************************************************************
6
* Copyright (C) 2004 - 2011 Paul D Turner & The CEGUI Development Team
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining
9
* a copy of this software and associated documentation files (the
10
* "Software"), to deal in the Software without restriction, including
11
* without limitation the rights to use, copy, modify, merge, publish,
12
* distribute, sublicense, and/or sell copies of the Software, and to
13
* permit persons to whom the Software is furnished to do so, subject to
14
* the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be
17
* included in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
26
***************************************************************************/
27
#ifndef _CEGUIOpenGLGLXPBTextureTarget_h_
28
#define _CEGUIOpenGLGLXPBTextureTarget_h_
29
30
#include <GL/glxew.h>
31
32
#include "CEGUI/RendererModules/OpenGL/TextureTarget.h"
33
34
// Start of CEGUI namespace section
35
namespace
CEGUI
36
{
37
class
OpenGLTexture;
38
44
class
OPENGL_GUIRENDERER_API
OpenGLGLXPBTextureTarget
:
public
OpenGLTextureTarget
45
{
46
public
:
47
OpenGLGLXPBTextureTarget
(
OpenGLRendererBase
& owner);
48
virtual
~
OpenGLGLXPBTextureTarget
();
49
50
// overrides from OpenGLRenderTarget
51
void
activate();
52
void
deactivate();
53
// implementation of TextureTarget interface
54
void
clear();
55
void
declareRenderSize(
const
Sizef
& sz);
56
// specialise functions from OpenGLTextureTarget
57
void
grabTexture();
58
void
restoreTexture();
59
60
protected
:
62
static
const
float
DEFAULT_SIZE
;
63
65
void
initialisePBuffer();
66
68
void
enablePBuffer()
const
;
69
71
void
disablePBuffer()
const
;
72
74
void
initialiseTexture();
75
77
void
selectFBConfig();
78
80
void
createContext();
81
83
Display*
d_dpy
;
85
GLXFBConfig
d_fbconfig
;
87
GLXContext
d_context
;
89
GLXPbuffer
d_pbuffer
;
91
mutable
Display*
d_prevDisplay
;
93
mutable
GLXDrawable
d_prevDrawable
;
95
mutable
GLXContext
d_prevContext
;
96
};
97
98
}
// End of CEGUI namespace section
99
100
#endif // end of guard _CEGUIOpenGLGLXPBTextureTarget_h_
cegui
include
CEGUI
RendererModules
OpenGL
GLXPBTextureTarget.h
Generated by
1.8.3.1