32 #if(defined DC_BACKENDS_OPENGLFRAMEBUFFER_X11 || defined DC_BACKENDS_OPENGLFRAMEBUFFER_WIN32)
33 #ifndef H_DC_DISPLAY_GLFRAME
34 #define H_DC_DISPLAY_GLFRAME
44 #ifdef DC_SUBSYSTEM_WIN32
58 #ifdef DC_SUBSYSTEM_X11
66 typedef Display X11Display;
71 #include <Dynacoe/Backends/Display/Display.h>
84 std::string Version();
88 void Resize(
int,
int);
89 void SetPosition(
int,
int);
90 void Fullscreen(
bool);
93 void LockClientResize(
bool);
94 void LockClientPosition(
bool);
95 void SetViewPolicy(ViewPolicy);
102 void SetName(
const std::string &);
103 void AddResizeCallback(ResizeCallback *);
104 void RemoveResizeCallback(ResizeCallback *);
105 void AddCloseCallback(CloseCallback *);
106 void RemoveCloseCallback(CloseCallback *);
111 std::vector<Dynacoe::Framebuffer::Type> SupportedFramebuffers();
115 void * GetSystemHandle();
116 DisplayHandleType GetSystemHandleType();
117 void * GetLastSystemEvent();
118 DisplayEventType GetSystemEventType();
120 bool Dump(
const std::string &);
121 void QueueDump(
const std::string &,
int delay);
126 std::vector<Display::ResizeCallback *> resizeCBs;
127 std::vector<Display::CloseCallback *> closeCBs;
137 char * framebufferPixels;
138 GLuint framebufferImage;
140 GLint framebufferW, framebufferH;
143 bool spawnWindow(
const char *,
int,
int);
145 bool queryCapabilities();
146 void setupDisplayProgram();
147 void drawFrame(
int,
int);
150 GLfloat transformResult[16];
151 unsigned int winH, winW;
153 #ifdef DC_SUBSYSTEM_WIN32
154 bool createContext(HWND h);
158 std::vector<MSG> lastMsgs;
161 static LRESULT CALLBACK WindowCallback(HWND, UINT, WPARAM, LPARAM);
165 #ifdef DC_SUBSYSTEM_X11
166 bool createContext();
170 XSetWindowAttributes swa;
174 XWindowAttributes gwa;
176 std::vector<XEvent> lastEvents;
187 enum ProgramBindPoint {
192 std::stack<std::string> dumpQueue;
193 std::stack<int> dumpWait;
198 struct DisplayVertex {
Contains a visual state.
Definition: Framebuffer.h:49
Capability
The standard functional capabilities of a Display.
Definition: Display.h:86
ViewPolicy
Controls how the Display displays Rendered data.
Definition: Display.h:96
Backend that controls how data is displayed to the user.
Definition: Display.h:53