#include <iostream>
-#include "glws.hpp"
-
#include "glproc.hpp"
+#include "glws.hpp"
namespace glws {
~GlxVisual() {
XFree(visinfo);
- XFree(fbconfig);
}
};
GlxDrawable(const Visual *vis, int w, int h) :
Drawable(vis, w, h)
{
- XVisualInfo *visinfo = dynamic_cast<const GlxVisual *>(visual)->visinfo;
+ XVisualInfo *visinfo = static_cast<const GlxVisual *>(visual)->visinfo;
Window root = RootWindow(display, screen);
public:
GLXContext context;
- GlxContext(const Visual *vis, GLXContext ctx) :
- Context(vis),
+ GlxContext(const Visual *vis, Profile prof, GLXContext ctx) :
+ Context(vis, prof),
context(ctx)
{}
Context *
createContext(const Visual *_visual, Context *shareContext, Profile profile)
{
- const GlxVisual *visual = dynamic_cast<const GlxVisual *>(_visual);
+ const GlxVisual *visual = static_cast<const GlxVisual *>(_visual);
GLXContext share_context = NULL;
GLXContext context;
}
if (shareContext) {
- share_context = dynamic_cast<GlxContext*>(shareContext)->context;
+ share_context = static_cast<GlxContext*>(shareContext)->context;
}
if (glxVersion >= 0x0104 && has_GLX_ARB_create_context) {
context = glXCreateContext(display, visual->visinfo, share_context, True);
}
- return new GlxContext(visual, context);
+ return new GlxContext(visual, profile, context);
}
bool
if (!drawable || !context) {
return glXMakeCurrent(display, None, NULL);
} else {
- GlxDrawable *glxDrawable = dynamic_cast<GlxDrawable *>(drawable);
- GlxContext *glxContext = dynamic_cast<GlxContext *>(context);
+ GlxDrawable *glxDrawable = static_cast<GlxDrawable *>(drawable);
+ GlxContext *glxContext = static_cast<GlxContext *>(context);
return glXMakeCurrent(display, glxDrawable->window, glxContext->context);
}