From 09cfc1a1ea00f7edf394e647f1f32e5b0913f564 Mon Sep 17 00:00:00 2001 From: Fabien Costantini Date: Fri, 17 Oct 2008 11:22:35 +0000 Subject: Removing current broken history documentation/src dir. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- documentation/src/glut.dox | 248 --------------------------------------------- 1 file changed, 248 deletions(-) delete mode 100644 documentation/src/glut.dox (limited to 'documentation/src/glut.dox') diff --git a/documentation/src/glut.dox b/documentation/src/glut.dox deleted file mode 100644 index 18d4f25bd..000000000 --- a/documentation/src/glut.dox +++ /dev/null @@ -1,248 +0,0 @@ -/** - - \page glut D - GLUT Compatibility - -This appendix describes the GLUT compatibility header file supplied with -FLTK. FLTK's GLUT compatibility is based on the original GLUT 3.7 and -the follow-on FreeGLUT 2.4.0 libraries. - -\section glut_using Using the GLUT Compatibility Header File - -You should be able to compile existing GLUT source code by including - instead of . This can be -done by editing the source, by changing the -I switches to -the compiler, or by providing a symbolic link from GL/glut.h -to FL/glut.H. - -All files calling GLUT procedures must be compiled with C++. You -may have to alter them slightly to get them to compile without warnings, -and you may have to rename them to get make to use the C++ compiler. - -You must link with the FLTK library. Most of FL/glut.H -is inline functions. You should take a look at it (and maybe at -test/glpuzzle.cxx in the FLTK source) if you are having trouble -porting your GLUT program. - -This has been tested with most of the demo programs that come with -the GLUT and FreeGLUT distributions. - -\section glut_known_problems Known Problems - -The following functions and/or arguments to functions are missing, -and you will have to replace them or comment them out for your code -to compile: - -\li glutGet(GLUT_ELAPSED_TIME) -\li glutGet(GLUT_SCREEN_HEIGHT_MM) -\li glutGet(GLUT_SCREEN_WIDTH_MM) -\li glutGet(GLUT_WINDOW_NUM_CHILDREN) -\li glutInitDisplayMode(GLUT_LUMINANCE) -\li glutLayerGet(GLUT_HAS_OVERLAY) -\li glutLayerGet(GLUT_LAYER_IN_USE) -\li glutPushWindow() -\li glutSetColor(), glutGetColor(), glutCopyColormap() -\li glutVideoResize() missing. -\li glutWarpPointer() -\li glutWindowStatusFunc() -\li Spaceball, buttonbox, dials, and tablet functions - -Most of the symbols/enumerations have different values than GLUT uses. -This will break code that relies on the actual values. The only -symbols guaranteed to have the same values are true/false pairs like -GLUT_DOWN and GLUT_UP, mouse buttons -GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON, GLUT_RIGHT_BUTTON, and -GLUT_KEY_F1 thru F12. - -The strings passed as menu labels are not copied. - -glutPostRedisplay() does not work if called from inside a -display function. You must use glutIdleFunc() if you want -your display to update continuously. - -glutSwapBuffers() does not work from inside a display -function. This is on purpose, because FLTK swaps the buffers for you. - -glutUseLayer() does not work well, and should only be used -to initialize transformations inside a resize callback. You should -redraw overlays by using glutOverlayDisplayFunc(). - -Overlays are cleared before the overlay display function is called. -glutLayerGet(GLUT_OVERLAY_DAMAGED) always returns true for -compatibility with some GLUT overlay programs. You must rewrite your -code so that gl_color() is used to choose colors in an -overlay, or you will get random overlay colors. - -glutSetCursor(GLUT_CURSOR_FULL_CROSSHAIR) just results in a -small crosshair. - -The fonts used by glutBitmapCharacter() and glutBitmapWidth() -may be different. - -glutInit(argc,argv) will consume different switches than -GLUT does. It accepts the switches recognized by -Fl::args(), and will accept any abbreviation of these -switches (such as "-di" for "-display"). - -\section glut_mixing Mixing GLUT and FLTK Code - -You can make your GLUT window a child of a Fl_Window with the -following scheme. The biggest trick is that GLUT insists on -show()'ing the window at the point it is created, which means the -Fl_Window parent window must already be shown. - -\li Don't call glutInit(). -\li Create your Fl_Window, and any FLTK widgets. Leave a - blank area in the window for your GLUT window. -\li show() the Fl_Window. Perhaps call - show(argc,argv). -\li Call window->begin() so that the GLUT window will be - automatically added to it. -\li Use glutInitWindowSize() and glutInitWindowPosition() - to set the location in the parent window to put the GLUT window. -\li Put your GLUT code next. It probably does not need many changes. - Call window->end() immediately after the - glutCreateWindow()! -\li You can call either glutMainLoop(), Fl::run(), - or loop calling Fl::wait() to run the program. - -
- - \section glut_Fl_Glut_Window class Fl_Glut_Window -\htmlonly -
- -\subsection glut_class_hierarchy Class Hierarchy - -\code -Fl_Gl_Window - | - +----Fl_Glut_Window -\endcode - -\subsection glut_include_files Include Files - -\code -#include -\endcode - -\subsection glut_description Description - -Each GLUT window is an instance of this class. You may find it useful -to manipulate instances directly rather than use GLUT window id's. -These may be created without opening the display, and thus can fit -better into FLTK's method of creating windows. - -The current GLUT window is available in the global variable -glut_window.

- -new Fl_Glut_Window(...) is the same as -glutCreateWindow() except it does not show() the window -or make the window current.

- -window->make_current() is the same as glutSetWindow(number). -If the window has not had show() called on it yet, some functions -that assumme an OpenGL context will not work. -If you do show() the window, call make_current() -again to set the context.

- -~Fl_Glut_Window() is the same as glutDestroyWindow(). - -\subsection glut_members Members - -The Fl_Glut_Window class contains several public members that can -be altered directly: - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
memberdescription
displayA pointer to the function to call to draw the normal planes.
entryA pointer to the function to call when the mouse moves into - or out of the window.
keyboardA pointer to the function to call when a regular key is pressed.
menu[3]The menu to post when one of the mouse buttons is pressed.
mouseA pointer to the function to call when a button is pressed or - released.
motionA pointer to the function to call when the mouse is moved with - a button down.
overlaydisplayA pointer to the function to call to draw the overlay planes.
passivemotionA pointer to the function to call when the mouse is moved with - no buttons down.
reshapeA pointer to the function to call when the window is resized.
specialA pointer to the function to call when a special key is pressed.
visibilityA pointer to the function to call when the window is iconified - or restored (made visible.)
- -\subsection glut_methods Methods - -\li Fl_Glut_Window -\li ~Fl_Glut_Window -\li make_current - - -Fl_Glut_Window::Fl_Glut_Window(int x, int y, int w, int h, const char -*title = 0)
-Fl_Glut_Window::Fl_Glut_Window(int w, int h, const char *title = 0) - -\par -The first constructor takes 4 int arguments to create the window with -a preset position and size. The second constructor with 2 arguments -will create the window with a preset size, but the window manager will -choose the position according to it's own whims. - - -virtual Fl_Glut_Window::~Fl_Glut_Window() - -\par -Destroys the GLUT window. - - -void Fl_Glut_Window::make_current() - -\par -Switches all drawing functions to the GLUT window. - -
-[Index]    -[Previous]  - \ref enumerations    -[Next]  - \ref forms - -\endhtmlonly -*/ -- cgit v1.2.3