This example shows how to use Fl_Gl_Window widget.
1 #pragma package ".." 2 3 #include "chfltk.h" 4 #include "GL/gl.h" 5 #include "GL/chgl.h" 6 #include <stdio.h> 7 #include <stdlib.h> 8 9 void draw_cb(ChFl_Gl_Window *g) { 10 Fl_Group *gg = (Fl_Group*)g; 11 if (!g->get_valid()) { 12 g->valid(1); 13 glLoadIdentity(); 14 glViewport(0,0,gg->w(),gg->h()); 15 glOrtho(-gg->w(),gg->w(),-gg->h(),gg->h(),-1,1); 16 } 17 glClear(GL_COLOR_BUFFER_BIT); 18 glColor3f(1.0, 1.0, 1.0); 19 glBegin(GL_LINE_STRIP); glVertex2f(gg->w(), gg->h()); 20 glVertex2f(-gg->w(),-gg->h()); glEnd(); 21 glBegin(GL_LINE_STRIP); glVertex2f(gg->w(),-gg->h()); 22 glVertex2f(-gg->w(), gg->h()); glEnd(); 23 } 24 25 int main(int argc, char *argv[]) 26 { 27 ChFl_Gl_Window *window = new ChFl_Gl_Window(300, 300); 28 window->draw_callback(draw_cb); 29 window->show(argc, argv); 30 Fl::run(); 31 exit(1); 32 return 0; 33 }