diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp index 34813680ec161bea424024b74b6e463544ccb5a5..0e04f9f53532f63caf7e92357b211bac95f1c443 100644 --- a/Fltk/graphicWindow.cpp +++ b/Fltk/graphicWindow.cpp @@ -416,38 +416,43 @@ graphicWindow::graphicWindow(bool main, int numTiles) dummyBox *resbox = new dummyBox(x, 0, width - x, glheight); win->resizable(resbox); - // opengl window(s) - int mode = FL_RGB | FL_DEPTH | (CTX::instance()->db ? FL_DOUBLE : FL_SINGLE); - if(CTX::instance()->antialiasing) mode |= FL_MULTISAMPLE; - + // tiled opengl windows tile = new Fl_Tile(0, 0, width, glheight); int w2 = width / 2, h2 = glheight / 2; if(numTiles == 2){ gl.push_back(new openglWindow(0, 0, w2, glheight)); - gl.back()->mode(mode); gl.back()->end(); gl.push_back(new openglWindow(w2, 0, width - w2, glheight)); - gl.back()->mode(mode); gl.back()->end(); } else if(numTiles == 3){ gl.push_back(new openglWindow(0, 0, w2, glheight)); - gl.back()->mode(mode); gl.back()->end(); gl.push_back(new openglWindow(w2, 0, width - w2, h2)); - gl.back()->mode(mode); gl.back()->end(); gl.push_back(new openglWindow(w2, h2, width - w2, glheight - h2)); - gl.back()->mode(mode); + gl.back()->end(); + } + else if(numTiles == 4){ + gl.push_back(new openglWindow(0, 0, w2, h2)); + gl.back()->end(); + gl.push_back(new openglWindow(w2, 0, width - w2, h2)); + gl.back()->end(); + gl.push_back(new openglWindow(0, h2, width - w2, glheight - h2)); + gl.back()->end(); + gl.push_back(new openglWindow(w2, h2, width - w2, glheight - h2)); gl.back()->end(); } else{ gl.push_back(new openglWindow(0, 0, width, glheight)); - gl.back()->mode(mode); gl.back()->end(); } + int mode = FL_RGB | FL_DEPTH | (CTX::instance()->db ? FL_DOUBLE : FL_SINGLE); + if(CTX::instance()->antialiasing) mode |= FL_MULTISAMPLE; + for(unsigned int i = 0; i < gl.size(); i++) gl[i]->mode(mode); + tile->end(); win->position(CTX::instance()->glPosition[0], CTX::instance()->glPosition[1]);