summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Andy Wingo [Fri, 15 Feb 2013 20:18:56 +0000 (21:18 +0100)]
export packed-struct-size
* figl/contrib/packed-struct.scm (packed-struct-size): Export.
Andy Wingo [Fri, 15 Feb 2013 20:19:53 +0000 (21:19 +0100)]
add support for client-state vertex arrays
* figl/gl.scm: Add client-state vertex arrays, based on a patch by
Daniel Hartwig.
Andy Wingo [Fri, 15 Feb 2013 14:57:08 +0000 (15:57 +0100)]
reimplement particle-system using packed structs
* examples/particle-system.scm: Reimplement in terms of packed structs.
Andy Wingo [Fri, 15 Feb 2013 14:56:33 +0000 (15:56 +0100)]
add (figl contrib packed-struct)
* Makefile.am:
* figl/contrib/packed-struct.scm: New file.
Andy Wingo [Wed, 13 Feb 2013 15:07:43 +0000 (16:07 +0100)]
add simple particle system example
* examples/particle-system.scm: Add a simple particle system.
Andy Wingo [Wed, 13 Feb 2013 15:06:09 +0000 (16:06 +0100)]
#f is a null pointer for glut callbacks
* figl/glut/types.scm (coerce-callback-pointer/ephemeral):
(coerce-callback-pointer/sticky): Allow #f to indicate a null pointer.
Daniel Hartwig [Wed, 13 Feb 2013 00:59:33 +0000 (08:59 +0800)]
expand TODO
* TODO: Add some more notes, expand on others.
Andy Wingo [Tue, 12 Feb 2013 12:58:20 +0000 (13:58 +0100)]
add TODO
* TODO: New file.
Andy Wingo [Tue, 12 Feb 2013 12:56:51 +0000 (13:56 +0100)]
beginnings of glut documentation
* Makefile.am:
* doc/figl.texi:
* doc/glut.texi:
* doc/glx.texi: Factor GLX and GLUT documentation out into separate
files. Start documenting GLUT.
Andy Wingo [Tue, 12 Feb 2013 12:55:22 +0000 (13:55 +0100)]
fix export typo for glut
* figl/glut.scm (window-rgba?): Fix export typo.
Andy Wingo [Tue, 12 Feb 2013 11:35:17 +0000 (12:35 +0100)]
high-level glu documentation
* Makefile.am:
* doc/figl.texi:
* doc/glu.texi: Factor GLU docs into separate file, and add high-level
documentation.
Andy Wingo [Tue, 12 Feb 2013 11:05:24 +0000 (12:05 +0100)]
add high-level GL docs
* Makefile.am:
* doc/figl.texi:
* doc/gl.texi: Factor GL docs into a separate file. Add documentation
for the high-level interface.
Andy Wingo [Tue, 12 Feb 2013 11:04:52 +0000 (12:04 +0100)]
remove gl-push-matrix and gl-pop-matrix
* figl/gl.scm: Remove gl-push-matrix and gl-pop-matrix, as there is
with-gl-push-matrix.
Andy Wingo [Tue, 12 Feb 2013 08:45:58 +0000 (09:45 +0100)]
more high-level gl bindings
* figl/gl.scm (set-gl-matrix-mode): Rename from gl-matrix-mode.
(set-gl-shade-model): New export.
(with-gl-push-attrib): New export.
Andy Wingo [Tue, 12 Feb 2013 08:45:00 +0000 (09:45 +0100)]
add (figl glu)
* figl/glu.scm: New file.
* Makefile.am: Add to build.
Daniel Hartwig [Tue, 12 Feb 2013 09:09:59 +0000 (17:09 +0800)]
glut: rename sub-window?
* figl/glut.scm (subwindow?): Renamed from sub-window?, as per recent
commits.
Daniel Hartwig [Tue, 12 Feb 2013 08:52:04 +0000 (16:52 +0800)]
glut: clean up window state getters
* figl/glut.scm (define-glut-state, define-glut-states):
(define-glut-window-state, define-glut-window-states): New helpers
to define integer glut state.
(window-color-buffer-red-size, etc.): Renamed from window-red-size.
(window-accumulation-buffer-red-size): Add getters for accumulation
buffer color state.
Daniel Hartwig [Tue, 12 Feb 2013 08:23:34 +0000 (16:23 +0800)]
glut: actually manage subwindows
* figl/glut.scm (%make-window): No longer memoized in favour of
manually keeping a table of created windows. Dropped live?
argument. When managing subwindows, the high-level interface no
longer support windows created with the low-level bindings.
(lookup-window): New procedure. Clears up some logic when expecting
to find an existing window.
(current-window, window-parent): Use lookup-window.
(make-subwindow): Renamed from make-sub-window to use the exact term
formally defined and more commonly used in the specification.
(window): New field subwindows.
(destroy-window): Recursively mark subwindows.
Daniel Hartwig [Tue, 12 Feb 2013 07:22:16 +0000 (15:22 +0800)]
pass pairs to set-initial-window-{position,size}
* figl/glut.scm (set-initial-window-position):
(set-initial-window-size): Change arguments to a pair, matching the
output of the corresponding getters and initialize-glut keyword
arguments.
Andy Wingo [Mon, 11 Feb 2013 17:10:22 +0000 (18:10 +0100)]
add null-program example
* Makefile.am: Dist examples and upstream-doc.
* examples/null-program.scm: New example.
Andy Wingo [Mon, 11 Feb 2013 16:45:04 +0000 (17:45 +0100)]
fix callback pointer wrapping in glut
* figl/glut/types.scm (coerce-callback-pointer/ephemeral):
(coerce-callback-pointer/sticky): Fix to protect the pointer in
addition to the procedure.
Andy Wingo [Mon, 11 Feb 2013 15:00:45 +0000 (16:00 +0100)]
automatic glut initialization
* figl/glut/runtime.scm (resolve): Run a hook before resolving glut
symbols. Remove the plural define-glut-procedures.
* figl/glut.scm: Rename glut-init to initialize-glut, and add keyword
arguments for initial window size, position, and display mode.
Default to (program-arguments) for args. Make the glut-init? marker
global, not thread-local. Add resolve hook to initialize-glut as
needed.
* examples/glut/demo.scm: Update.
Andy Wingo [Mon, 11 Feb 2013 11:25:17 +0000 (12:25 +0100)]
add high-level interfaces to glut callback registration funcs
* figl/glut/types.scm (define-ephemeral-callback-pointer-type)
(define-sticky-callback-pointer-type): Provide a way to protect
procedures passed into GLUT from being GC'd. Change the definitions
of the pointer types to use these new helpers.
* figl/glut/low-level.scm: Use the pointer types defined in (figl glut
types).
* figl/glut.scm: Add exports for the callback registration functions.
* examples/glut/demo.scm: Use set-display-callback. Now the demo uses
no low-level GLUT interfaces.
Andy Wingo [Mon, 11 Feb 2013 08:53:43 +0000 (09:53 +0100)]
update gitignore
* .gitignore: Ignore any number of info fragments.
Andy Wingo [Mon, 11 Feb 2013 08:47:04 +0000 (09:47 +0100)]
use ptrdiff_t if available, otherwise keep compat with released Guile
* figl/gl/types.scm (%ptr): Back-compatible definitions for Guile <
2.0.8.
Daniel Hartwig [Mon, 11 Feb 2013 06:35:32 +0000 (14:35 +0800)]
map GLboolean to Scheme boolean
* figl/gl/types.scm (GLboolean): Convert to and from appropriate
Scheme values.
Daniel Hartwig [Mon, 11 Feb 2013 06:14:16 +0000 (14:14 +0800)]
add glut callback-pointer types
* figl/glut/types.scm: New file. Contains types previously defined in
low-level. Add callback-pointer types, but not used yet.
* figl/glut/low-level.scm: Move previous type definitions to new types
module.
* Makefile.am: Update for new file.
Daniel Hartwig [Mon, 11 Feb 2013 04:22:52 +0000 (12:22 +0800)]
add high-level glut bindings for init., windows
* figl/glut.scm: Add high-level bindings for more initialization
procedures. Bindings and data type for managing windows. Some
procedures to set and retrieve state relating to these.
* examples/glut/demo.scm: Update to use high-level bindings.
Daniel Hartwig [Mon, 11 Feb 2013 04:19:04 +0000 (12:19 +0800)]
add high-level gl bindings for fragment and framebuffer operations
* figl/gl.scm (gl-clear, set-gl-clear-color, etc.): High-level
bindings for functions pertaining to fragment and framebuffer
operations. There is now enough high-level to run the fixed
function pipeline.
* examples/glut/demo.scm: Use high-level gl bindings.
Daniel Hartwig [Mon, 11 Feb 2013 03:30:35 +0000 (11:30 +0800)]
remove low-level gl-begin/end from high-level bindings
* figl/gl.scm (gl-begin): Replace low-level re-export with syntax form
like 'begin'. Return final value from body expressions. Require at
least one body expression.
Daniel Hartwig [Mon, 11 Feb 2013 02:52:26 +0000 (10:52 +0800)]
rename modifier-key-state to modifiers
* figl/glut/enums.scm (modifiers): Renamed from modifier-key-state.
Daniel Hartwig [Mon, 11 Feb 2013 00:00:19 +0000 (08:00 +0800)]
use pairs in renaming re-exports
* figl/gl.scm: Use the correct pair syntax, not lists, for renaming
re-exports. Remove note about possible Guile bug.
Daniel Hartwig [Sun, 10 Feb 2013 13:53:07 +0000 (21:53 +0800)]
add note about re-export bug
* figl/gl.scm: Note that there appears to be a bug in re-export
syntax, chase up tomorrow.
Daniel Hartwig [Sun, 10 Feb 2013 13:50:15 +0000 (21:50 +0800)]
add transformation bindings
* figl/gl.scm: Add transformation bindings; load-matrix, etc.
Daniel Hartwig [Sun, 10 Feb 2013 12:31:39 +0000 (20:31 +0800)]
add bindings for begin/end and vertex specification
* figl/gl.scm: Initial work on high-level bindings for begin/end and
vertex specification. Choosing to only export unpacked float
variants at this time. Refer to inline comments for details.
Daniel Hartwig [Sun, 10 Feb 2013 09:23:10 +0000 (17:23 +0800)]
use ptrdiff_t, not guesswork
* figl/gl/types.scm (GLintptr, GLsizeiptr): Define as ptrdiff_t from
recent Guile. Fixed a bug where this was set to an unsigned type.
Add note that about non-Mesa platforms.
Daniel Hartwig [Sun, 10 Feb 2013 09:18:18 +0000 (17:18 +0800)]
array parameters also accept pointers
* figl/gl/types.scm (coerce-array-pointer): Renamed from
array->pointer. Also accept pointers, and perhaps typed-arrays in
the future. Removed excess lambda.
Daniel Hartwig [Sun, 10 Feb 2013 07:45:33 +0000 (15:45 +0800)]
restore type hack for glGetString.xml typo
* figl/gl/types.scm (const-GLubyte*): Restore this redundant type to
work around a typo in glGetString.xml.
Daniel Hartwig [Sun, 10 Feb 2013 07:33:00 +0000 (15:33 +0800)]
rename some glut enums
* figl/glut/enums.scm (button-name, layer-name, cursor-name): Renamed
to be less generic, and more inline with gl enums.
Andy Wingo [Sat, 9 Feb 2013 17:11:46 +0000 (18:11 +0100)]
update low-level docs
* doc/low-level-gl.texi: Update docs. It seems I have some unpushed
changes to Guile that make Daniel unable to do this. Sorry about
that!
Daniel Hartwig [Sat, 9 Feb 2013 10:17:01 +0000 (18:17 +0800)]
typo in update-enumerations
* maint/update-enumerations (write-texi): Insert missing space in
generated text.
* doc/low-level-gl-enums.texi:
* doc/low-level-glx-enums.texi: Update.
Daniel Hartwig [Sat, 9 Feb 2013 09:32:03 +0000 (17:32 +0800)]
include all low-level bindings
* figl/parse.scm (parse-prototypes, skip?): Remove the skip? function,
include all low-level bindings. In many cases automatic skip is not
possible, such as glMaterial that requires both packed and unpacked
variants depending on the parameter. Some variants are encouraged
to be optimized (such as glColor3b). Any low-level consumer can
decide whether to use packed/unpacked, and what format to store data
in. Let the foot shooting commence.
* figl/gl/types.scm: Include more possible type combinations, whether
used directly by gl or not.
* figl/gl/low-level.scm: Update.
* doc/: Not updated due to problems with line wrapping in texi output.
Daniel Hartwig [Sat, 9 Feb 2013 03:39:03 +0000 (11:39 +0800)]
add remaining glut enumerations
* figl/glut/enums.scm: Add remaining.
Daniel Hartwig [Sat, 9 Feb 2013 01:05:19 +0000 (09:05 +0800)]
Partially revert "typo fixes in parse.scm"
This reverts commit
940b3bea6a7d1ac5f388bdb9a402aab94f211f0c.
* figl/parse.scm (string->directions, string->transfer-types): If
input is not a wildcard it must be within the valid-directions
(valid-transfer-types), "expansion" is unrelated to this.
Andy Wingo [Fri, 8 Feb 2013 17:52:36 +0000 (18:52 +0100)]
typo fixes in parse.scm
* figl/parse.scm (string->directions, string->transfer-types): Fix what
appear to be a couple of typos. Please revert if this is not
correct.
Daniel Hartwig [Fri, 8 Feb 2013 11:32:39 +0000 (19:32 +0800)]
debump version
* configure.ac: Version back to 0.1; 2.0 only really applies to GL
bindings, and we want to provide a broader subset anyway.
Daniel Hartwig [Fri, 8 Feb 2013 11:29:29 +0000 (19:29 +0800)]
create stub of glut enums
* figl/glut/enums.spec: New file.
* examples/glut/demo.scm: Use glut enums. Use clear-buffer-mask, not
attrib-mask, now that it is correctly picked up as a bitfield.
* Makefile.am: Update.
Daniel Hartwig [Fri, 8 Feb 2013 11:21:49 +0000 (19:21 +0800)]
use type maps in update-enumerations
* maint/update-enumerations (type-map, use-type-map): New procedures
to set and use an appropriate type map.
(bitfield?): Use type-map when possible.
(write-scm, write-texi): Handle strip-bit failures gracefully.
* doc/low-level-gl-enums.texi:
* figl/gl/enums.scm: Regenerate, picking up more bitfields.
Daniel Hartwig [Fri, 8 Feb 2013 11:14:03 +0000 (19:14 +0800)]
add type map parser
* figl/parse.scm (parse-gl-type-map): New parser for type map files.
Daniel Hartwig [Fri, 8 Feb 2013 11:10:59 +0000 (19:10 +0800)]
add module contrib with some helpers
* figl/contrib.scm: New file.
(memoize): Wrapper to create memoized procedures.
(string-split): Regexp-enhanced, until Guile core gets one.
* Makefile.am: Update.
Daniel Hartwig [Fri, 8 Feb 2013 01:51:30 +0000 (09:51 +0800)]
remove top low-level.scm from tree
* figl/low-level.scm: Remove this old file from tree.
Andy Wingo [Thu, 7 Feb 2013 17:42:07 +0000 (18:42 +0100)]
generate glx enums
* Makefile.am (update-enums): Add update-enums target. Add enums files
to build and dist.
* maint/update-enumerations (main): Also generate glx enums.
* figl/parse.scm: Add more hacks to be able to parse glxenums.spec.
* doc/low-level-glx-enums.texi:
* figl/glx/enums.scm: New generated files.
Andy Wingo [Thu, 7 Feb 2013 17:09:35 +0000 (18:09 +0100)]
examples use enums module
* examples/glut/demo.scm: Use the enums module.
Andy Wingo [Thu, 7 Feb 2013 17:05:10 +0000 (18:05 +0100)]
docs for enumerated values
* maint/update-enumerations: Generate documentation as well.
* doc/low-level-gl-enums.texi: New docs.
* doc/figl.texi: Include the new docs.
Andy Wingo [Thu, 7 Feb 2013 15:12:13 +0000 (16:12 +0100)]
add enumerated values module
* figl/parse.scm (parse-gl-enumerations): New routine to parse
enumerations from a spec file.
* maint/update-enumerations: New tool.
* figl/runtime.scm (define-enumeration, define-bitfield): New runtime
macros.
* figl/gl/enums.scm: New generated file.
* Makefile.am (SOURCES): Add gl/enums to build.
Andy Wingo [Thu, 7 Feb 2013 14:01:56 +0000 (15:01 +0100)]
update spec files from upstream
* upstream-doc/spec/: Update.
Andy Wingo [Thu, 7 Feb 2013 09:28:26 +0000 (10:28 +0100)]
patch enum.spec for syntactic validity
* upstream-doc/spec/enum.spec: Patch spec until
http://www.khronos.org/bugzilla/show_bug.cgi?id=786 is fixed.
Andy Wingo [Tue, 5 Feb 2013 21:16:02 +0000 (22:16 +0100)]
add spec files from upstream
* upstream-doc/update-spec: New script.
* upstream-doc/spec: Download spec files.
Andy Wingo [Tue, 5 Feb 2013 21:00:34 +0000 (22:00 +0100)]
rename upstream-man-pages to upstream-doc
* upstream-doc/: Rename from upstream-man-pages.
* figl/parse.scm:
* figl/config.scm.in: Adapt.
Andy Wingo [Tue, 5 Feb 2013 18:25:32 +0000 (19:25 +0100)]
include more low-level bindings
* figl/parse.scm (parse-prototypes): Relax the skip? function to include
more bindings.
* figl/gl/low-level.scm:
* doc/low-level-gl.texi: Regenerate.
* figl/gl/types.scm (GLvoid-**): New definition.
Andy Wingo [Tue, 5 Feb 2013 17:43:19 +0000 (18:43 +0100)]
a #f array is the null pointer
* figl/gl/types.scm (array->pointer, define-array-foreign-type): Allow
#f to indicate a null pointer.
Andy Wingo [Tue, 5 Feb 2013 12:15:01 +0000 (13:15 +0100)]
add glut demo
* examples/glut/demo.scm: Copied GLUT demo from Daniel Hartwig.
Andy Wingo [Tue, 5 Feb 2013 11:53:10 +0000 (12:53 +0100)]
documentation work
* doc/figl.texi: Reorganize and flesh out.
Andy Wingo [Tue, 5 Feb 2013 10:21:45 +0000 (11:21 +0100)]
update loader comment
* figl/gl/runtime.scm: Update comment about loaders.
Andy Wingo [Tue, 5 Feb 2013 09:30:41 +0000 (10:30 +0100)]
fix the resolver mess, and add glut to the build
* maint/update-low-level-bindings (write-scm): Update to use
module-specific runtimes, and to generate define-FOO-procedure forms.
This way modules can control how their symbols are loaded.
* figl/runtime.scm: Remove the default resolver; instead have
define-foreign-procedure take a resolver form.
* figl/gl/runtime.scm:
* figl/glu/runtime.scm:
* figl/glut/runtime.scm:
* figl/glx/runtime.scm: New support modules.
* figl/gl/low-level.scm:
* figl/glu/low-level.scm:
* figl/glx/low-level.scm: Regenerate.
* figl/glut/low-level.scm: Change to use define-glut-procedure, and to
delegate all the resolver business to the runtime module.
* Makefile.am: Add new files, and add glut to the build.
Andy Wingo [Mon, 4 Feb 2013 21:33:40 +0000 (22:33 +0100)]
add comment about how loaders should work
* figl/runtime.scm: Add a big comment about loaders and how they should
work.
Daniel Hartwig [Mon, 4 Feb 2013 07:24:37 +0000 (15:24 +0800)]
initial glut bindings
* figl/glut/low-level.scm: Low-level bindings.
* figl/glut.scm: Initial high-level bindings; only one helper for
glut-init.
Andy Wingo [Sun, 3 Feb 2013 22:28:47 +0000 (23:28 +0100)]
documentation work
* doc/figl.texi: Add some docs.
Andy Wingo [Sun, 3 Feb 2013 18:39:30 +0000 (19:39 +0100)]
beginnings of high-level modules
* Makefile.am: Add the new modules.
* figl/gl.scm:
* figl/glx.scm: Add high-level modules. Nothing in them yet except a
resolver.
Andy Wingo [Sat, 2 Feb 2013 21:11:33 +0000 (22:11 +0100)]
better handling of array arguments, strings
* figl/gl/types.scm: Array arguments are passed as bytevectors. Strings
use pointer<->string.
Andy Wingo [Sat, 2 Feb 2013 20:38:31 +0000 (21:38 +0100)]
type-specific wrapping and unwrapping of scheme values
* figl/runtime.scm (foreign-trampoline):
(define-foreign-procedure):
(define-foreign-type):
(define-simple-foreign-type): Provide for a way for types to wrap and
unwrap foreign values.
* figl/glx/types.scm:
* figl/glu/types.scm:
* figl/gl/types.scm: Adapt to define types with the runtime's macros.
Andy Wingo [Sat, 2 Feb 2013 19:54:25 +0000 (20:54 +0100)]
define-foreign-procedure makes one def.; add define-foreign-procedures
* figl/runtime.scm (define-foreign-procedure):
(define-foreign-procedures): Split define-foreign-procedure into two
parts: one that handles the variants, and one "core" macro.
* maint/update-low-level-bindings: Update to generate
define-foreign-procedures invocations.
* figl/gl/low-level.scm:
* figl/glu/low-level.scm:
* figl/glx/low-level.scm: Regenerate.
Andy Wingo [Fri, 1 Feb 2013 21:23:16 +0000 (22:23 +0100)]
simplify gl type name creation
* figl/parse.scm (string->gl-type): Simplify.
* figl/glx/types.scm (const-GLXContext): Missing decl.
* figl/glx/low-level.scm: Regenerate.
Andy Wingo [Fri, 1 Feb 2013 21:18:18 +0000 (22:18 +0100)]
define more types
* figl/parse.scm: Don't reduce pointer types to "*" early on. Instead,
try to preserve the information that we have.
* doc/low-level-gl.texi:
* doc/low-level-glu.texi:
* doc/low-level-glx.texi:
* figl/glx/low-level.scm:
* figl/glu/low-level.scm:
* figl/gl/low-level.scm: Regenerate.
* figl/gl/types.scm:
* figl/glu/types.scm:
* figl/glx/types.scm: Define more types.
Andy Wingo [Fri, 1 Feb 2013 20:27:13 +0000 (21:27 +0100)]
skip double variants, not float variants
* figl/parse.scm (parse-prototypes): Skip double variants instead of
skipping float variants, to better match hardware capabilities.
* figl/gl/low-level.scm:
* doc/low-level-gl.texi: Regenerate.
Andy Wingo [Fri, 1 Feb 2013 20:20:17 +0000 (21:20 +0100)]
reorganize file structures; allow for module-specific types
* figl/runtime.scm: Rename from (figl low-level support).
* doc/low-level-glx.texi:
* doc/low-level-glu.texi:
* doc/low-level-gl.texi: Regenerated.
* figl/gl/low-level.scm:
* figl/glu/low-level.scm:
* figl/glx/low-level.scm: Moved here, from figl/low-level/foo.scm.
* maint/update-low-level-bindings: Update script for new locations, and
to use type modules.
* figl/glx/types.scm:
* figl/glu/types.scm:
* figl/gl/types.scm: New module-specific types.
* figl/low-level/types.scm: Removed in favor of module-specific types.
* Makefile.am: Update.
Andy Wingo [Fri, 1 Feb 2013 16:10:51 +0000 (17:10 +0100)]
definitions for common types
* figl/low-level/support.scm: Re-export the types module, and define
void.
Daniel Hartwig [Fri, 1 Feb 2013 05:32:05 +0000 (13:32 +0800)]
add figl/low-level/types.scm
* figl/low-level/types.scm: New file. Mappings from OpenGL to FFI types.
* Makefile.am: Add.
Andy Wingo [Fri, 1 Feb 2013 16:04:50 +0000 (17:04 +0100)]
current-gl-resolver parameter
* figl/low-level/support.scm (default-foreign-resolver):
(current-gl-resolver, resolve-foreign): Export current-gl-resolver
as a parameter.
Andy Wingo [Fri, 1 Feb 2013 15:58:04 +0000 (16:58 +0100)]
start to actually making foreign wrappers
* figl/low-level/support.scm (resolve-foreign): New helper.
(foreign-trampoline): New helper.
(define-gl-procedure): Begin to consider actually doing the right
thing!
Andy Wingo [Fri, 1 Feb 2013 15:20:48 +0000 (16:20 +0100)]
handle families of functions with different signatures
* figl/parse.scm (gl-definition): Change prototype field to prototypes.
(xml-funcprototypes): New func, replaces xml-prototype.
(string->gl-type): Trim spaces. Always make a symbol (what was going
on here before with the double quote?)
(parse-prototypes): Extract all prototypes. Attempt to elide
redundant procedures.
(parse-gl-definitions, xml->definition): Don't generate definitions
for man pages without prototypes.
* maint/update-low-level-bindings (write-scm): Adapt format of
define-gl-procedure, and generate a correct export list.
* doc/low-level-gl.texi:
* doc/low-level-glu.texi:
* doc/low-level-glx.texi:
* figl/low-level/gl.scm:
* figl/low-level/glu.scm:
* figl/low-level/glx.scm: Update generated files.
* figl/low-level/support.scm (define-gl-procedure): Adapt to make
multiple definitions.
Daniel Hartwig [Fri, 1 Feb 2013 11:21:46 +0000 (19:21 +0800)]
first attempt at parse-prototype
* figl/parse.scm: First attempt at parse-prototype. Outputs a form
similar to the one used by the glut bindings. Keeping the
function name around as it is needed: refname is not particularly
useful.
Andy Wingo [Fri, 1 Feb 2013 11:40:59 +0000 (12:40 +0100)]
bump version
* .gitignore: Update.
* configure.ac: Version of 2.0, as we will wrap OpenGL version 2.x.
Andy Wingo [Fri, 1 Feb 2013 11:39:43 +0000 (12:39 +0100)]
fix distcheck, make valid texinfo that can make pdfs
* Makefile.am (EXTRA_DIST): Add other .texi files to dist.
* doc/low-level-gl.texi:
* doc/low-level-glu.texi:
* doc/low-level-glx.texi:
* figl/low-level/gl.scm:
* figl/low-level/glu.scm:
* figl/low-level/glx.scm: Regenerate.
* figl/parse.scm (*rules*): Avoid <title> elements; headings can't be
present in @defun sections. Don't generate @math blocks, as texi2pdf
does not interpret them well. Instead use @r.
* maint/update-low-level-bindings (unique-copyrights): Handle lack of
copyright (shouldn't happen).
(write-scm): Make plain-text docstrings again.
Andy Wingo [Fri, 1 Feb 2013 11:10:06 +0000 (12:10 +0100)]
generate separate modules for gl, glu, glx; add info target
* .gitignore: New file.
* Makefile.am: Add documentation, and only update the generated files
when asked to. Add new low-level generated files and generated
documentation.
* doc/figl.texi: New file.
* doc/low-level-gl.texi:
* doc/low-level-glu.texi:
* doc/low-level-glx.texi: New generated files.
* figl/config.scm.in: Add abs-top-srcdir.
* figl/low-level.inc.scm: Removed.
* figl/low-level/gl.scm:
* figl/low-level/glu.scm:
* figl/low-level/glx.scm: New generated files.
* figl/low-level/support.scm: New runtime support file.
* figl/parse.scm: Update to expose a "gl-definition" data type, and
expose a parse-to-list interface rather than a fold interface.
Various hacky documentation tweaks to generate valid stexi for the
whole binding set.
* generate-low-level-bindings:
* maint/update-low-level-bindings: Move the updater into maint/ dir, and
only run when asked. Generate whole modules, and documentation too.
Andy Wingo [Thu, 31 Jan 2013 22:01:50 +0000 (23:01 +0100)]
plain-text docstrings
* figl/parse.scm (generate-documentation): Generate plain text for now.
* figl/low-level.inc.scm: Check in this file.
Andy Wingo [Thu, 31 Jan 2013 21:54:47 +0000 (22:54 +0100)]
generate low-level bindings
* Makefile.am: Add rules to generate low-level.inc.scm.
* generate-low-level-bindings: New helper.
* figl/parse.scm: Rework to deal with versions instead of man sections.
Define and export fold-gl-definitions.
* figl/low-level.scm: New file, for the low-level bindings.
Andy Wingo [Thu, 31 Jan 2013 21:17:49 +0000 (22:17 +0100)]
docstrings for one and all
* figl/parse.scm (generate-documentation): Produce a serialized texinfo
fragment.
(*rules*): Add enough terrible hacky rules that we can parse all of
the docbook in man2 without warnings.
(*man-sections*): Turns out these aren't manual sections; they are
versions of the API. Just focus on OpenGL 2.x for now.
Andy Wingo [Thu, 31 Jan 2013 08:22:51 +0000 (09:22 +0100)]
more work on parser
* figl/parse.scm: Update to use newest xml->sxml features, and the
beginnings of parsing the XML files.
Andy Wingo [Mon, 28 Jan 2013 21:50:53 +0000 (22:50 +0100)]
add figl/parse.scm
* figl/parse.scm: New file.
* Makefile.am: Add.
Andy Wingo [Mon, 28 Jan 2013 21:50:09 +0000 (22:50 +0100)]
add figl/config.scm
* figl/config.scm.in: New file.
* configure.ac: Generate config.scm.
* Makefile.am:
* .gitignore: Add config.scm.
Andy Wingo [Fri, 25 Jan 2013 16:41:54 +0000 (17:41 +0100)]
add upstream documentation
* upstream-man-pages/update: New script, downloads documentation from
khronos.org.
* upstream-man-pages/man2:
* upstream-man-pages/man3:
* upstream-man-pages/man4:
* upstream-man-pages/manglsl: Update.
Andy Wingo [Fri, 25 Jan 2013 16:03:55 +0000 (17:03 +0100)]
initial import
Andy Wingo [Fri, 25 Jan 2013 15:28:28 +0000 (16:28 +0100)]
initial empty commit