}
glws::init();
- visual = glws::createVisual(double_buffer);
+ visual = glws::createVisual(double_buffer, defaultProfile);
for ( ; i < argc; ++i) {
if (!parser.open(argv[i])) {
cleanup(void);
Visual *
-createVisual(bool doubleBuffer = false);
+createVisual(bool doubleBuffer = false, Profile profile = PROFILE_COMPAT);
Drawable *
createDrawable(const Visual *visual, int width = 32, int height = 32);
Visual *
-createVisual(bool doubleBuffer) {
+createVisual(bool doubleBuffer, Profile profile) {
NSOpenGLPixelFormatAttribute single_attribs[] = {
NSOpenGLPFAAlphaSize, (NSOpenGLPixelFormatAttribute)1,
NSOpenGLPFAColorSize, (NSOpenGLPixelFormatAttribute)24,
(NSOpenGLPixelFormatAttribute)0
};
+ if (profile != PROFILE_COMPAT) {
+ return nil;
+ }
+
NSOpenGLPixelFormatAttribute *attribs = doubleBuffer ? double_attribs : single_attribs;
NSOpenGLPixelFormat *pixelFormat = [[NSOpenGLPixelFormat alloc]
}
Visual *
-createVisual(bool doubleBuffer) {
+createVisual(bool doubleBuffer, Profile profile) {
EglVisual *visual = new EglVisual();
// possible combinations
const EGLint api_bits[7] = {
}
Visual *
-createVisual(bool doubleBuffer) {
+createVisual(bool doubleBuffer, Profile profile) {
+ if (profile != PROFILE_COMPAT &&
+ profile != PROFILE_CORE) {
+ return NULL;
+ }
+
GlxVisual *visual = new GlxVisual;
if (glxVersion >= 0x0103) {
}
Visual *
-createVisual(bool doubleBuffer) {
+createVisual(bool doubleBuffer, Profile profile) {
+ if (profile != PROFILE_COMPAT) {
+ return NULL;
+ }
+
Visual *visual = new Visual();
visual->doubleBuffer = doubleBuffer;