The cl-glfw Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-glfw Reference Manual

This is the cl-glfw Reference Manual, version 0.3, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:09:17 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Top-level ASDF packages:

 * cl-glfw - GLFW bindings for Common Lisp.
 * cl-glfw-opengl-version_* - OpenGL bindings for Common Lisp.
 * cl-glfw-glu (requires cl-glfw-opengl) - OpenGL Utilities bindings for Common Lisp.

ABOUT

A public domain set of CFFI bindings and convenience macros for the GLFW, GLU
and OpenGL libraries.

The OpenGL bindings are automatically generated from the spec-files from 
http://www.opengl.org/registry/

The GLU binding was hand-coerced from a tidied up header file, through swig, so
it's pretty much a direct mapping onto the API.

cl-glfw is independent of cl-glfw-opengl-* and cl-glfw-glu. cl-glfw-opengl and
cl-glfw-glu may be used without cl-glfw. cl-glfw-glu, however, does depend on
cl-glfw-opengl. So, you should be able to use cl-glfw and
cl-glfw-opengl/cl-glfw-glu independently of each other; for example, using
cl-glfw with cl-opengl, or cl-opengl's glut with cl-glfw-opengl, should work
fine.

Check out the examples/ directory for more of a guide through.


WINDOWS NOTES

For SBCL on Windows, you will need to download the GLFW DLLs pack
(glfw-2.6.bin.WIN32.zip), which you can find on http://glfw.sf.net/

I would recommend either placing the MINGW version of the GLFW.dll in either
your \WINDOWS\SYSTEM32 directory, or in the current directory for distributed
binaries.


MAC OS X NOTES

For SBCL on Mac OS X, you will want to have the libglfw.dylib somewhere where
cl-glfw can find it. It's probably easiest to just include it in the current
directory of your application.


THREADING

GLFW threading WILL PROBABLY BREAK YOUR LISP IMAGE. I would advise seeking
other avenues if you require threading in your applications. The bindings
remain in cl-glfw, but, I should emphasise once again, that they probably are
going to mess up things like garbage collection in your lisp, and apparently
some things to do with stacks and allocations aswell.


NAME MANGLING STYLE

All function/constant names are 'lispified', that is dash-separated, instead of
camel-case.  Suffixes and acronyms are kept together as one word. Library
prefixes are expressed as their package. Constants are surrounded by the '+'
characters as lisp convention dictates.  Some examples:

glfwOpenWindow -> glfw:open-window
glVertex3fv -> gl:vertex-3fv
gluBuild2DMipmaps -> glu:build-2d-mipmaps
GL_FOG_INDEX -> gl:+fog-index+
GL_LIGHT0 -> gl:+light-0+


TYPE CONVERSION IN CL-GLFW-OPENGL

Functions that take a predictable c-array input or return an output have
automatic-translators for lisp-sequences (array and vectors). However, this
will require an extra allocation. cffi:pointer types will be passed straight
through. Eg. (gl:vertex-3fv #(1.0 0.0 1.0)) will work as expected.

All function parameters of types (warning: not in GLU yet) GLfloat or GLdouble
are automatically wrapped in an appropriate coerce. All integer types are
expected to be acceptable to CFFI. 

See individual function documentation for cl-glfw conversion details.
cl-glfw-glu does not do automatic float translations.


PLATFORMS
    SBCL Linux x86
    SBCL Linux amd64/x86_64
    SBCL Windows 32-bit
    SBCL Mac OS X 32-bit Intel
    Others: Let me know.


LINKS

    http://repo.or.cz/w/cl-glfw.git - The working online git repository
    http://glfw.sf.net/ - The homepage for GLFW
    http://common-lisp.net/project/cffi/ - Dependency library CFFI's homepage
    http://www.sbcl.org/ - Our favoured implementation of Common Lisp
    http://www.opengl.org/ - OpenGL 3D graphics library API


ALTERNATIVES

    http://common-lisp.net/project/cl-opengl/ - Alternative set of OpenGL (with GLUT) bindings
    http://cl-sdl.sf.net/ - Seemingly abandoned SDL and OpenGL bindings


Enjoy.
Bill
airbaggins@users.sourceforge.net



Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 cl-glfw

Author

William Robinson <airbaggins@users.sf.net>

License

Public Domain

Description

Common Lisp bindings for GLFW

Version

0.3

Dependencies
Source

cl-glfw.asd (file)

Component

lib (module)


Previous: , Up: Systems   [Contents][Index]

2.2 cl-glfw-types

Author

William Robinson <airbaggins@users.sf.net>

License

Public Domain

Description

Common Lisp bindings for GLFW: Base CFFI type definitions and expanders package

Version

0.3

Dependency

cffi

Source

cl-glfw-types.asd (file)

Component

lib (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 cl-glfw/lib

Parent

cl-glfw (system)

Location

lib/

Components

Previous: , Up: Modules   [Contents][Index]

3.2 cl-glfw-types/lib

Parent

cl-glfw-types (system)

Location

lib/

Component

types.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 cl-glfw.asd

Location

cl-glfw.asd

Systems

cl-glfw (system)

Packages

cl-glfw-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 cl-glfw-types.asd

Location

cl-glfw-types.asd

Systems

cl-glfw-types (system)

Packages

cl-glfw-types-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 cl-glfw/lib/glfw-package.lisp

Parent

lib (module)

Location

lib/glfw-package.lisp

Packages

cl-glfw


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 cl-glfw/lib/glfw-lib.lisp

Dependency

glfw-package.lisp (file)

Parent

lib (module)

Location

lib/glfw-lib.lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 cl-glfw/lib/glfw-macros.lisp

Dependency

glfw-lib.lisp (file)

Parent

lib (module)

Location

lib/glfw-macros.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 cl-glfw/lib/glfw.lisp

Dependency

glfw-macros.lisp (file)

Parent

lib (module)

Location

lib/glfw.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.7 cl-glfw-types/lib/types.lisp

Parent

lib (module)

Location

lib/types.lisp

Packages

cl-glfw-types

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 cl-glfw-system

Source

cl-glfw.asd

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 cl-glfw

Source

glfw-package.lisp (file)

Nickname

glfw

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 cl-glfw-types-system

Source

cl-glfw-types.asd

Use List

Previous: , Up: Packages   [Contents][Index]

5.4 cl-glfw-types

Source

types.lisp (file)

Use List
Used By List

cl-glfw

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Constants

Constant: +accelerated+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +accum-alpha-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +accum-blue-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +accum-green-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +accum-red-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +active+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +alpha-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +alpha-map-bit+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +auto-poll-events+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +aux-buffers+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +axes+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +blue-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +build-mipmaps-bit+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +buttons+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +depth-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +false+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +fsaa-samples+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +fullscreen+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +green-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +iconified+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +infinity+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-1+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-10+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-11+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-12+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-13+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-14+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-15+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-16+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-2+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-3+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-4+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-5+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-6+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-7+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-8+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-9+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +joystick-last+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-backspace+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-caps-lock+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-del+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-down+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-end+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-enter+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-esc+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f1+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f10+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f11+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f12+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f13+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f14+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f15+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f16+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f17+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f18+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f19+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f2+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f20+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f21+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f22+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f23+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f24+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f25+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f3+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f4+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f5+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f6+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f7+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f8+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-f9+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-home+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-insert+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-0+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-1+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-2+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-3+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-4+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-5+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-6+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-7+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-8+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-9+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-add+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-decimal+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-divide+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-enter+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-equal+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-multiply+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-num-lock+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-kp-subtract+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-lalt+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-last+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-lctrl+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-left+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-lshift+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-lsuper+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-menu+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-pagedown+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-pageup+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-pause+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-ralt+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-rctrl+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-repeat+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-right+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-rshift+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-rsuper+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-scroll-lock+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-space+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-special+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-tab+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-unknown+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +key-up+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-1+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-2+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-3+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-4+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-5+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-6+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-7+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-8+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-last+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-left+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-middle+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-button-right+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +mouse-cursor+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +no-rescale-bit+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +nowait+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opened+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-debug-context+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-forward-compat+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-profile+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-version-major+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-version-minor+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +origin-ul-bit+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +present+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +press+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +red-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +refresh-rate+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +release+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +stencil-bits+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +stereo+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +sticky-keys+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +sticky-mouse-buttons+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +system-keys+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +true+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +wait+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +window+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +window-no-resize+
Package

cl-glfw

Source

glfw.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Special variables

Special Variable: *init-hooks*

A list of funcallable objects invoked just after initialization.

Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *mouse-wheel-cumulative*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *terminate-hooks*

A list of funcallable objects invoked just before termination.

Package

cl-glfw

Source

glfw.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Macros

Macro: defcfun+doc (C-NAME LISP-NAME) RETURN-TYPE (&body ARGS) DOCSTRING
Package

cl-glfw

Source

glfw-macros.lisp (file)

Macro: defcfun+out+doc (C-NAME LISP-NAME) RETURN-TYPE (&body ARGS) DOCSTRING
Package

cl-glfw

Source

glfw-macros.lisp (file)

Macro: do-window (&rest OPEN-WINDOW-KEYS) (&body SETUP-FORMS) &body FORMS

High-level convenience macro for initializing glfw, opening a window (given the optional window parameters), setting the title given,
running setup-forms and then running forms in a loop, with calls to swap-buffers after each loop iteration. The loop is in a block named do-window [so can be exited by a call to (return-from glfw:do-window)].
If the window is closed, the loop is also exited.

Package

cl-glfw

Source

glfw.lisp (file)

Macro: with-init &body FORMS

Call glfw:init, execute forms and clean-up with glfw:terminate once finished. This makes a nice wrapper to an application higher-level form.
Signals an error on failure to initialize. Wrapped in a block named glfw:with-init.

Package

cl-glfw

Source

glfw.lisp (file)

Macro: with-init-window (&rest OPEN-WINDOW-KEYS) &body FORMS

Wraps forms in with-init, with-open-window. Passes through the other arguments to open-window.

Package

cl-glfw

Source

glfw.lisp (file)

Macro: with-lock-mutex MUTEX &body FORMS

Parameters
mutex
A mutex object handle.
forms
Body of code to execute
Description
This macro will acquire a lock on the selected mutex object using glfw::LockMutex and release it afterwards using glfw::UnlockMutex.
So, forms will not execute until an exclusive lock is held.
The lock is then released when the stack is unwound.

Package

cl-glfw

Source

glfw.lisp (file)

Macro: with-open-window (&rest OPEN-WINDOW-KEYS) &body FORMS

Wraps forms such that there is an open window for them to execute in and cleans up the window afterwards. An error is signalled if there was an error opening the window. Takes the same parameters as open-window, with the addition of ’title’ which will set the window title after opening.
Wrapped in a block named glfw:with-open-window.

Package

cl-glfw

Source

glfw.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Functions

Function: broadcast-cond COND

Parameters
cond
A condition variable object handle.
Description
The function restarts all the threads that are waiting on the condition variable cond. If no threads are waiting on cond, nothing happens.
Notes
When several threads are waiting for the condition variable, the order in which threads are started depends on operating system scheduling rules, and may vary from system to system and from time to time.

Package

cl-glfw

Source

glfw.lisp (file)

Function: close-window ()

The function closes an opened window and destroys the associated OpenGL context.

Package

cl-glfw

Source

glfw.lisp (file)

Function: create-cond ()

Return values
The function returns a condition variable handle, or NULL if the condition variable could not be created.
Description
The function creates a condition variable object, which can be used to synchronize threads.

Package

cl-glfw

Source

glfw.lisp (file)

Function: create-mutex ()

Return values
The function returns a mutex handle, or NULL if the mutex could not be created.
Description
The function creates a mutex object, which can be used to control access to data that is shared between threads.

Package

cl-glfw

Source

glfw.lisp (file)

Function: create-thread FUN ARG

Parameters
fun
A pointer to a function that acts as the entry point for the new thread. The function should have the following C language prototype:
void GLFWCALL functionname( void *arg );
Where functionname is the name of the thread function, and arg is the user supplied argument
(see below).
arg
An arbitrary argument for the thread. arg will be passed as the argument to the thread function pointed to by fun. For instance, arg can point to data that is to be processed by the thread. Return values
The function returns a thread identification number if the thread was created successfully. This number is always positive. If the function fails, a negative number is returned.
Description
The function creates a new thread, which executes within the same address space as the calling process. The thread entry point is specified with the fun argument.
Once the thread function fun returns, the thread dies.
Notes
Even if the function returns a positive thread ID, indicating that the thread was created successfully, the thread may be unable to execute, for instance if the thread start address is not a valid thread entry point.

Package

cl-glfw

Source

glfw.lisp (file)

Function: destroy-cond COND

Parameters
cond
A condition variable object handle.
Description
The function destroys a condition variable object. After a condition variable object has been destroyed, it may no longer be used by any thread.

Package

cl-glfw

Source

glfw.lisp (file)

Function: destroy-mutex MUTEX

Parameters
mutex
A mutex object handle.
Description
The function destroys a mutex object. After a mutex object has been destroyed, it may no longer be used by any thread.

Package

cl-glfw

Source

glfw.lisp (file)

Function: destroy-thread ID

Parameters
ID
A thread identification handle, which is returned by glfw::CreateThread or glfw::GetThreadID. Description
The function kills a running thread and removes it from the thread list.
Notes
This function is a very dangerous operation, which may interrupt a thread in the middle of an important operation, and its use is discouraged. You should always try to end a thread in a graceful way using thread communication, and use glfw::WaitThread in order to wait for the thread to die.

Package

cl-glfw

Source

glfw.lisp (file)

Function: disable TOKEN

Parameters
token
A value specifying a feature to enable or disable. Valid tokens are listed in table 3.8.
Return values
none
Description
glfw::Enable is used to enable a certain feature, while glfw::Disable is used to disable it. Below follows a description of each feature.
+AUTO_POLL_EVENTS+
When +AUTO_POLL_EVENTS+ is enabled, glfw::PollEvents is automatically called each time
that glfw::SwapBuffers is called.
When +AUTO_POLL_EVENTS+ is disabled, calling glfw::SwapBuffers will not result in a call to glfw::PollEvents. This can be useful if glfw::SwapBuffers needs to be called from within a callback function, since calling glfw::PollEvents from a callback function is not allowed.
+KEY_REPEAT+
When +KEY_REPEAT+ is enabled, the key and character callback functions are called repeatedly
when a key is held down long enough (according to the system key repeat configuration).
When +KEY_REPEAT+ is disabled, the key and character callback functions are only called once
when a key is pressed (and once when it is released).
+MOUSE_CURSOR+
When +MOUSE_CURSOR+ is enabled, the mouse cursor is visible, and mouse coordinates are
relative to the upper left corner of the client area of the GLFW window. The coordinates are limited to the client area of the window.
When +MOUSE_CURSOR+ is disabled, the mouse cursor is invisible, and mouse coordinates are
not limited to the drawing area of the window. It is as if the mouse coordinates are recieved directly from the mouse, without being restricted or manipulated by the windowing system.
+STICKY_KEYS+
When +STICKY_KEYS+ is enabled, keys which are pressed will not be released until they are
physically released and checked with glfw::GetKey. This behavior makes it possible to catch keys that were pressed and then released again between two calls to glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers, which would otherwise have been reported as released. Care should be taken when
using this mode, since keys that are not checked with glfw::GetKey will never be released. Note also that enabling +STICKY_KEYS+ does not affect the behavior of the keyboard callback functionality.
When +STICKY_KEYS+ is disabled, the status of a key that is reported by glfwGetKey is always
the physical state of the key. Disabling +STICKY_KEYS+ also clears the sticky information for
all keys.
+STICKY_MOUSE_BUTTONS+
When +STICKY_MOUSE_BUTTONS+ is enabled, mouse buttons that are pressed will not be
released until they are physically released and checked with glfw::GetMouseButton. This behavior
makes it possible to catch mouse buttons which were pressed and then released again between two calls
to glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers, which would otherwise have been reported
as released. Care should be taken when using this mode, since mouse buttons that are not checked with glfw::GetMouseButton will never be released. Note also that enabling
+STICKY_MOUSE_BUTTONS+ does not affect the behavior of the mouse button callback
functionality.
When +STICKY_MOUSE_BUTTONS+ is disabled, the status of a mouse button that is reported
by glfwGetMouseButton is always the physical state of the mouse button. Disabling
+STICKY_MOUSE_BUTTONS+ also clears the sticky information for all mouse buttons.
+SYSTEM_KEYS+
When +SYSTEM_KEYS+ is enabled, pressing standard system key combinations, such as
ALT+TAB under Windows, will give the normal behavior. Note that when ALT+TAB is issued under
Windows in this mode so that the GLFW application is deselected when GLFW is operating in
fullscreen mode, the GLFW application window will be minimized and the video mode will be set to
the original desktop mode. When the GLFW application is re-selected, the video mode will be set to
the GLFW video mode again.
When +SYSTEM_KEYS+ is disabled, pressing standard system key combinations will have no
effect, since those key combinations are blocked by GLFW. This mode can be useful in situations when
the GLFW program must not be interrupted (normally for games in fullscreen mode).

Package

cl-glfw

Source

glfw.lisp (file)

Function: enable TOKEN

Parameters
token
A value specifying a feature to enable or disable. Valid tokens are listed in table 3.8.
Return values
none
Description
glfw::Enable is used to enable a certain feature, while glfw::Disable is used to disable it. Below follows a description of each feature.
+AUTO_POLL_EVENTS+
When +AUTO_POLL_EVENTS+ is enabled, glfw::PollEvents is automatically called each time
that glfw::SwapBuffers is called.
When +AUTO_POLL_EVENTS+ is disabled, calling glfw::SwapBuffers will not result in a call to glfw::PollEvents. This can be useful if glfw::SwapBuffers needs to be called from within a callback function, since calling glfw::PollEvents from a callback function is not allowed.
+KEY_REPEAT+
When +KEY_REPEAT+ is enabled, the key and character callback functions are called repeatedly
when a key is held down long enough (according to the system key repeat configuration).
When +KEY_REPEAT+ is disabled, the key and character callback functions are only called once
when a key is pressed (and once when it is released).
+MOUSE_CURSOR+
When +MOUSE_CURSOR+ is enabled, the mouse cursor is visible, and mouse coordinates are
relative to the upper left corner of the client area of the GLFW window. The coordinates are limited to the client area of the window.
When +MOUSE_CURSOR+ is disabled, the mouse cursor is invisible, and mouse coordinates are
not limited to the drawing area of the window. It is as if the mouse coordinates are recieved directly from the mouse, without being restricted or manipulated by the windowing system.
+STICKY_KEYS+
When +STICKY_KEYS+ is enabled, keys which are pressed will not be released until they are
physically released and checked with glfw::GetKey. This behavior makes it possible to catch keys that were pressed and then released again between two calls to glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers, which would otherwise have been reported as released. Care should be taken when
using this mode, since keys that are not checked with glfw::GetKey will never be released. Note also that enabling +STICKY_KEYS+ does not affect the behavior of the keyboard callback functionality.
When +STICKY_KEYS+ is disabled, the status of a key that is reported by glfw::GetKey is always
the physical state of the key. Disabling +STICKY_KEYS+ also clears the sticky information for
all keys.
+STICKY_MOUSE_BUTTONS+
When +STICKY_MOUSE_BUTTONS+ is enabled, mouse buttons that are pressed will not be
released until they are physically released and checked with glfw::GetMouseButton. This behavior
makes it possible to catch mouse buttons which were pressed and then released again between two calls
to glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers, which would otherwise have been reported
as released. Care should be taken when using this mode, since mouse buttons that are not checked with glfw::GetMouseButton will never be released. Note also that enabling
+STICKY_MOUSE_BUTTONS+ does not affect the behavior of the mouse button callback
functionality.
When +STICKY_MOUSE_BUTTONS+ is disabled, the status of a mouse button that is reported
by glfw::GetMouseButton is always the physical state of the mouse button. Disabling +STICKY_MOUSE_BUTTONS+ also clears the sticky information for all mouse buttons.
+SYSTEM_KEYS+
When +SYSTEM_KEYS+ is enabled, pressing standard system key combinations, such as
ALT+TAB under Windows, will give the normal behavior. Note that when ALT+TAB is issued under
Windows in this mode so that the GLFW application is deselected when GLFW is operating in
fullscreen mode, the GLFW application window will be minimized and the video mode will be set to
the original desktop mode. When the GLFW application is re-selected, the video mode will be set to
the GLFW video mode again.
When +SYSTEM_KEYS+ is disabled, pressing standard system key combinations will have no
effect, since those key combinations are blocked by GLFW. This mode can be useful in situations when
the GLFW program must not be interrupted (normally for games in fullscreen mode).

Package

cl-glfw

Source

glfw.lisp (file)

Function: extension-supported EXTENSION

Parameters
extension
A null terminated ISO 8859-1 string containing the name of an OpenGL extension.
Return values
The function returns t if the extension is supported. Otherwise it returns nil.
Description
The function does a string search in the list of supported OpenGL extensions to find if the specified extension is listed.
Notes

An OpenGL context must be created before this function can be called (i.e. an OpenGL window
must have been opened with glfwOpenWindow).
In addition to checking for OpenGL extensions, GLFW also checks for extensions in the operating system ?glue API?, such as WGL extensions under Windows and glX extensions under the X Window System.

Package

cl-glfw

Source

glfw.lisp (file)

Function: free-image IMG

Parameters
img
Pointer to a GLFWimage struct.
Description
The function frees any memory occupied by a loaded image, and clears all the fields of the GLFWimage struct. Any image that has been loaded by the glfw::ReadImage function should be deallocated using this function, once the image is not needed anymore.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-desktop-mode ()

Parameters
mode
Pointer to a GLFWvidmode structure, which will be filled out by the function.
Return values
The GLFWvidmode structure pointed to by mode is filled out with the desktop video mode.
Description
The function returns the desktop video mode in a GLFWvidmode structure. See glfwGetVideoModes
for a definition of the GLFWvidmode structure.
Notes
The color depth of the desktop display is always reported as the number of bits for each individual color component (red, green and blue), even if the desktop is not using an RGB or RGBA color format. For instance, an indexed 256 color display may report RedBits = 3, GreenBits = 3 and BlueBits = 2, which adds up to 8 bits in total.
The desktop video mode is the video mode used by the desktop, not the current video mode (which may differ from the desktop video mode if the GLFW window is a fullscreen window).

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-gl-version ()

Return values
The function returns the major and minor version numbers and the revision for the currently used OpenGL implementation as a list (major minor rev).

Description
The function returns the OpenGL implementation version. This is a convenient function that parses the version number information from the string returned by calling
glGetString( GL_VERSION ). The OpenGL version information can be used to determine
what functionality is supported by the used OpenGL implementation.

Notes
An OpenGL context must be created before this function can be called (i.e. an OpenGL window must have been opened with glfwOpenWindow).

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-joystick-buttons JOY NUMBUTTONS

Parameters
joy
A joystick identifier, which should be +JOYSTICK_n+ where n is in the range 1 to 16.
numbuttons
Specifies how many buttons should be returned.
Return values
A list that will hold the button states for all requested buttons.
The function returns the number of actually returned buttons. This is the minimum of numbuttons and
the number of buttons supported by the joystick. If the joystick is not supported or connected, the function will return 0 (zero).

Description
The function queries the current state of one or more buttons of a joystick. The button states are returned in an array, where the first element represents the first button of the joystick. Each state can be either +PRESS+ or +RELEASE+
If numbuttons exceeds the number of buttons supported by the joystick, or if the joystick is not available, the unused elements in the buttons array will be set to +RELEASE+

Notes
The joystick state is updated every time the function is called, so there is no need to call glfw::PollEvents or glfw::WaitEvents for joystick state to be updated.
Use glfw::GetJoystickParam to retrieve joystick capabilities, such as joystick availability and number of supported buttons.
No window has to be opened for joystick input to be valid.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-joystick-param JOY PARAM

Parameters
joy
A joystick identifier, which should be +JOYSTICK_n+ where n is in the range 1 to 16.
param
A token selecting which parameter the function should return (see table 3.5).
Return values
The function returns different parameters depending on the value of param. Table 3.5 lists valid param values, and their corresponding return values.
Description
The function is used for acquiring various properties of a joystick.
Notes
The joystick information is updated every time the function is called.
No window has to be opened for joystick information to be valid.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-joystick-pos JOY NUMAXES

Parameters
joy
A joystick identifier, which should be +JOYSTICK_n+ where n is in the range 1 to 16.
numaxes
Specifies how many axes should be returned.
Return values
An list that will hold the positional values for all requested axes.
If the joystick is not supported or connected, the function will
return nil.

Description
The function queries the current position of one or more axes of a joystick. The positional values are returned in an array, where the first element represents the first axis of the joystick (normally the X axis). Each position is in the range -1.0 to 1.0. Where applicable, the positive direction of an axis is right, forward or up, and the negative direction is left, back or down.
If numaxes exceeds the number of axes supported by the joystick, or if the joystick is not available, the unused elements in the pos array will be set to 0.0 (zero).

Notes
The joystick state is updated every time the function is called, so there is no need to call glfw::PollEvents or glfw::WaitEvents for joystick state to be updated.
Use glfw::GetJoystickParam to retrieve joystick capabilities, such as joystick availability and number of supported axes.
No window has to be opened for joystick input to be valid.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-key KEY

Parameters
key
A keyboard key identifier, which can be either an uppercase printable ISO 8859-1 (Latin 1) character (e.g. ’A’, ’3’ or ’.’), or a special key identifier. Table 3.3 lists valid special key identifiers.
Return values
The function returns +PRESS+ if the key is held down, or +RELEASE+ if the key is not
held down.

Description
The function queries the current state of a specific keyboard key. The physical location of each key depends on the system keyboard layout setting.

Notes
The constant +KEY_SPACE+ is equal to 32, which is the ISO 8859-1 code for space.
Not all key codes are supported on all systems. Also, while some keys are available on some keyboard layouts, they may not be available on other keyboard layouts.
For systems that do not distinguish between left and right versions of modifier keys (shift, alt and control), the left version is used (e.g. +KEY_LSHIFT+)
A window must be opened for the function to have any effect, and glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers must be called before any keyboard events are recorded and reported by glfw::GetKey.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-mouse-button BUTTON

Parameters
button
A mouse button identifier, which can be one of the mouse button identifiers listed in table 3.4. Return values
The function returns +PRESS+ if the mouse button is held down, or +RELEASE+ if the
mouse button is not held down.
Description
The function queries the current state of a specific mouse button.
Notes
A window must be opened for the function to have any effect, and glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers must be called before any mouse button events are recorded and reported by glfw::GetMouseButton.
+MOUSE_BUTTON_LEFT+ is equal to +MOUSE_BUTTON_1+
+MOUSE_BUTTON_RIGHT+ is equal to +MOUSE_BUTTON_2+
+MOUSE_BUTTON_MIDDLE+ is equal to +MOUSE_BUTTON_3+

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-mouse-pos ()

Return values
The function returns the current mouse position in xpos and ypos.

Description
The function returns the current mouse position. If the cursor is not hidden, the mouse position is the cursor position, relative to the upper left corner of the window and limited to the client area of the window. If the cursor is hidden, the mouse position is a virtual absolute position, not limited to any boundaries except to those implied by the maximum number that can be represented by a signed integer (normally -2147483648 to +2147483647).

Notes
A window must be opened for the function to have any effect, and glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers must be called before any mouse movements are recorded and reported by glfw::GetMousePos.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-mouse-wheel ()

Return values
The function returns the current mouse wheel position.
Description
The function returns the current mouse wheel position. The mouse wheel can be thought of as a third mouse axis, which is available as a separate wheel or up/down stick on some mice.
Notes
A window must be opened for the function to have any effect, and glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers must be called before any mouse wheel movements are recorded and reported by glfw::GetMouseWheel.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-number-of-processors ()

Return values
The function returns the number of active processors in the system.
Description
The function determines the number of active processors in the system.
Notes
Systems with several logical processors per physical processor, also known as SMT (Symmetric Multi Threading) processors, will report the number of logical processors.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-proc-address PROCNAME

Parameters
procname
A null terminated ISO 8859-1 string containing the name of an OpenGL extension function. Return values
The function returns the pointer to the specified OpenGL function if it is supported, otherwise NULL is returned.
Description
The function acquires the pointer to an OpenGL extension function. Some (but not all) OpenGL extensions define new API functions, which are usually not available through normal linking. It is therefore necessary to get access to those API functions at runtime.
Notes

An OpenGL context must be created before this function can be called (i.e. an OpenGL window must have been opened with glfwOpenWindow).
Some systems do not support dynamic function pointer retrieval, in which case glfwGetProcAddress will always return NULL.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-thread-id ()

Return values
The function returns a thread identification handle for the calling thread.
Description
The function determines the thread ID for the calling thread. The ID is the same value as was returned by glfw::CreateThread when the thread was created.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-time ()

Return values
The function returns the value of the high precision timer. The time is measured in seconds, and is returned as a double precision floating point value.

Description
The function returns the state of a high precision timer. Unless the timer has been set by the glfw::SetTime function, the time is measured as the number of seconds that have passed since glfw::Init was called.

Notes
The resolution of the timer depends on which system the program is running on. The worst case resolution is somewhere in the order of 10 ms, while for most systems the resolution should be better than 1us.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-version ()

Return values
The function returns the major and minor version numbers and the revision for the currently linked GLFW library as a list (major minor rev).

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-video-modes MAXCOUNT

Parameters
maxcount
Maximum number of video modes that list vector can hold.

Return values
The function returns the number of detected video modes (this number will never exceed maxcount). The list vector is filled out with the video modes that are supported by the system.

Description
The function returns a list of supported video modes. Each video mode is represented by a list of the form:
(width height redbits greenbits bluebits)

Notes
The returned list is sorted, first by color depth (RedBits + GreenBits + BlueBits), and then by resolution (Width * Height), with the lowest resolution, fewest bits per pixel mode first.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-window-param PARAM

Parameters
param
A token selecting which parameter the function should return (see table 3.2).

Return values

The function returns different parameters depending on the value of
param. Table 3.2 lists valid param values, and their corresponding
return values.

Description
The function is used for acquiring various properties of an opened window.

Notes: GLFW_ACCELERATED is only supported under Windows. Other systems
will always return GL_TRUE. Under Windows, GLFW_ACCELERATED means that
the OpenGL renderer is a 3rd party renderer, rather than the fallback
Microsoft software OpenGL renderer. In other words, it is not a real
guarantee that the OpenGL renderer is actually hardware accelerated.

Package

cl-glfw

Source

glfw.lisp (file)

Function: get-window-size ()

The function is used for determining the size of an opened window. The returned values are dimensions of the client area of the window (i.e. excluding any window borders and decorations).
(list width height)

Package

cl-glfw

Source

glfw.lisp (file)

Function: iconify-window ()

Iconify a window. If the window is in fullscreen mode, then the desktop video mode will be restored.

Package

cl-glfw

Source

glfw.lisp (file)

Function: init ()

Return values
If the function succeeds, t is returned.
If the function fails, nil is returned.

The glfwInit function initializes GLFW. No other GLFW functions may be used before this function has been called.

On successful initialization, the list of functions in *init-hooks* is called.

Notes
This function may take several seconds to complete on some systems, while on other systems it may take only a fraction of a second to complete.

Package

cl-glfw

Source

glfw.lisp (file)

Function: lispify-key KEY-INT

Convert key-int from GLFW’s integer representation to lisp characters if from 0 to 255, or keywords, if not within 0-255 inclusive.

Package

cl-glfw

Source

glfw.lisp (file)

Function: lispify-mouse-button BUTTON-INT

Convert button-int from GLFW’s integer representation to a lisp keyword.

Package

cl-glfw

Source

glfw.lisp (file)

Function: load-memory-texture-2d DATA SIZE FLAGS

Parameters
data
The memory buffer holding the contents of the file that should be loaded.
size
The size, in bytes, of the memory buffer.
flags
Flags for controlling the texture loading process. Valid flags are listed in table 3.7.
Return values
The function returns t if the texture was loaded successfully. Otherwise nil is
returned.

Description
The function reads an image from the memory buffer specified by the parameter data and uploads the
image to OpenGL texture memory (using the glTexImage2D function).
If the GLFW_BUILD_MIPMAPS_BIT flag is set, all mipmap levels for the loaded texture are
generated and uploaded to texture memory.
Unless the flag +ORIGIN_UL_BIT+ is set, the origin of the texture is the lower left corner of the
loaded image. If the flag +ORIGIN_UL_BIT+ is set, however, the first pixel is the upper left
corner.
For single component images (i.e. gray scale), the texture is uploaded as an alpha mask if the flag +ALPHA_MAP_BIT+ flag is set, otherwise it is uploaded as a luminance texture.

Notes
glfw::LoadMemoryTexture2D supports the Truevision Targa version 1 file format (.TGA). Supported
pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color), 24-bit true color and 32-bit true color + alpha.
Paletted images are translated into true color or true color + alpha pixel formats.
The read texture is always rescaled to the nearest larger 2m ? 2n resolution using bilinear interpolation, if necessary, since OpenGL requires textures to have a 2m ? 2n resolution.
If the GL_SGIS_generate_mipmap extension, which is usually hardware accelerated, is supported by
the OpenGL implementation it will be used for mipmap generation. Otherwise the mipmaps will be
generated by GLFW in software.

Since OpenGL 1.0 does not support single component alpha maps, alpha map textures are converted
to RGBA format under OpenGL 1.0 when the GLFW_ALPHA_MAP_BIT flag is set and the loaded
texture is a single component texture. The red, green and blue components are set to 1.0.

Package

cl-glfw

Source

glfw.lisp (file)

Function: load-texture-2d NAME FLAGS

Parameters
name
An ISO 8859-1 string holding the name of the file that should be loaded.
flags
Flags for controlling the texture loading process. Valid flags are listed in table 3.7.
Return values
The function returns t if the texture was loaded successfully. Otherwise nil is
returned.

Description

The function reads an image from the file specified by the parameter
name and uploads the image to OpenGL texture memory (using the
glTexImage2D function). If the GLFW_BUILD_MIPMAPS_BIT flag is set,
all mipmap levels for the loaded texture are generated and uploaded to
texture memory. Unless the flag +ORIGIN_UL_BIT+ is set, the origin of
the texture is the lower left corner of the loaded image. If the flag
+ORIGIN_UL_BIT+ is set, however, the first pixel is the upper left
corner. For single component images (i.e. gray scale), the texture is
uploaded as an alpha mask if the flag +ALPHA_MAP_BIT+ flag is set,
otherwise it is uploaded as a luminance texture.

Notes
glfw::LoadTexture2D supports the Truevision Targa version 1 file format (.TGA). Supported pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color), 24-bit true color and 32-bit true color + alpha.
Paletted images are translated into true color or true color + alpha pixel formats.
The read texture is always rescaled to the nearest larger 2m ? 2n resolution using bilinear interpolation, if necessary, since OpenGL requires textures to have a 2m ? 2n resolution.
If the GL_SGIS_generate_mipmap extension, which is usually hardware accelerated, is supported by
the OpenGL implementation it will be used for mipmap generation. Otherwise the mipmaps will be generated by GLFW in software.

Since OpenGL 1.0 does not support single component alpha maps, alpha map textures are converted
to RGBA format under OpenGL 1.0 when the GLFW_ALPHA_MAP_BIT flag is set and the loaded
texture is a single component texture. The red, green and blue components are set to 1.0.

Package

cl-glfw

Source

glfw.lisp (file)

Function: load-texture-image-2d IMG FLAGS

Parameters
img
Pointer to a GLFWimage struct holding the information about the image to be loaded.
flags
Flags for controlling the texture loading process. Valid flags are listed in table 3.7.
Return values
The function returns t if the texture was loaded successfully. Otherwise nil is
returned.

Description
The function uploads the image specified by the parameter img to OpenGL texture memory (using
the glTexImage2D function).
If the +BUILD_MIPMAPS_BIT+ flag is set, all mipmap levels for the loaded texture are
generated and uploaded to texture memory.
Unless the flag +ORIGIN_UL_BIT+ is set, the origin of the texture is the lower left corner of the
loaded image. If the flag +ORIGIN_UL_BIT+ is set, however, the first pixel is the upper left
corner.
For single component images (i.e. gray scale), the texture is uploaded as an alpha mask if the flag +ALPHA_MAP_BIT+ flag is set, otherwise it is uploaded as a luminance texture.

Notes
glfw::LoadTextureImage2D supports the Truevision Targa version 1 file format (.TGA). Supported
pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color), 24-bit true color and 32-bit true color + alpha.
Paletted images are translated into true color or true color + alpha pixel formats.
The read texture is always rescaled to the nearest larger 2m ? 2n resolution using bilinear interpolation, if necessary, since OpenGL requires textures to have a 2m ? 2n resolution.
If the GL_SGIS_generate_mipmap extension, which is usually hardware accelerated, is supported by
the OpenGL implementation it will be used for mipmap generation. Otherwise the mipmaps will be
generated by GLFW in software.

Since OpenGL 1.0 does not support single component alpha maps, alpha map textures are converted
to RGBA format under OpenGL 1.0 when the GLFW_ALPHA_MAP_BIT flag is set and the loaded
texture is a single component texture. The red, green and blue components are set to 1.0.

Package

cl-glfw

Source

glfw.lisp (file)

Function: lock-mutex MUTEX

Parameters
mutex
A mutex object handle.
Description
The function will acquire a lock on the selected mutex object. If the mutex is already locked by another thread, the function will block the calling thread until it is released by the locking thread. Once the function returns, the calling thread has an exclusive lock on the mutex. To release the mutex, call glfw::UnlockMutex.

Package

cl-glfw

Source

glfw.lisp (file)

Function: open-window &key WIDTH HEIGHT REDBITS GREENBITS BLUEBITS ALPHABITS DEPTHBITS STENCILBITS MODE TITLE REFRESH-RATE ACCUM-RED-BITS ACCUM-GREEN-BITS ACCUM-BLUE-BITS ACCUM-ALPHA-BITS AUX-BUFFERS STEREO WINDOW-NO-RESIZE FSAA-SAMPLES OPENGL-VERSION-MAJOR OPENGL-VERSION-MINOR OPENGL-FORWARD-COMPAT OPENGL-DEBUG-CONTEXT OPENGL-PROFILE OPENGL-CORE-PROFILE OPENGL-COMPAT-PROFILE

width
The width of the window. If width is zero, it will be calculated as width = 4/3 height, if height is not zero. If both width and height are zero, then width will be set to 640.
height
The height of the window. If height is zero, it will be calculated as height = 3/4 width, if width is not zero. If both width and height are zero, then height will be set to 480.
redbits, greenbits, bluebits
The number of bits to use for each color component of the color buffer (0 means default color depth). For instance, setting redbits=5, greenbits=6, and bluebits=5 will generate a 16-bit color buffer, if possible.
alphabits
The number of bits to use for the alpha buffer (0 means no alpha buffer).
depthbits
The number of bits to use for the depth buffer (0 means no depth buffer).
stencilbits
The number of bits to use for the stencil buffer (0 means no stencil buffer).
mode
Selects which type of OpenGL window to use. mode can be either +WINDOW+, which
will generate a normal desktop window, or +FULLSCREEN+ which will generate a
window which covers the entire screen. When +FULLSCREEN+ is selected, the video
mode will be changed to the resolution that closest matches the width and height parameters.

Return values
If the function succeeds, t is returned.
If the function fails, nil is returned.

Description

The function opens a window that best matches the parameters given to
the function. How well the resulting window matches the desired window
depends mostly on the available hardware and OpenGL drivers. In
general, selecting a fullscreen mode has better chances of generating
a close match than does a normal desktop window, since GLFW can freely
select from all the available video modes. A desktop window is
normally restricted to the video mode of the desktop.

Notes

For additional control of window properties, see glfw::OpenWindowHint.
In fullscreen mode the mouse cursor is hidden by default, and any system screensavers are prohibited from starting. In windowed mode the mouse cursor is visible, and screensavers are allowed to start. To change the visibility of the mouse cursor, use glfwEnable or glfwDisable with the argument +MOUSE_CURSOR+
In order to determine the actual properties of an opened window, use glfw::GetWindowParam and glfw::GetWindowSize (or glfw::SetWindowSizeCallback).

Package

cl-glfw

Source

glfw.lisp (file)

Function: open-window-hint TARGET HINT

target
Can be any of the constants in the table 3.1.
hint
An integer giving the value of the corresponding target (see table 3.1).

Description
The function sets additional properties for a window that is to be opened. For a hint to be registered, the function must be called before calling glfw::OpenWindow. When the glfw::OpenWindow function is
called, any hints that were registered with the glfw::OpenWindowHint function are used for setting the corresponding window properties, and then all hints are reset to their default values.

Notes
In order to determine the actual properties of an opened window, use glfw::GetWindowParam (after the window has been opened).
+STEREO+ is a hard constraint. If stereo rendering is requested, but no stereo rendering capable
pixel formats / visuals are available, glfw::OpenWindow will fail.
The +REFRESH_RATE+ property should be used with caution. Most systems have default values
for monitor refresh rates that are optimal for the specific system. Specifying the refresh rate can override these settings, which can result in suboptimal operation. The monitor may be unable to display the resulting video signal, or in the worst case it may even be damaged!

Package

cl-glfw

Source

glfw.lisp (file)

Function: poll-events ()

Description
The function is used for polling for events, such as user input and window resize events. Upon calling this function, all window states, keyboard states and mouse states are updated. If any related callback functions are registered, these are called during the call to glfwPollEvents.

Notes
glfwPollEvents is called implicitly from glfwSwapBuffers if +AUTO_POLL_EVENTS+ is
enabled (default). Thus, if glfwSwapBuffers is called frequently, which is normally the case, there is no need to call glfwPollEvents.

Package

cl-glfw

Source

glfw.lisp (file)

Function: read-image NAME IMG FLAGS

Parameters
name
A null terminated ISO 8859-1 string holding the name of the file that should be read.
img
Pointer to a GLFWimage struct, which will hold the information about the loaded image (if the read was successful).
flags
Flags for controlling the image reading process. Valid flags are listed in table 3.6
Return values
The function returns t if the image was loaded successfully. Otherwise nil is
returned.
Description
The function reads an image from the file specified by the parameter name and returns the image information and data in a GLFWimage structure, which has the following definition:

typedef struct {
int Width, Height; // Image dimensions
int Format; // OpenGL pixel format
int BytesPerPixel; // Number of bytes per pixel
unsigned char *Data; // Pointer to pixel data
} GLFWimage;

Width and Height give the dimensions of the image. Format specifies an OpenGL pixel format,
which can be GL_LUMINANCE or GL_ALPHA (for gray scale images), GL_RGB or GL_RGBA.
BytesPerPixel specifies the number of bytes per pixel. Data is a pointer to the actual pixel data.

By default the read image is rescaled to the nearest larger 2m ? 2n resolution using bilinear interpolation, if necessary, which is useful if the image is to be used as an OpenGL texture. This behavior can be disabled by setting the GLFW_NO_RESCALE_BIT flag.
Unless the flag GLFW_ORIGIN_UL_BIT is set, the first pixel in img->Data is the lower left corner of the image. If the flag GLFW_ORIGIN_UL_BIT is set, however, the first pixel is the upper left corner. For single component images (i.e. gray scale), Format is set to GL_ALPHA if the flag

+ALPHA_MAP_BIT+ flag is set, otherwise Format is set to GL_LUMINANCE.
Notes
glfw::ReadImage supports the Truevision Targa version 1 file format (.TGA). Supported pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color), 24-bit true color and 32-bit true color + alpha. Paletted images are translated into true color or true color + alpha pixel formats.
Please note that OpenGL 1.0 does not support single component alpha maps, so do not use images
with Format = GL_ALPHA directly as textures under OpenGL 1.0.

Package

cl-glfw

Source

glfw.lisp (file)

Function: read-memory-image DATA SIZE IMG FLAGS

Parameters
data
The memory buffer holding the contents of the file that should be read.
size
The size, in bytes, of the memory buffer.
img
Pointer to a GLFWimage struct, which will hold the information about the loaded image (if the read was successful).
flags
Flags for controlling the image reading process. Valid flags are listed in table 3.6
Return values
The function returns t if the image was loaded successfully. Otherwise nil is
returned.
Description
The function reads an image from the memory buffer specified by the parameter data and returns the image information and data in a GLFWimage structure, which has the following definition:

typedef struct {
int Width, Height; // Image dimensions
int Format; // OpenGL pixel format
int BytesPerPixel; // Number of bytes per pixel
unsigned char *Data; // Pointer to pixel data
} GLFWimage;

Width and Height give the dimensions of the image. Format specifies an OpenGL pixel format,
which can be GL_LUMINANCE or GL_ALPHA (for gray scale images), GL_RGB or GL_RGBA.
BytesPerPixel specifies the number of bytes per pixel. Data is a pointer to the actual pixel data.

By default the read image is rescaled to the nearest larger 2m ? 2n resolution using bilinear interpolation, if necessary, which is useful if the image is to be used as an OpenGL texture. This behavior can be disabled by setting the GLFW_NO_RESCALE_BIT flag.
Unless the flag GLFW_ORIGIN_UL_BIT is set, the first pixel in img->Data is the lower left corner of the image. If the flag GLFW_ORIGIN_UL_BIT is set, however, the first pixel is the upper left corner. For single component images (i.e. gray scale), Format is set to GL_ALPHA if the flag
+ALPHA_MAP_BIT+ flag is set, otherwise Format is set to GL_LUMINANCE.
Notes
glfw::ReadMemoryImage supports the Truevision Targa version 1 file format (.TGA). Supported pixel formats are: 8-bit gray scale, 8-bit paletted (24/32-bit color), 24-bit true color and 32-bit true color + alpha.
Paletted images are translated into true color or true color + alpha pixel formats.
Please note that OpenGL 1.0 does not support single component alpha maps, so do not use images
with Format = GL_ALPHA directly as textures under OpenGL 1.0.

Package

cl-glfw

Source

glfw.lisp (file)

Function: restore-window ()

Restore an iconified window. If the window that is restored is in fullscreen mode, then the fullscreen video mode will be restored.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-char-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time a printable character is generated by
the keyboard. The function should take the arguments (character action)
where character is a lisp character and action is either glfw:+press+ or glfw:+release+.

NB this makes the presumption that your lisp implementation will use Unicode for code-char.

Description
The function selects which function to be called upon a keyboard character event. The callback function is called every time a key that results in a printable Unicode character is pressed or released. Characters are affected by modifiers (such as shift or alt).
A window has to be opened for this function to have any effect.

Notes
Character events are recorded continuously, but only reported when glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers is called.
Control characters, such as tab and carriage return, are not reported to the character callback function, since they are not part of the Unicode character set. Use the key callback function for such events (see glfw::SetKeyCallback).
The Unicode character set supports character codes above 255, so never cast a Unicode character to an eight bit data type (e.g. the C language char type) without first checking that the character code is less than 256. Also note that Unicode character codes 0 to 255 are equal to ISO 8859-1 (Latin 1).

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-key-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time a key is pressed or released.
Function should take the arguments (key action), where key is either a character,
if the key pressed was a member of iso-8859-1, or a keyword representing the key pressed if not. See the GLFW manual, table 3.3 for special key identifiers. Action is either glfw:+press+ or glfw:+release+. Use set-char-callback instead if you want to read just characters.

Description
The function selects which function to be called upon a keyboard key event. The callback function is called every time the state of a single key is changed (from released to pressed or vice versa). The reported keys are unaffected by any modifiers (such as shift or alt).
A window has to be opened for this function to have any effect.

Notes
Keyboard events are recorded continuously, but only reported when glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-mouse-button-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time a mouse button is pressed or released.
The function takes the arguments (button action), where button is a keyword symbol as returned by lispify-mouse-button and action is either glfw:+press+ or glfw:+release+.

Description
The function selects which function to be called upon a mouse button event.
A window has to be opened for this function to have any effect.

Notes
Mouse button events are recorded continuously, but only reported when glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers is called.
+MOUSE_BUTTON_LEFT+ is equal to +MOUSE_BUTTON_1+
+MOUSE_BUTTON_RIGHT+ is equal to +MOUSE_BUTTON_2+
+MOUSE_BUTTON_MIDDLE+ is equal to +MOUSE_BUTTON_3+

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-mouse-pos XPOS YPOS

Parameters
xpos
Horizontal position of the mouse.
ypos
Vertical position of the mouse.

Description
The function changes the position of the mouse. If the cursor is visible (not disabled), the cursor will be moved to the specified position, relative to the upper left corner of the window client area. If the cursor is hidden (disabled), only the mouse position that is reported by GLFW is changed.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-mouse-pos-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time the mouse is moved.
The function takes the arguments (x y), where x and y are the current position of the mouse.

Description
The function selects which function to be called upon a mouse motion event.
A window has to be opened for this function to have any effect.

Notes
Mouse motion events are recorded continuously, but only reported when glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-mouse-wheel POS

Parameters
pos
Position of the mouse wheel.
Description
The function changes the position of the mouse wheel.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-mouse-wheel-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time the mouse wheel is moved.
The function takes one argument: the position of the mouse wheel.
This DIFFERS FROM GLFW’s DEFAULT behaviour in that the position is
reset after every call to this function, effectively giving the delta.
As most programs are only interested in the delta anyway, this is thought
to save others recording the state of it again.
If you wish to have the original GLFW behaviour, set cl-glfw:*mouse-wheel-cumulative* to t.

Description
The function selects which function to be called upon a mouse wheel event.
A window has to be opened for this function to have any effect.
Notes
Mouse wheel events are recorded continuously, but only reported when glfw::PollEvents, glfw::WaitEvents or glfw::SwapBuffers is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-time TIME

Parameters
time
Time (in seconds) that the timer should be set to.

Description
The function sets the current time of the high precision timer to the specified time. Subsequent calls to glfw::GetTime will be relative to this time. The time is given in seconds.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-close-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called when a user requests that the window should be
closed, typically by clicking the window close icon (e.g. the cross in the upper right corner of a
window under Microsoft Windows). The function should have the following type:
(function () integer)

The return value of the callback function indicates whether or not the window close action should continue. If the function returns gl:+true+, the window will be closed. If the function returns gl:+false+, the window will not
be closed. If you give a CFFI callback returning glfw:boolean, you can use t and nil as return types.

Notes
Window close events are recorded continuously, but only reported when glfwPollEvents,
glfwWaitEvents or glfwSwapBuffers is called.
The OpenGL context is still valid when this function is called.
Note that the window close callback function is not called when glfwCloseWindow is called, but only
when the close request comes from the window manager.
Do not call glfwCloseWindow from a window close callback function. Close the window by returning
gl:+true+ from the function.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-pos X Y

Parameters
x
Horizontal position of the window, relative to the upper left corner of the desktop.
y
Vertical position of the window, relative to the upper left corner of the desktop. Return values
none
Description
The function changes the position of an opened window. It does not have any effect on a fullscreen window.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-refresh-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called when the window client area needs to be
refreshed. The function takes no arguments and returns nothing (void).

Description

The function selects which function to be called upon a window refresh
event, which occurs when any part of the window client area has been
damaged, and needs to be repainted (for instance, if a part of the
window that was previously occluded by another window has become
visible). A window has to be opened for this function to have any
effect.

Notes
Window refresh events are recorded continuously, but only reported when glfwPollEvents, glfwWaitEvents or glfwSwapBuffers is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-size WIDTH HEIGHT

Parameters
width
Width of the window.
height
Height of the window.
Return values
none
Description

The function changes the size of an opened window. The width and
height parameters denote the size of the client area of the
window (i.e. excluding any window borders and decorations). If the
window is in fullscreen mode, the video mode will be changed to a
resolution that closest matches the width and height parameters (the
number of color bits will not be changed).

Notes

The OpenGL context is guaranteed to be preserved after calling glfwSetWindowSize, even if the video mode is changed.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-size-callback CALLBACK

GENERAL CL-GLFW CALLBACK NOTES

All callback setting functions can take either a pointer to a C function,
a function object, a function symbol, or nil to clear the callback function.

THIS CALLBACK FUNCTION

Function that will be called every time the window size changes. The
function should takes the arguments (width height) giving the new width and height of the window client area.

A window has to be opened for this function to have any effect.
Notes
Window size changes are recorded continuously, but only reported when glfwPollEvents,
glfwWaitEvents or glfwSwapBuffers is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: set-window-title TITLE

Parameters
title
Pointer to a null terminated ISO 8859-1 (8-bit Latin 1) string that holds the title of the window.

Description
The function changes the title of the opened window.

Notes
The title property of a window is often used in situations other
than for the window title, such as the title of an application icon
when it is in iconified state.

Package

cl-glfw

Source

glfw.lisp (file)

Function: signal-cond COND

Parameters
cond
A condition variable object handle.
Description
The function restarts one of the threads that are waiting on the condition variable cond. If no threads are waiting on cond, nothing happens. If several threads are waiting on cond, exactly one is restarted, but it is not specified which.
Notes
When several threads are waiting for the condition variable, which thread is started depends on operating system scheduling rules, and may vary from system to system and from time to time.

Package

cl-glfw

Source

glfw.lisp (file)

Function: sleep TIME

Parameters
time
Time, in seconds, to sleep.

Description
The function puts the calling thread to sleep for the requested period of time. Only the calling thread is put to sleep. Other threads within the same process can still execute.

Notes
There is usually a system dependent minimum time for which it is possible to sleep. This time is generally in the range 1 ms to 20 ms, depending on thread sheduling time slot intervals etc. Using a shorter time as a parameter to glfw::Sleep can give one of two results: either the thread will sleep for the minimum possible sleep time, or the thread will not sleep at all (glfw::Sleep returns immediately). The latter should only happen when very short sleep times are specified, if at all.

Package

cl-glfw

Source

glfw.lisp (file)

Function: swap-buffers ()

The function swaps the back and front color buffers of the window. If +AUTO_POLL_EVENTS+
is enabled (which is the default), glfwPollEvents is called before swapping the front and back buffers.

Package

cl-glfw

Source

glfw.lisp (file)

Function: swap-interval INTERVAL

Parameters
interval
Minimum number of monitor vertical retraces between each buffer swap performed by glfwSwapBuffers. If interval is zero, buffer swaps will not be synchronized to the vertical refresh of the monitor (also known as VSync off).

Description

The function selects the minimum number of monitor vertical retraces
that should occur between two buffer swaps. If the selected swap
interval is one, the rate of buffer swaps will never be higher than
the vertical refresh rate of the monitor. If the selected swap
interval is zero, the rate of buffer swaps is only limited by the
speed of the software and the hardware.

Notes

This function will only have an effect on hardware and drivers that
support user selection of the swap interval.

Package

cl-glfw

Source

glfw.lisp (file)

Function: terminate ()

The function terminates GLFW. Among other things it closes the window, if it is opened, and kills any running threads. This function must be called before a program exits.

Before termination, the list of functions in *terminate-hooks* is called.

Package

cl-glfw

Source

glfw.lisp (file)

Function: unlock-mutex MUTEX

Parameters
mutex
A mutex object handle.
Description
The function releases the lock of a locked mutex object.

Package

cl-glfw

Source

glfw.lisp (file)

Function: wait-cond COND MUTEX TIMEOUT

arameters
cond
A condition variable object handle.
mutex
A mutex object handle.
timeout
Maximum time to wait for the condition variable. The parameter can either be a positive time (in seconds), or +INFINITY+
Description
The function atomically unlocks the mutex specified by mutex, and waits for the condition variable cond to be signaled. The thread execution is suspended and does not consume any CPU time until the condition variable is signaled or the amount of time specified by timeout has passed. If timeout is +INFINITY+ glfw::WaitCond will wait forever for cond to be signaled. Before returning to the calling thread, glfw::WaitCond automatically re-acquires the mutex.
Notes
The mutex specified by mutex must be locked by the calling thread before entrance to glfw::WaitCond. A condition variable must always be associated with a mutex, to avoid the race condition where a thread prepares to wait on a condition variable and another thread signals the condition just before the first thread actually waits on it.

Package

cl-glfw

Source

glfw.lisp (file)

Function: wait-events ()

Description
The function is used for waiting for events, such as user input and window resize events. Upon calling this function, the calling thread will be put to sleep until any event appears in the event queue. When events are ready, the events will be processed just as they are processed by glfwPollEvents.
If there are any events in the queue when the function is called, the function will behave exactly like glfwPollEvents (i.e. process all messages and then return, without blocking the calling thread).

Notes
It is guaranteed that glfwWaitEvents will wake up on any event that can be processed by glfw::PollEvents. However, glfwWaitEvents may wake up on events that are not processed or reported by glfw::PollEvents too, and the function may behave differently on different systems. Do no make any assumptions about when or why glfw::WaitEvents will return.

Package

cl-glfw

Source

glfw.lisp (file)

Function: wait-thread ID WAITMODE

Parameters
ID
A thread identification handle, which is returned by glfw::CreateThread or glfw::GetThreadID. waitmode
Can be either +WAIT+ or +NOWAIT+
Return values
The function returns t if the specified thread died after the function was called, or the thread did not exist, in which case glfw::WaitThread will return immediately regardless of waitmode. The function returns nil if waitmode is +NOWAIT+ and the specified thread exists and is still running.

Package

cl-glfw

Source

glfw.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Constants

Constant: +opengl-compat-profile+
Package

cl-glfw

Source

glfw.lisp (file)

Constant: +opengl-core-profile+
Package

cl-glfw

Source

glfw.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Special variables

Special Variable: *char-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *key-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *mouse-button-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *mouse-pos-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *mouse-wheel-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *was-init*

True if we have already initialized.

Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *window-close-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *window-refresh-callback*
Package

cl-glfw

Source

glfw.lisp (file)

Special Variable: *window-size-callback*
Package

cl-glfw

Source

glfw.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Macros

Macro: defgltype TYPE PARSER ACTUAL-TYPE
Package

cl-glfw-types

Source

types.lisp (file)

Macro: define-callback-setter C-NAME CALLBACK-PREFIX RETURN-TYPE (&body ARGS) &key BEFORE-FORM AFTER-FORM DOCUMENTATION
Package

cl-glfw

Source

glfw.lisp (file)

Macro: do-open-window (&rest OPEN-WINDOW-KEYS) (&body SETUP-FORMS) &body FORMS

High-level convenience macro for opening a window (given the optional window parameters),
setting the title given,
running setup-forms and then running forms in a loop, with calls to swap-buffers after each loop iteration. The loop is in a block named do-open-window [so can be exited by a call to (return-from glfw:do-window)]. If the window is closed, the loop is also exited.

Package

cl-glfw

Source

glfw.lisp (file)

Macro: key-int-to-symbol KEY-FORM
Package

cl-glfw

Source

glfw.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Functions

Function: %get-desktop-mode MODE
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-gl-version MAJOR MINOR REV
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-joystick-buttons JOY BUTTONS NUMBUTTONS
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-joystick-pos JOY POS NUMAXES
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-mouse-pos XPOS YPOS
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-version MAJOR MINOR REV
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-video-modes LIST MAXCOUNT
Package

cl-glfw

Source

glfw.lisp (file)

Function: %get-window-size WIDTH HEIGHT
Package

cl-glfw

Source

glfw.lisp (file)

Function: %init ()
Package

cl-glfw

Source

glfw.lisp (file)

Function: %open-window WIDTH HEIGHT REDBITS GREENBITS BLUEBITS ALPHABITS DEPTHBITS STENCILBITS MODE
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-char-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-key-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-mouse-button-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-mouse-pos-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-mouse-wheel-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-window-close-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-window-refresh-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %set-window-size-callback CBFUN
Package

cl-glfw

Source

glfw.lisp (file)

Function: %terminate ()
Package

cl-glfw

Source

glfw.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Classes

Class: gl-bitfield ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint32))
Class: gl-boolean ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods
  • expand-from-foreign (method)
  • expand-to-foreign (method)
Direct Default Initargs
InitargValue
:actual-type(quote (:uint8))
Class: gl-byte ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int8))
Class: gl-char ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:char))
Class: gl-clampd ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

expand-to-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:double))
Class: gl-clampf ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

expand-to-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:float))
Class: gl-double ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

expand-to-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:double))
Class: gl-enum ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint32))
Class: gl-float ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

expand-to-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:float))
Class: gl-half ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:unsigned-short))
Class: gl-handle ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:unsigned-int))
Class: gl-int ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int32))
Class: gl-int64 ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int64))
Class: gl-intprt ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int64))
Class: gl-short ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int16))
Class: gl-sizei ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int32))
Class: gl-sizeiptr ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:int64))
Class: gl-ubyte ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint8))
Class: gl-uint ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint32))
Class: gl-uint64 ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint64))
Class: gl-ushort ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:uint16))
Class: gl-void ()
Package

cl-glfw-types

Source

types.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct Default Initargs
InitargValue
:actual-type(quote (:void))
Class: image-tclass ()
Package

cl-glfw

Source

glfw.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: vidmode-tclass ()
Package

cl-glfw

Source

glfw.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L   M  
Index Entry  Section

C
cl-glfw-types.asd: The cl-glfw-types<dot>asd file
cl-glfw-types/lib: The cl-glfw-types/lib module
cl-glfw-types/lib/types.lisp: The cl-glfw-types/lib/types<dot>lisp file
cl-glfw.asd: The cl-glfw<dot>asd file
cl-glfw/lib: The cl-glfw/lib module
cl-glfw/lib/glfw-lib.lisp: The cl-glfw/lib/glfw-lib<dot>lisp file
cl-glfw/lib/glfw-macros.lisp: The cl-glfw/lib/glfw-macros<dot>lisp file
cl-glfw/lib/glfw-package.lisp: The cl-glfw/lib/glfw-package<dot>lisp file
cl-glfw/lib/glfw.lisp: The cl-glfw/lib/glfw<dot>lisp file

F
File, Lisp, cl-glfw-types.asd: The cl-glfw-types<dot>asd file
File, Lisp, cl-glfw-types/lib/types.lisp: The cl-glfw-types/lib/types<dot>lisp file
File, Lisp, cl-glfw.asd: The cl-glfw<dot>asd file
File, Lisp, cl-glfw/lib/glfw-lib.lisp: The cl-glfw/lib/glfw-lib<dot>lisp file
File, Lisp, cl-glfw/lib/glfw-macros.lisp: The cl-glfw/lib/glfw-macros<dot>lisp file
File, Lisp, cl-glfw/lib/glfw-package.lisp: The cl-glfw/lib/glfw-package<dot>lisp file
File, Lisp, cl-glfw/lib/glfw.lisp: The cl-glfw/lib/glfw<dot>lisp file

L
Lisp File, cl-glfw-types.asd: The cl-glfw-types<dot>asd file
Lisp File, cl-glfw-types/lib/types.lisp: The cl-glfw-types/lib/types<dot>lisp file
Lisp File, cl-glfw.asd: The cl-glfw<dot>asd file
Lisp File, cl-glfw/lib/glfw-lib.lisp: The cl-glfw/lib/glfw-lib<dot>lisp file
Lisp File, cl-glfw/lib/glfw-macros.lisp: The cl-glfw/lib/glfw-macros<dot>lisp file
Lisp File, cl-glfw/lib/glfw-package.lisp: The cl-glfw/lib/glfw-package<dot>lisp file
Lisp File, cl-glfw/lib/glfw.lisp: The cl-glfw/lib/glfw<dot>lisp file

M
Module, cl-glfw-types/lib: The cl-glfw-types/lib module
Module, cl-glfw/lib: The cl-glfw/lib module

Jump to:   C   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %  
B   C   D   E   F   G   I   K   L   M   O   P   R   S   T   U   W  
Index Entry  Section

%
%get-desktop-mode: Internal functions
%get-gl-version: Internal functions
%get-joystick-buttons: Internal functions
%get-joystick-pos: Internal functions
%get-mouse-pos: Internal functions
%get-version: Internal functions
%get-video-modes: Internal functions
%get-window-size: Internal functions
%init: Internal functions
%open-window: Internal functions
%set-char-callback: Internal functions
%set-key-callback: Internal functions
%set-mouse-button-callback: Internal functions
%set-mouse-pos-callback: Internal functions
%set-mouse-wheel-callback: Internal functions
%set-window-close-callback: Internal functions
%set-window-refresh-callback: Internal functions
%set-window-size-callback: Internal functions
%terminate: Internal functions

B
broadcast-cond: Exported functions

C
close-window: Exported functions
create-cond: Exported functions
create-mutex: Exported functions
create-thread: Exported functions

D
defcfun+doc: Exported macros
defcfun+out+doc: Exported macros
defgltype: Internal macros
define-callback-setter: Internal macros
destroy-cond: Exported functions
destroy-mutex: Exported functions
destroy-thread: Exported functions
disable: Exported functions
do-open-window: Internal macros
do-window: Exported macros

E
enable: Exported functions
extension-supported: Exported functions

F
free-image: Exported functions
Function, %get-desktop-mode: Internal functions
Function, %get-gl-version: Internal functions
Function, %get-joystick-buttons: Internal functions
Function, %get-joystick-pos: Internal functions
Function, %get-mouse-pos: Internal functions
Function, %get-version: Internal functions
Function, %get-video-modes: Internal functions
Function, %get-window-size: Internal functions
Function, %init: Internal functions
Function, %open-window: Internal functions
Function, %set-char-callback: Internal functions
Function, %set-key-callback: Internal functions
Function, %set-mouse-button-callback: Internal functions
Function, %set-mouse-pos-callback: Internal functions
Function, %set-mouse-wheel-callback: Internal functions
Function, %set-window-close-callback: Internal functions
Function, %set-window-refresh-callback: Internal functions
Function, %set-window-size-callback: Internal functions
Function, %terminate: Internal functions
Function, broadcast-cond: Exported functions
Function, close-window: Exported functions
Function, create-cond: Exported functions
Function, create-mutex: Exported functions
Function, create-thread: Exported functions
Function, destroy-cond: Exported functions
Function, destroy-mutex: Exported functions
Function, destroy-thread: Exported functions
Function, disable: Exported functions
Function, enable: Exported functions
Function, extension-supported: Exported functions
Function, free-image: Exported functions
Function, get-desktop-mode: Exported functions
Function, get-gl-version: Exported functions
Function, get-joystick-buttons: Exported functions
Function, get-joystick-param: Exported functions
Function, get-joystick-pos: Exported functions
Function, get-key: Exported functions
Function, get-mouse-button: Exported functions
Function, get-mouse-pos: Exported functions
Function, get-mouse-wheel: Exported functions
Function, get-number-of-processors: Exported functions
Function, get-proc-address: Exported functions
Function, get-thread-id: Exported functions
Function, get-time: Exported functions
Function, get-version: Exported functions
Function, get-video-modes: Exported functions
Function, get-window-param: Exported functions
Function, get-window-size: Exported functions
Function, iconify-window: Exported functions
Function, init: Exported functions
Function, lispify-key: Exported functions
Function, lispify-mouse-button: Exported functions
Function, load-memory-texture-2d: Exported functions
Function, load-texture-2d: Exported functions
Function, load-texture-image-2d: Exported functions
Function, lock-mutex: Exported functions
Function, open-window: Exported functions
Function, open-window-hint: Exported functions
Function, poll-events: Exported functions
Function, read-image: Exported functions
Function, read-memory-image: Exported functions
Function, restore-window: Exported functions
Function, set-char-callback: Exported functions
Function, set-key-callback: Exported functions
Function, set-mouse-button-callback: Exported functions
Function, set-mouse-pos: Exported functions
Function, set-mouse-pos-callback: Exported functions
Function, set-mouse-wheel: Exported functions
Function, set-mouse-wheel-callback: Exported functions
Function, set-time: Exported functions
Function, set-window-close-callback: Exported functions
Function, set-window-pos: Exported functions
Function, set-window-refresh-callback: Exported functions
Function, set-window-size: Exported functions
Function, set-window-size-callback: Exported functions
Function, set-window-title: Exported functions
Function, signal-cond: Exported functions
Function, sleep: Exported functions
Function, swap-buffers: Exported functions
Function, swap-interval: Exported functions
Function, terminate: Exported functions
Function, unlock-mutex: Exported functions
Function, wait-cond: Exported functions
Function, wait-events: Exported functions
Function, wait-thread: Exported functions

G
get-desktop-mode: Exported functions
get-gl-version: Exported functions
get-joystick-buttons: Exported functions
get-joystick-param: Exported functions
get-joystick-pos: Exported functions
get-key: Exported functions
get-mouse-button: Exported functions
get-mouse-pos: Exported functions
get-mouse-wheel: Exported functions
get-number-of-processors: Exported functions
get-proc-address: Exported functions
get-thread-id: Exported functions
get-time: Exported functions
get-version: Exported functions
get-video-modes: Exported functions
get-window-param: Exported functions
get-window-size: Exported functions

I
iconify-window: Exported functions
init: Exported functions

K
key-int-to-symbol: Internal macros

L
lispify-key: Exported functions
lispify-mouse-button: Exported functions
load-memory-texture-2d: Exported functions
load-texture-2d: Exported functions
load-texture-image-2d: Exported functions
lock-mutex: Exported functions

M
Macro, defcfun+doc: Exported macros
Macro, defcfun+out+doc: Exported macros
Macro, defgltype: Internal macros
Macro, define-callback-setter: Internal macros
Macro, do-open-window: Internal macros
Macro, do-window: Exported macros
Macro, key-int-to-symbol: Internal macros
Macro, with-init: Exported macros
Macro, with-init-window: Exported macros
Macro, with-lock-mutex: Exported macros
Macro, with-open-window: Exported macros

O
open-window: Exported functions
open-window-hint: Exported functions

P
poll-events: Exported functions

R
read-image: Exported functions
read-memory-image: Exported functions
restore-window: Exported functions

S
set-char-callback: Exported functions
set-key-callback: Exported functions
set-mouse-button-callback: Exported functions
set-mouse-pos: Exported functions
set-mouse-pos-callback: Exported functions
set-mouse-wheel: Exported functions
set-mouse-wheel-callback: Exported functions
set-time: Exported functions
set-window-close-callback: Exported functions
set-window-pos: Exported functions
set-window-refresh-callback: Exported functions
set-window-size: Exported functions
set-window-size-callback: Exported functions
set-window-title: Exported functions
signal-cond: Exported functions
sleep: Exported functions
swap-buffers: Exported functions
swap-interval: Exported functions

T
terminate: Exported functions

U
unlock-mutex: Exported functions

W
wait-cond: Exported functions
wait-events: Exported functions
wait-thread: Exported functions
with-init: Exported macros
with-init-window: Exported macros
with-lock-mutex: Exported macros
with-open-window: Exported macros

Jump to:   %  
B   C   D   E   F   G   I   K   L   M   O   P   R   S   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   S  
Index Entry  Section

*
*char-callback*: Internal special variables
*init-hooks*: Exported special variables
*key-callback*: Internal special variables
*mouse-button-callback*: Internal special variables
*mouse-pos-callback*: Internal special variables
*mouse-wheel-callback*: Internal special variables
*mouse-wheel-cumulative*: Exported special variables
*terminate-hooks*: Exported special variables
*was-init*: Internal special variables
*window-close-callback*: Internal special variables
*window-refresh-callback*: Internal special variables
*window-size-callback*: Internal special variables

+
+accelerated+: Exported constants
+accum-alpha-bits+: Exported constants
+accum-blue-bits+: Exported constants
+accum-green-bits+: Exported constants
+accum-red-bits+: Exported constants
+active+: Exported constants
+alpha-bits+: Exported constants
+alpha-map-bit+: Exported constants
+auto-poll-events+: Exported constants
+aux-buffers+: Exported constants
+axes+: Exported constants
+blue-bits+: Exported constants
+build-mipmaps-bit+: Exported constants
+buttons+: Exported constants
+depth-bits+: Exported constants
+false+: Exported constants
+fsaa-samples+: Exported constants
+fullscreen+: Exported constants
+green-bits+: Exported constants
+iconified+: Exported constants
+infinity+: Exported constants
+joystick-1+: Exported constants
+joystick-10+: Exported constants
+joystick-11+: Exported constants
+joystick-12+: Exported constants
+joystick-13+: Exported constants
+joystick-14+: Exported constants
+joystick-15+: Exported constants
+joystick-16+: Exported constants
+joystick-2+: Exported constants
+joystick-3+: Exported constants
+joystick-4+: Exported constants
+joystick-5+: Exported constants
+joystick-6+: Exported constants
+joystick-7+: Exported constants
+joystick-8+: Exported constants
+joystick-9+: Exported constants
+joystick-last+: Exported constants
+key-backspace+: Exported constants
+key-caps-lock+: Exported constants
+key-del+: Exported constants
+key-down+: Exported constants
+key-end+: Exported constants
+key-enter+: Exported constants
+key-esc+: Exported constants
+key-f1+: Exported constants
+key-f10+: Exported constants
+key-f11+: Exported constants
+key-f12+: Exported constants
+key-f13+: Exported constants
+key-f14+: Exported constants
+key-f15+: Exported constants
+key-f16+: Exported constants
+key-f17+: Exported constants
+key-f18+: Exported constants
+key-f19+: Exported constants
+key-f2+: Exported constants
+key-f20+: Exported constants
+key-f21+: Exported constants
+key-f22+: Exported constants
+key-f23+: Exported constants
+key-f24+: Exported constants
+key-f25+: Exported constants
+key-f3+: Exported constants
+key-f4+: Exported constants
+key-f5+: Exported constants
+key-f6+: Exported constants
+key-f7+: Exported constants
+key-f8+: Exported constants
+key-f9+: Exported constants
+key-home+: Exported constants
+key-insert+: Exported constants
+key-kp-0+: Exported constants
+key-kp-1+: Exported constants
+key-kp-2+: Exported constants
+key-kp-3+: Exported constants
+key-kp-4+: Exported constants
+key-kp-5+: Exported constants
+key-kp-6+: Exported constants
+key-kp-7+: Exported constants
+key-kp-8+: Exported constants
+key-kp-9+: Exported constants
+key-kp-add+: Exported constants
+key-kp-decimal+: Exported constants
+key-kp-divide+: Exported constants
+key-kp-enter+: Exported constants
+key-kp-equal+: Exported constants
+key-kp-multiply+: Exported constants
+key-kp-num-lock+: Exported constants
+key-kp-subtract+: Exported constants
+key-lalt+: Exported constants
+key-last+: Exported constants
+key-lctrl+: Exported constants
+key-left+: Exported constants
+key-lshift+: Exported constants
+key-lsuper+: Exported constants
+key-menu+: Exported constants
+key-pagedown+: Exported constants
+key-pageup+: Exported constants
+key-pause+: Exported constants
+key-ralt+: Exported constants
+key-rctrl+: Exported constants
+key-repeat+: Exported constants
+key-right+: Exported constants
+key-rshift+: Exported constants
+key-rsuper+: Exported constants
+key-scroll-lock+: Exported constants
+key-space+: Exported constants
+key-special+: Exported constants
+key-tab+: Exported constants
+key-unknown+: Exported constants
+key-up+: Exported constants
+mouse-button-1+: Exported constants
+mouse-button-2+: Exported constants
+mouse-button-3+: Exported constants
+mouse-button-4+: Exported constants
+mouse-button-5+: Exported constants
+mouse-button-6+: Exported constants
+mouse-button-7+: Exported constants
+mouse-button-8+: Exported constants
+mouse-button-last+: Exported constants
+mouse-button-left+: Exported constants
+mouse-button-middle+: Exported constants
+mouse-button-right+: Exported constants
+mouse-cursor+: Exported constants
+no-rescale-bit+: Exported constants
+nowait+: Exported constants
+opened+: Exported constants
+opengl-compat-profile+: Internal constants
+opengl-core-profile+: Internal constants
+opengl-debug-context+: Exported constants
+opengl-forward-compat+: Exported constants
+opengl-profile+: Exported constants
+opengl-version-major+: Exported constants
+opengl-version-minor+: Exported constants
+origin-ul-bit+: Exported constants
+present+: Exported constants
+press+: Exported constants
+red-bits+: Exported constants
+refresh-rate+: Exported constants
+release+: Exported constants
+stencil-bits+: Exported constants
+stereo+: Exported constants
+sticky-keys+: Exported constants
+sticky-mouse-buttons+: Exported constants
+system-keys+: Exported constants
+true+: Exported constants
+wait+: Exported constants
+window+: Exported constants
+window-no-resize+: Exported constants

C
Constant, +accelerated+: Exported constants
Constant, +accum-alpha-bits+: Exported constants
Constant, +accum-blue-bits+: Exported constants
Constant, +accum-green-bits+: Exported constants
Constant, +accum-red-bits+: Exported constants
Constant, +active+: Exported constants
Constant, +alpha-bits+: Exported constants
Constant, +alpha-map-bit+: Exported constants
Constant, +auto-poll-events+: Exported constants
Constant, +aux-buffers+: Exported constants
Constant, +axes+: Exported constants
Constant, +blue-bits+: Exported constants
Constant, +build-mipmaps-bit+: Exported constants
Constant, +buttons+: Exported constants
Constant, +depth-bits+: Exported constants
Constant, +false+: Exported constants
Constant, +fsaa-samples+: Exported constants
Constant, +fullscreen+: Exported constants
Constant, +green-bits+: Exported constants
Constant, +iconified+: Exported constants
Constant, +infinity+: Exported constants
Constant, +joystick-1+: Exported constants
Constant, +joystick-10+: Exported constants
Constant, +joystick-11+: Exported constants
Constant, +joystick-12+: Exported constants
Constant, +joystick-13+: Exported constants
Constant, +joystick-14+: Exported constants
Constant, +joystick-15+: Exported constants
Constant, +joystick-16+: Exported constants
Constant, +joystick-2+: Exported constants
Constant, +joystick-3+: Exported constants
Constant, +joystick-4+: Exported constants
Constant, +joystick-5+: Exported constants
Constant, +joystick-6+: Exported constants
Constant, +joystick-7+: Exported constants
Constant, +joystick-8+: Exported constants
Constant, +joystick-9+: Exported constants
Constant, +joystick-last+: Exported constants
Constant, +key-backspace+: Exported constants
Constant, +key-caps-lock+: Exported constants
Constant, +key-del+: Exported constants
Constant, +key-down+: Exported constants
Constant, +key-end+: Exported constants
Constant, +key-enter+: Exported constants
Constant, +key-esc+: Exported constants
Constant, +key-f1+: Exported constants
Constant, +key-f10+: Exported constants
Constant, +key-f11+: Exported constants
Constant, +key-f12+: Exported constants
Constant, +key-f13+: Exported constants
Constant, +key-f14+: Exported constants
Constant, +key-f15+: Exported constants
Constant, +key-f16+: Exported constants
Constant, +key-f17+: Exported constants
Constant, +key-f18+: Exported constants
Constant, +key-f19+: Exported constants
Constant, +key-f2+: Exported constants
Constant, +key-f20+: Exported constants
Constant, +key-f21+: Exported constants
Constant, +key-f22+: Exported constants
Constant, +key-f23+: Exported constants
Constant, +key-f24+: Exported constants
Constant, +key-f25+: Exported constants
Constant, +key-f3+: Exported constants
Constant, +key-f4+: Exported constants
Constant, +key-f5+: Exported constants
Constant, +key-f6+: Exported constants
Constant, +key-f7+: Exported constants
Constant, +key-f8+: Exported constants
Constant, +key-f9+: Exported constants
Constant, +key-home+: Exported constants
Constant, +key-insert+: Exported constants
Constant, +key-kp-0+: Exported constants
Constant, +key-kp-1+: Exported constants
Constant, +key-kp-2+: Exported constants
Constant, +key-kp-3+: Exported constants
Constant, +key-kp-4+: Exported constants
Constant, +key-kp-5+: Exported constants
Constant, +key-kp-6+: Exported constants
Constant, +key-kp-7+: Exported constants
Constant, +key-kp-8+: Exported constants
Constant, +key-kp-9+: Exported constants
Constant, +key-kp-add+: Exported constants
Constant, +key-kp-decimal+: Exported constants
Constant, +key-kp-divide+: Exported constants
Constant, +key-kp-enter+: Exported constants
Constant, +key-kp-equal+: Exported constants
Constant, +key-kp-multiply+: Exported constants
Constant, +key-kp-num-lock+: Exported constants
Constant, +key-kp-subtract+: Exported constants
Constant, +key-lalt+: Exported constants
Constant, +key-last+: Exported constants
Constant, +key-lctrl+: Exported constants
Constant, +key-left+: Exported constants
Constant, +key-lshift+: Exported constants
Constant, +key-lsuper+: Exported constants
Constant, +key-menu+: Exported constants
Constant, +key-pagedown+: Exported constants
Constant, +key-pageup+: Exported constants
Constant, +key-pause+: Exported constants
Constant, +key-ralt+: Exported constants
Constant, +key-rctrl+: Exported constants
Constant, +key-repeat+: Exported constants
Constant, +key-right+: Exported constants
Constant, +key-rshift+: Exported constants
Constant, +key-rsuper+: Exported constants
Constant, +key-scroll-lock+: Exported constants
Constant, +key-space+: Exported constants
Constant, +key-special+: Exported constants
Constant, +key-tab+: Exported constants
Constant, +key-unknown+: Exported constants
Constant, +key-up+: Exported constants
Constant, +mouse-button-1+: Exported constants
Constant, +mouse-button-2+: Exported constants
Constant, +mouse-button-3+: Exported constants
Constant, +mouse-button-4+: Exported constants
Constant, +mouse-button-5+: Exported constants
Constant, +mouse-button-6+: Exported constants
Constant, +mouse-button-7+: Exported constants
Constant, +mouse-button-8+: Exported constants
Constant, +mouse-button-last+: Exported constants
Constant, +mouse-button-left+: Exported constants
Constant, +mouse-button-middle+: Exported constants
Constant, +mouse-button-right+: Exported constants
Constant, +mouse-cursor+: Exported constants
Constant, +no-rescale-bit+: Exported constants
Constant, +nowait+: Exported constants
Constant, +opened+: Exported constants
Constant, +opengl-compat-profile+: Internal constants
Constant, +opengl-core-profile+: Internal constants
Constant, +opengl-debug-context+: Exported constants
Constant, +opengl-forward-compat+: Exported constants
Constant, +opengl-profile+: Exported constants
Constant, +opengl-version-major+: Exported constants
Constant, +opengl-version-minor+: Exported constants
Constant, +origin-ul-bit+: Exported constants
Constant, +present+: Exported constants
Constant, +press+: Exported constants
Constant, +red-bits+: Exported constants
Constant, +refresh-rate+: Exported constants
Constant, +release+: Exported constants
Constant, +stencil-bits+: Exported constants
Constant, +stereo+: Exported constants
Constant, +sticky-keys+: Exported constants
Constant, +sticky-mouse-buttons+: Exported constants
Constant, +system-keys+: Exported constants
Constant, +true+: Exported constants
Constant, +wait+: Exported constants
Constant, +window+: Exported constants
Constant, +window-no-resize+: Exported constants

S
Special Variable, *char-callback*: Internal special variables
Special Variable, *init-hooks*: Exported special variables
Special Variable, *key-callback*: Internal special variables
Special Variable, *mouse-button-callback*: Internal special variables
Special Variable, *mouse-pos-callback*: Internal special variables
Special Variable, *mouse-wheel-callback*: Internal special variables
Special Variable, *mouse-wheel-cumulative*: Exported special variables
Special Variable, *terminate-hooks*: Exported special variables
Special Variable, *was-init*: Internal special variables
Special Variable, *window-close-callback*: Internal special variables
Special Variable, *window-refresh-callback*: Internal special variables
Special Variable, *window-size-callback*: Internal special variables

Jump to:   *   +  
C   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   G   I   P   S   V  
Index Entry  Section

C
cl-glfw: The cl-glfw system
cl-glfw: The cl-glfw package
cl-glfw-system: The cl-glfw-system package
cl-glfw-types: The cl-glfw-types system
cl-glfw-types: The cl-glfw-types package
cl-glfw-types-system: The cl-glfw-types-system package
Class, gl-bitfield: Internal classes
Class, gl-boolean: Internal classes
Class, gl-byte: Internal classes
Class, gl-char: Internal classes
Class, gl-clampd: Internal classes
Class, gl-clampf: Internal classes
Class, gl-double: Internal classes
Class, gl-enum: Internal classes
Class, gl-float: Internal classes
Class, gl-half: Internal classes
Class, gl-handle: Internal classes
Class, gl-int: Internal classes
Class, gl-int64: Internal classes
Class, gl-intprt: Internal classes
Class, gl-short: Internal classes
Class, gl-sizei: Internal classes
Class, gl-sizeiptr: Internal classes
Class, gl-ubyte: Internal classes
Class, gl-uint: Internal classes
Class, gl-uint64: Internal classes
Class, gl-ushort: Internal classes
Class, gl-void: Internal classes
Class, image-tclass: Internal classes
Class, vidmode-tclass: Internal classes

G
gl-bitfield: Internal classes
gl-boolean: Internal classes
gl-byte: Internal classes
gl-char: Internal classes
gl-clampd: Internal classes
gl-clampf: Internal classes
gl-double: Internal classes
gl-enum: Internal classes
gl-float: Internal classes
gl-half: Internal classes
gl-handle: Internal classes
gl-int: Internal classes
gl-int64: Internal classes
gl-intprt: Internal classes
gl-short: Internal classes
gl-sizei: Internal classes
gl-sizeiptr: Internal classes
gl-ubyte: Internal classes
gl-uint: Internal classes
gl-uint64: Internal classes
gl-ushort: Internal classes
gl-void: Internal classes

I
image-tclass: Internal classes

P
Package, cl-glfw: The cl-glfw package
Package, cl-glfw-system: The cl-glfw-system package
Package, cl-glfw-types: The cl-glfw-types package
Package, cl-glfw-types-system: The cl-glfw-types-system package

S
System, cl-glfw: The cl-glfw system
System, cl-glfw-types: The cl-glfw-types system

V
vidmode-tclass: Internal classes

Jump to:   C   G   I   P   S   V