beginnings of glut documentation
authorAndy Wingo <wingo@pobox.com>
Tue, 12 Feb 2013 12:56:51 +0000 (13:56 +0100)
committerAndy Wingo <wingo@pobox.com>
Tue, 12 Feb 2013 12:56:51 +0000 (13:56 +0100)
* Makefile.am:
* doc/figl.texi:
* doc/glut.texi:
* doc/glx.texi: Factor GLX and GLUT documentation out into separate
  files.  Start documenting GLUT.

Makefile.am
doc/figl.texi
doc/glut.texi [new file with mode: 0644]
doc/glx.texi [new file with mode: 0644]

index 726d74b..720316f 100644 (file)
@@ -45,6 +45,8 @@ info_TEXINFOS = doc/figl.texi
 figl_TEXINFOS = \
        doc/gl.texi \
        doc/glu.texi \
+       doc/glx.texi \
+       doc/glut.texi \
        doc/low-level-gl.texi \
        doc/low-level-glu.texi \
        doc/low-level-glx.texi \
index 9408c76..7bedd58 100644 (file)
@@ -134,37 +134,13 @@ The high-level modules are named like @code{(figl @var{module})}, for
 example @code{(figl gl)}.
 
 
-@c Defines the GL node and chapter.
 @include gl.texi
 
-
-@c Defines the GLU node and chapter.
 @include glu.texi
 
+@include glx.texi
 
-@node GLX
-@chapter GLX
-
-@menu
-* Low-Level GLX::               Primitive interface to ``glX'' functionality.
-* GLX Enumerations::            GLX enumerated values.
-@end menu
-
-
-@node Low-Level GLX
-@section Low-Level GLX
-@include low-level-glx.texi
-
-
-@node GLX Enumerations
-@section GLX Enumerations
-@include low-level-glx-enums.texi
-
-
-@node GLUT
-@chapter GLUT
-
-TODO: Write GLUT documentation.
+@include glut.texi
 
 
 @node FAQ
diff --git a/doc/glut.texi b/doc/glut.texi
new file mode 100644 (file)
index 0000000..95b2c38
--- /dev/null
@@ -0,0 +1,405 @@
+@node GLUT
+@chapter GLUT
+
+Import the GLUT module to have access to these procedures:
+
+@example
+(use-modules (figl glut))
+@end example
+
+The GLUT specification is available at
+@uref{http://www.opengl.org/resources/libraries/glut/glut-3.spec.pdf}.
+
+@menu
+* GLUT Initialization::
+* Beginning Event Processing::
+* Window Management::
+* Overlay Management::
+* Menu Management::
+* Callback Registration::
+* Color Index Colormap Management::
+* State Retrieval::
+* Font Rendering::
+* Geometric Object Rendering::
+@end menu
+
+
+@node GLUT Initialization
+@section GLUT Initialization
+
+@anchor{set-initial-display-mode}
+@defun set-initial-display-mode mode
+@end defun
+
+@anchor{set-initial-window-position}
+@defun set-initial-window-position x y
+@end defun
+
+@anchor{set-initial-window-size}
+@defun set-initial-window-size width height
+@end defun
+
+@anchor{initialize-glut}
+@defun initialize-glut [args] [#:window-position] [#:window-size] [#:display-mode]
+@end defun
+
+
+@node Beginning Event Processing
+@section Beginning Event Processing
+
+@anchor{glut-main-loop}
+@defun glut-main-loop 
+@end defun
+
+
+@node Window Management
+@section Window Management
+
+@anchor{window-id}
+@defun window-id 
+@end defun
+
+@anchor{window-live?}
+@defun window-live? 
+@end defun
+
+@anchor{window?}
+@defun window? 
+@end defun
+
+@anchor{set-window-cursor!}
+@defun set-window-cursor! window cursor
+@end defun
+
+@anchor{set-window-icon-title!}
+@defun set-window-icon-title! window str
+@end defun
+
+@anchor{set-window-title!}
+@defun set-window-title! window str
+@end defun
+
+@anchor{show-window}
+@defun show-window [window]
+@end defun
+
+@anchor{sub-window?}
+@defun sub-window? window
+@end defun
+
+@anchor{swap-buffers}
+@defun swap-buffers [window]
+@end defun
+
+@anchor{top-level-window?}
+@defun top-level-window? window
+@end defun
+
+@anchor{with-window}
+@defmac with-window window body1 body2 ...
+@end defmac
+
+@anchor{with-window*}
+@defun with-window* _ _
+@end defun
+
+@anchor{make-sub-window}
+@defun make-sub-window window x y width height
+@end defun
+
+@anchor{make-window}
+@defun make-window str
+@end defun
+
+@anchor{pop-window}
+@defun pop-window 
+@end defun
+
+@anchor{position-window}
+@defun position-window window x y
+@end defun
+
+@anchor{post-redisplay}
+@defun post-redisplay [window]
+@end defun
+
+@anchor{push-window}
+@defun push-window 
+@end defun
+
+@anchor{reshape-window}
+@defun reshape-window window width height
+@end defun
+
+@anchor{current-window}
+@defun current-window 
+@end defun
+
+@anchor{destroy-window}
+@defun destroy-window window
+@end defun
+
+@anchor{full-screen}
+@defun full-screen window full-screen?
+@end defun
+
+@anchor{hide-window}
+@defun hide-window [window]
+@end defun
+
+@anchor{iconify-window}
+@defun iconify-window [window]
+@end defun
+
+
+@node Overlay Management
+@section Overlay Management
+
+
+@node Menu Management
+@section Menu Management
+
+
+@node Callback Registration
+@section Callback Registration
+
+@anchor{set-button-box-callback}
+@defun set-button-box-callback func
+@end defun
+
+@anchor{set-current-window}
+@defun set-current-window window
+@end defun
+
+@anchor{set-dials-callback}
+@defun set-dials-callback func
+@end defun
+
+@anchor{set-display-callback}
+@defun set-display-callback func
+@end defun
+
+@anchor{set-entry-callback}
+@defun set-entry-callback func
+@end defun
+
+@anchor{set-idle-callback}
+@defun set-idle-callback func
+@end defun
+
+@anchor{set-keyboard-callback}
+@defun set-keyboard-callback func
+@end defun
+
+@anchor{set-menu-status-callback}
+@defun set-menu-status-callback func
+@end defun
+
+@anchor{set-motion-callback}
+@defun set-motion-callback func
+@end defun
+
+@anchor{set-mouse-callback}
+@defun set-mouse-callback func
+@end defun
+
+@anchor{set-overlay-display-callback}
+@defun set-overlay-display-callback func
+@end defun
+
+@anchor{set-passive-motion-callback}
+@defun set-passive-motion-callback func
+@end defun
+
+@anchor{set-reshape-callback}
+@defun set-reshape-callback func
+@end defun
+
+@anchor{set-spaceball-button-callback}
+@defun set-spaceball-button-callback func
+@end defun
+
+@anchor{set-spaceball-motion-callback}
+@defun set-spaceball-motion-callback func
+@end defun
+
+@anchor{set-spaceball-rotate-callback}
+@defun set-spaceball-rotate-callback func
+@end defun
+
+@anchor{set-special-callback}
+@defun set-special-callback func
+@end defun
+
+@anchor{set-tablet-button-callback}
+@defun set-tablet-button-callback func
+@end defun
+
+@anchor{set-tablet-motion-callback}
+@defun set-tablet-motion-callback func
+@end defun
+
+@anchor{set-visibility-callback}
+@defun set-visibility-callback func
+@end defun
+
+@anchor{add-timer-callback}
+@defun add-timer-callback msecs func value
+@end defun
+
+
+@node Color Index Colormap Management
+@section Color Index Colormap Management
+
+
+@node State Retrieval
+@section State Retrieval
+
+@anchor{window-alpha-size}
+@defun window-alpha-size window
+@end defun
+
+@anchor{window-blue-size}
+@defun window-blue-size window
+@end defun
+
+@anchor{window-color-buffer-size}
+@defun window-color-buffer-size window
+@end defun
+
+@anchor{window-colormap-size}
+@defun window-colormap-size window
+@end defun
+
+@anchor{window-depth-buffer-size}
+@defun window-depth-buffer-size window
+@end defun
+
+@anchor{window-double-buffered?}
+@defun window-double-buffered? window
+@end defun
+
+@anchor{window-green-size}
+@defun window-green-size window
+@end defun
+
+@anchor{window-height}
+@defun window-height width
+@end defun
+
+@anchor{window-number-of-children}
+@defun window-number-of-children window
+@end defun
+
+@anchor{window-number-of-samples}
+@defun window-number-of-samples window
+@end defun
+
+@anchor{window-parent}
+@defun window-parent window
+@end defun
+
+@anchor{window-position}
+@defun window-position window
+@end defun
+
+@anchor{window-red-size}
+@defun window-red-size window
+@end defun
+
+@anchor{window-size}
+@defun window-size window
+@end defun
+
+@anchor{window-stencil-buffer-size}
+@defun window-stencil-buffer-size window
+@end defun
+
+@anchor{window-stereo?}
+@defun window-stereo? window
+@end defun
+
+@anchor{window-rgba?}
+@defun window-rgba window
+@end defun
+
+@anchor{window-width}
+@defun window-width width
+@end defun
+
+@anchor{window-x}
+@defun window-x width
+@end defun
+
+@anchor{window-y}
+@defun window-y width
+@end defun
+
+@anchor{screen-height}
+@defun screen-height 
+@end defun
+
+@anchor{screen-height-mm}
+@defun screen-height-mm 
+@end defun
+
+@anchor{screen-size}
+@defun screen-size 
+@end defun
+
+@anchor{screen-size-mm}
+@defun screen-size-mm 
+@end defun
+
+@anchor{screen-width}
+@defun screen-width 
+@end defun
+
+@anchor{screen-width-mm}
+@defun screen-width-mm 
+@end defun
+
+@anchor{display-mode-possible?}
+@defun display-mode-possible? 
+@end defun
+
+@anchor{initial-display-mode}
+@defun initial-display-mode 
+@end defun
+
+@anchor{initial-window-height}
+@defun initial-window-height 
+@end defun
+
+@anchor{initial-window-position}
+@defun initial-window-position 
+@end defun
+
+@anchor{initial-window-size}
+@defun initial-window-size 
+@end defun
+
+@anchor{initial-window-width}
+@defun initial-window-width 
+@end defun
+
+@anchor{initial-window-x}
+@defun initial-window-x 
+@end defun
+
+@anchor{initial-window-y}
+@defun initial-window-y 
+@end defun
+
+@anchor{elapsed-time}
+@defun elapsed-time 
+@end defun
+
+
+@node Font Rendering
+@section Font Rendering
+
+
+@node Geometric Object Rendering
+@section Geometric Object Rendering
+
diff --git a/doc/glx.texi b/doc/glx.texi
new file mode 100644 (file)
index 0000000..95f898d
--- /dev/null
@@ -0,0 +1,33 @@
+@node GLX
+@chapter GLX
+
+@menu
+* GLX API::                     The high-level interface to GLX.
+* GLX Enumerations::            GLX enumerated values.
+* Low-Level GLX::               Primitive interface to ``glx'' functionality.
+@end menu
+
+@node GLX API
+@section GLX API
+
+Import the GLX module to have access to these procedures:
+
+@example
+(use-modules (figl glx))
+@end example
+
+The GLX specification is available at
+@uref{http://www.opengl.org/registry/doc/glx1.3.pdf}.
+
+@menu
+@end menu
+
+
+@node GLX Enumerations
+@section GLX Enumerations
+@include low-level-glx-enums.texi
+
+
+@node Low-Level GLX
+@section Low-Level GLX
+@include low-level-glx.texi