55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
#include "WXGLWindow.h"
|
|
|
|
void WXGLWindow::SwapBuffers() {
|
|
glCanvas->SwapBuffers();
|
|
}
|
|
|
|
void WXGLWindow::SetWindowText(const char *text) {
|
|
frame->SetTitle(wxString::FromAscii(text));
|
|
}
|
|
|
|
bool WXGLWindow::PeekMessages() {
|
|
// TODO implmenent
|
|
return false;
|
|
}
|
|
|
|
void WXGLWindow::Update() {
|
|
updateDim();
|
|
}
|
|
|
|
bool WXGLWindow::MakeCurrent() {
|
|
glCanvas->SetCurrent(*glCtxt);
|
|
return true;
|
|
}
|
|
|
|
WXGLWindow::~WXGLWindow() {
|
|
delete glCanvas;
|
|
delete frame;
|
|
}
|
|
|
|
WXGLWindow::WXGLWindow() : GLWindow() {
|
|
|
|
updateDim();
|
|
|
|
int args[] = {WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE, 16, 0};
|
|
|
|
wxSize size(GetWidth(), GetHeight());
|
|
if (!g_Config.renderToMainframe ||
|
|
g_VideoInitialize.pWindowHandle == NULL) {
|
|
frame = new wxFrame((wxWindow *)g_VideoInitialize.pWindowHandle,
|
|
-1, _("Dolphin"), wxPoint(0,0), size);
|
|
} else {
|
|
frame = new wxFrame((wxWindow *)NULL,
|
|
-1, _("Dolphin"), wxPoint(0,0), size);
|
|
}
|
|
glCanvas = new wxGLCanvas(frame, wxID_ANY, args,
|
|
wxPoint(0,0), size, wxSUNKEN_BORDER);
|
|
glCtxt = new wxGLContext(glCanvas);
|
|
|
|
frame->Show(TRUE);
|
|
glCanvas->Show(TRUE);
|
|
|
|
glCanvas->SetCurrent(*glCtxt);
|
|
}
|
|
|