From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- .../windows/fltk-1.1.10/documentation/glut.html | 196 +++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 third_party/windows/fltk-1.1.10/documentation/glut.html (limited to 'third_party/windows/fltk-1.1.10/documentation/glut.html') diff --git a/third_party/windows/fltk-1.1.10/documentation/glut.html b/third_party/windows/fltk-1.1.10/documentation/glut.html new file mode 100644 index 0000000..1669abb --- /dev/null +++ b/third_party/windows/fltk-1.1.10/documentation/glut.html @@ -0,0 +1,196 @@ + + + D - GLUT Compatibility + + +

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.

+

Using the GLUT Compatibility Header File

+

You should be able to compile existing GLUT source code by including <FL/glut.H> instead of <GL/glut.h>. 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.

+

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: +

+ 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").

+

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. + +
+

class Fl_Glut_Window

+
+

Class Hierarchy

+ +

Include Files

+ +

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() +.

+

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.)
+ +

Methods

+ +

+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)
+

+ 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()

+ Destroys the GLUT window. +

void Fl_Glut_Window::make_current()

+Switches all drawing functions to the GLUT window. + + + -- cgit v1.3.1