diff options
| author | Manolo Gouy <Manolo> | 2014-12-20 07:19:23 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2014-12-20 07:19:23 +0000 |
| commit | f3a84c0ee5f88fe664d759106724f786c706f817 (patch) | |
| tree | 3541953164e2d24c31ae46ef11f2c2e86b3873a3 /test | |
| parent | a7dc3ea9e24399f318a9478fbcffe04ff2870de6 (diff) | |
Changed OpenGL support for the Mac OS X platform: use cocoa instead of deprecated AGL.
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.
Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'test')
| -rw-r--r-- | test/cube.cxx | 3 | ||||
| -rw-r--r-- | test/fractals.cxx | 1 | ||||
| -rw-r--r-- | test/fullscreen.cxx | 3 | ||||
| -rw-r--r-- | test/gl_overlay.cxx | 5 | ||||
| -rw-r--r-- | test/glpuzzle.cxx | 1 | ||||
| -rw-r--r-- | test/shape.cxx | 3 |
6 files changed, 11 insertions, 5 deletions
diff --git a/test/cube.cxx b/test/cube.cxx index 1fd396e1f..9f4cf0aa6 100644 --- a/test/cube.cxx +++ b/test/cube.cxx @@ -94,7 +94,7 @@ void cube_box::draw() { lasttime = lasttime+speed; if (!valid()) { glLoadIdentity(); - glViewport(0,0,w(),h()); + glViewport(0,0,pixel_w(),pixel_h()); glEnable(GL_DEPTH_TEST); glFrustum(-1,1,-1,1,2,10000); glTranslatef(0,0,-10); @@ -167,6 +167,7 @@ void print_cb(Fl_Widget *w, void *data) // end of printing demo int main(int argc, char **argv) { + Fl::use_high_res_GL(1); makeform(argv[0]); // added to demo printing form->begin(); diff --git a/test/fractals.cxx b/test/fractals.cxx index 448edb28b..34d3ef92e 100644 --- a/test/fractals.cxx +++ b/test/fractals.cxx @@ -768,6 +768,7 @@ void handlemenu(Fl_Widget*, void *value) {handlemenu(fl_intptr_t(value));} int main(int argc, char** argv) { + Fl::use_high_res_GL(1); // glutInit(&argc, argv); // this line removed for FLTK // create FLTK window: diff --git a/test/fullscreen.cxx b/test/fullscreen.cxx index 724ec82f0..0b2ce0e80 100644 --- a/test/fullscreen.cxx +++ b/test/fullscreen.cxx @@ -84,7 +84,7 @@ void shape_window::draw() { valid(1); // printf("init\n"); glLoadIdentity(); - glViewport(0,0,w(),h()); + glViewport(0,0,pixel_w(),pixel_h()); } glClear(GL_COLOR_BUFFER_BIT); glColor3f(.5,.6,.7); @@ -267,6 +267,7 @@ int arg(int, char **argv, int &i) { int main(int argc, char **argv) { + Fl::use_high_res_GL(1); int i=0; if (Fl::args(argc,argv,i,arg) < argc) Fl::fatal("Options are:\n -2 = 2 windows\n -f = startup fullscreen\n%s",Fl::help); diff --git a/test/gl_overlay.cxx b/test/gl_overlay.cxx index 1c37de625..ab52cc251 100644 --- a/test/gl_overlay.cxx +++ b/test/gl_overlay.cxx @@ -57,7 +57,7 @@ void shape_window::draw() { if (!valid()) { valid(1); glLoadIdentity(); - glViewport(0,0,w(),h()); + glViewport(0,0,pixel_w(),pixel_h()); } // draw an amazing but slow graphic: glClear(GL_COLOR_BUFFER_BIT); @@ -78,7 +78,7 @@ void shape_window::draw_overlay() { if (!valid()) { valid(1); glLoadIdentity(); - glViewport(0,0,w(),h()); + glViewport(0,0,pixel_w(),pixel_h()); } // draw an amazing graphic: gl_color(FL_RED); @@ -108,6 +108,7 @@ void overlay_sides_cb(Fl_Widget *o, void *p) { #include <stdio.h> int main(int argc, char **argv) { + Fl::use_high_res_GL(1); Fl_Window window(300, 370); shape_window sw(10, 75, window.w()-20, window.h()-90); diff --git a/test/glpuzzle.cxx b/test/glpuzzle.cxx index 7fcf9b3c7..e3edfa92b 100644 --- a/test/glpuzzle.cxx +++ b/test/glpuzzle.cxx @@ -1416,6 +1416,7 @@ main(int argc, char **argv) { long i; + Fl::use_high_res_GL(1); glutInit(&argc, argv); for (i = 1; i < argc; i++) { if (argv[i][0] == '-') { diff --git a/test/shape.cxx b/test/shape.cxx index 17848e9f9..e45e826b6 100644 --- a/test/shape.cxx +++ b/test/shape.cxx @@ -45,7 +45,7 @@ void shape_window::draw() { if (!valid()) { valid(1); glLoadIdentity(); - glViewport(0, 0, w(), h()); + glViewport(0, 0, pixel_w(), pixel_h()); } // draw an amazing graphic: glClear(GL_COLOR_BUFFER_BIT); @@ -81,6 +81,7 @@ void sides_cb(Fl_Widget *o, void *p) { int main(int argc, char **argv) { + Fl::use_high_res_GL(1); Fl_Window window(300, 330); // the shape window could be it's own window, but here we make it |
