The bodge-host Reference Manual

This is the bodge-host Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:45:14 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 bodge-host

OS-dependent routines

Author

Pavel Korolev

Contact

License

MIT

Version

1.0.0

Dependencies
  • bodge-utilities (system).
  • cffi-c-ref (system).
  • bodge-libc-essentials (system).
  • bodge-concurrency (system).
  • bodge-math (system).
  • bodge-glfw (system).
  • glfw-blob (system).
  • float-features (system).
Source

bodge-host.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 bodge-host/bodge-host.asd

Source

bodge-host.asd.

Parent Component

bodge-host (system).

ASDF Systems

bodge-host.


3.1.2 bodge-host/packages.lisp

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Packages

bodge-host.


3.1.3 bodge-host/utils.lisp

Dependency

packages.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface

bind-main-rendering-context (function).

Internals

3.1.4 bodge-host/cursor.lisp

Dependency

utils.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface
Internals

3.1.5 bodge-host/monitor.lisp

Dependency

cursor.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface
Internals

3.1.6 bodge-host/window.lisp

Dependency

monitor.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface
Internals

3.1.7 bodge-host/controller.lisp

Dependency

window.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface
Internals

3.1.8 bodge-host/host.lisp

Dependency

controller.lisp (file).

Source

bodge-host.asd.

Parent Component

bodge-host (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 bodge-host

Source

packages.lisp.

Use List
  • bodge-concurrency.
  • bodge-math.
  • bodge-util.
  • cffi-c-ref.
  • common-lisp.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *event-wait-timeout*
Package

bodge-host.

Source

host.lisp.


5.1.2 Macros

Macro: progm (&body body)
Package

bodge-host.

Source

host.lisp.

Macro: with-framebuffer-dimensions ((width height) window &body body)
Package

bodge-host.

Source

window.lisp.

Macro: with-viewport-dimensions ((width height) window &body body)
Package

bodge-host.

Source

window.lisp.


5.1.3 Ordinary functions

Function: available-monitors ()
Package

bodge-host.

Source

monitor.lisp.

Function: bind-main-rendering-context (window)
Package

bodge-host.

Source

utils.lisp.

Function: bind-shared-rendering-context (shared-context)
Package

bodge-host.

Source

window.lisp.

Function: close-window (window)
Package

bodge-host.

Source

host.lisp.

Reader: controller-axes (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

axes.

Function: controller-axis-value (axis)
Package

bodge-host.

Source

controller.lisp.

Function: controller-button-pressed-p (button)
Package

bodge-host.

Source

controller.lisp.

Reader: controller-buttons (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

buttons.

Reader: controller-guid (instance)
Writer: (setf controller-guid) (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

guid.

Function: controller-hat-state (hat)
Package

bodge-host.

Source

controller.lisp.

Reader: controller-hats (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

hats.

Reader: controller-name (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

name.

Function: cursor (window)
Package

bodge-host.

Source

window.lisp.

Function: (setf cursor) (window)
Package

bodge-host.

Source

window.lisp.

Function: cursor-position (window &optional result-vec)
Package

bodge-host.

Source

window.lisp.

Function: destroy-cursor (cursor)

Must be run from main thread (see progm macro)

Package

bodge-host.

Source

cursor.lisp.

Function: destroy-shared-rendering-context (context)
Package

bodge-host.

Source

window.lisp.

Function: framebuffer-size (window &optional result-vec)
Package

bodge-host.

Source

window.lisp.

Function: (setf fullscreen-viewport-p) (window)
Package

bodge-host.

Source

window.lisp.

Reader: gamepad-guid (instance)
Writer: (setf gamepad-guid) (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

guid.

Reader: gamepad-name (instance)
Writer: (setf gamepad-name) (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

name.

Function: gamepad-state (gamepad)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-button-pressed-p (gamepad-state button)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-dpad (gamepad-state)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-left-stick (gamepad-state &optional result)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-left-trigger (gamepad-state)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-right-stick (gamepad-state &optional result)
Package

bodge-host.

Source

controller.lisp.

Function: gamepad-state-right-trigger (gamepad-state)
Package

bodge-host.

Source

controller.lisp.

Function: hide-window (window)
Package

bodge-host.

Source

window.lisp.

Function: keyboard-button-state (window button)
Package

bodge-host.

Source

window.lisp.

Function: list-controllers ()
Package

bodge-host.

Source

host.lisp.

Function: list-gamepads ()
Package

bodge-host.

Source

host.lisp.

Function: lock-cursor (window)
Package

bodge-host.

Source

window.lisp.

Function: make-shared-rendering-context (window)
Package

bodge-host.

Source

window.lisp.

Function: make-standard-cursor (cursor-type)

Must be run from main thread (see progm macro)

Package

bodge-host.

Source

cursor.lisp.

Function: modifiers-engaged-p (window &rest modifiers)
Package

bodge-host.

Source

window.lisp.

Function: monitor-name (monitor)
Package

bodge-host.

Source

monitor.lisp.

Function: monitor-position (monitor &optional result-vec)
Package

bodge-host.

Source

monitor.lisp.

Function: monitor-video-mode (monitor)
Package

bodge-host.

Source

monitor.lisp.

Function: mouse-button-state (window button)
Package

bodge-host.

Source

window.lisp.

Function: open-window (window)
Package

bodge-host.

Source

host.lisp.

Function: primary-monitor ()
Package

bodge-host.

Source

monitor.lisp.

Function: push-to-main-thread (fn)
Package

bodge-host.

Source

host.lisp.

Function: release-rendering-context ()
Package

bodge-host.

Source

window.lisp.

Function: show-window (window)
Package

bodge-host.

Source

window.lisp.

Function: swap-buffers (window)
Package

bodge-host.

Source

window.lisp.

Function: swap-interval ()
Package

bodge-host.

Source

host.lisp.

Function: (setf swap-interval) ()
Package

bodge-host.

Source

host.lisp.

Function: unlock-cursor (window)
Package

bodge-host.

Source

window.lisp.

Function: update-gamepad-mappings (mappings)
Package

bodge-host.

Source

host.lisp.

Function: video-mode-blue-bits (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: video-mode-green-bits (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: video-mode-height (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: video-mode-red-bits (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: video-mode-refresh-rate (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: video-mode-width (video-mode)
Package

bodge-host.

Source

monitor.lisp.

Function: viewport-position (window &optional result-vec)
Package

bodge-host.

Source

window.lisp.

Function: (setf viewport-position) (window)
Package

bodge-host.

Source

window.lisp.

Function: viewport-scale (window &optional expected-dpi)
Package

bodge-host.

Source

window.lisp.

Function: viewport-size (window &optional result-vec)
Package

bodge-host.

Source

window.lisp.

Function: (setf viewport-size) (window)
Package

bodge-host.

Source

window.lisp.

Function: (setf viewport-title) (window)
Package

bodge-host.

Source

window.lisp.

Function: window-monitor (window)
Package

bodge-host.

Source

window.lisp.


5.1.4 Generic functions

Generic Function: on-character-input (window character)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-character-input (app c)
Generic Function: on-controller-connect (window controller)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-controller-connect (window controller)
Generic Function: on-controller-disconnect (window controller)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-controller-disconnect (window controller)
Generic Function: on-cursor-movement (window x y)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-cursor-movement (app x y)
Generic Function: on-destroy (window)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-destroy (app)
Generic Function: on-dpad-action (window gamepad state)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-dpad-action (window gamepad state)
Generic Function: on-framebuffer-size-change (window width height)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-framebuffer-size-change (app w h)
Generic Function: on-gamepad-action (window gamepad button state)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-gamepad-action (window gamepad button state)
Generic Function: on-gamepad-connect (window gamepad)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-gamepad-connect (window gamepad)
Generic Function: on-gamepad-disconnect (window gamepad)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-gamepad-disconnect (window gamepad)
Generic Function: on-hide (window)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-hide (app)
Generic Function: on-init (window)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-init (app)
Generic Function: on-key-action (window key state)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-key-action (app key state)
Generic Function: on-left-stick-movement (window gamepad x y)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-left-stick-movement (window gamepad x y)
Generic Function: on-left-trigger (window gamepad value)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-left-trigger (window gamepad value)
Generic Function: on-log (window level control-string &rest arguments)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-log (handle level control-string &rest arguments)
Generic Function: on-mouse-action (window button state)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-mouse-action (app key state)
Generic Function: on-right-stick-movement (window gamepad x y)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-right-stick-movement (window gamepad x y)
Generic Function: on-right-trigger (window gamepad value)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-right-trigger (window gamepad value)
Generic Function: on-scroll (window x-offset y-offset)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-scroll (app x y)
Generic Function: on-viewport-size-change (window width height)
Package

bodge-host.

Source

window.lisp.

Methods
Method: on-viewport-size-change (app w h)
Generic Reader: viewport-autoscaled-p (object)
Package

bodge-host.

Methods
Reader Method: viewport-autoscaled-p ((window window))

automatically generated reader method

Source

window.lisp.

Target Slot

autoscaled.


5.1.5 Standalone methods

Method: initialize-instance :after ((this window) &key opengl-version)
Source

window.lisp.


5.1.6 Classes

Class: window
Package

bodge-host.

Source

window.lisp.

Direct methods
Direct slots
Slot: handle
Readers

%handle-of.

Writers

This slot is read-only.

Slot: cursor
Slot: gl-major-version
Initform

3

Slot: gl-minor-version
Initform

3

Slot: title
Initargs

:title

Slot: height
Initargs

:height

Slot: width
Initargs

:width

Slot: resizable
Initargs

:resizable

Slot: decorated
Initform

t

Initargs

:decorated

Slot: transparent
Initargs

:transparent

Slot: floating
Initargs

:floating

Slot: maximized
Initargs

:maximized

Slot: samples
Initargs

:samples

Slot: position
Package

common-lisp.

Initargs

:position

Slot: autoscaled
Initform

t

Initargs

:autoscaled

Readers

viewport-autoscaled-p.

Writers

This slot is read-only.

Slot: modifier-mask
Initform

0

Readers

%modifier-mask-of.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Constants

Constant: +button-state-values+
Package

bodge-host.

Source

utils.lisp.

Constant: +cursor-type-values+
Package

bodge-host.

Source

cursor.lisp.

Constant: +default-window-height+
Package

bodge-host.

Source

window.lisp.

Constant: +default-window-width+
Package

bodge-host.

Source

window.lisp.

Constant: +expected-dpi+
Package

bodge-host.

Source

utils.lisp.

Constant: +keyboard-key-modifier-values+
Package

bodge-host.

Source

utils.lisp.

Constant: +keyboard-key-values+
Package

bodge-host.

Source

utils.lisp.

Constant: +mouse-button-values+
Package

bodge-host.

Source

utils.lisp.


5.2.2 Special variables

Special Variable: *context*
Package

bodge-host.

Source

host.lisp.

Special Variable: *gamepad-buttons*
Package

bodge-host.

Source

host.lisp.

Special Variable: *host-thread-p*
Package

bodge-host.

Source

utils.lisp.

Special Variable: *key-map*
Package

bodge-host.

Source

utils.lisp.

Special Variable: *mouse-button-map*
Package

bodge-host.

Source

utils.lisp.

Special Variable: *window*
Package

bodge-host.


5.2.3 Macros

Macro: do-windows ((win) &body body)
Package

bodge-host.

Source

host.lisp.

Macro: with-context-locked (&body body)
Package

bodge-host.

Source

host.lisp.


5.2.4 Ordinary functions

Function: %bool (val)
Package

bodge-host.

Source

window.lisp.

Function: %framebuffer-dimensions (window)
Package

bodge-host.

Source

window.lisp.

Function: %gamepad-button-pressed-p (state button-id)
Package

bodge-host.

Source

controller.lisp.

Function: %make-axis (id controller-id)
Package

bodge-host.

Source

controller.lisp.

Function: %make-button (id controller-id)
Package

bodge-host.

Source

controller.lisp.

Function: %make-controller (id name guid axes buttons hats)
Package

bodge-host.

Source

controller.lisp.

Function: %make-gamepad (id name guid %state)
Package

bodge-host.

Source

controller.lisp.

Function: %make-hat (id controller-id)
Package

bodge-host.

Source

controller.lisp.

Function: %update-gamepad-mappings ()
Package

bodge-host.

Source

host.lisp.

Function: %update-modifier-mask (win mask)
Package

bodge-host.

Source

window.lisp.

Function: %viewport-autoscale (window)
Package

bodge-host.

Source

window.lisp.

Function: %viewport-dimensions (window)
Package

bodge-host.

Source

window.lisp.

Function: %window-monitor (win-handle)
Package

bodge-host.

Source

window.lisp.

Reader: axis-controller-id (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

controller-id.

Reader: axis-id (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

id.

Function: axis-p (object)
Package

bodge-host.

Source

controller.lisp.

Function: button-controller-id (instance)
Package

bodge-host.

Source

controller.lisp.

Function: button-id (instance)
Package

bodge-host.

Source

controller.lisp.

Function: button-p (object)
Package

bodge-host.

Source

controller.lisp.

Function: button-state-p (value0)
Package

bodge-host.

Source

utils.lisp.

Function: calc-dpi-scale (monitor expected-dpi)
Package

bodge-host.

Source

window.lisp.

Function: calc-scale (handle expected-dpi)
Package

bodge-host.

Source

window.lisp.

Function: check-host-thread ()
Package

bodge-host.

Source

utils.lisp.

Function: context-enabled-p ()
Package

bodge-host.

Source

host.lisp.

Function: controller-hub-controllers (hub)
Package

bodge-host.

Source

controller.lisp.

Function: controller-hub-gamepads (hub)
Package

bodge-host.

Source

controller.lisp.

Reader: controller-id (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

id.

Function: controller-p (object)
Package

bodge-host.

Source

controller.lisp.

Function: copy-axis (instance)
Package

bodge-host.

Source

controller.lisp.

Function: copy-button (instance)
Package

bodge-host.

Source

controller.lisp.

Function: copy-controller (instance)
Package

bodge-host.

Source

controller.lisp.

Function: copy-gamepad (instance)
Package

bodge-host.

Source

controller.lisp.

Function: copy-hat (instance)
Package

bodge-host.

Source

controller.lisp.

Function: create-window (width height title gl-major-version gl-minor-version &key shared visible samples decorated resizable transparent floating maximized focused)
Package

bodge-host.

Source

window.lisp.

Function: cursor-type->glfw (cursor-type)
Package

bodge-host.

Source

cursor.lisp.

Function: cursor-type-p (value0)
Package

bodge-host.

Source

cursor.lisp.

Function: destroy-controller-hub (hub)
Package

bodge-host.

Source

controller.lisp.

Function: destroy-gamepad (gamepad)
Package

bodge-host.

Source

controller.lisp.

Function: destroy-window (window)
Package

bodge-host.

Source

window.lisp.

Function: ensure-context (init-task)
Package

bodge-host.

Source

host.lisp.

Function: find-controller (hub controller-id)
Package

bodge-host.

Source

controller.lisp.

Function: find-gamepad (hub gamepad-id)
Package

bodge-host.

Source

controller.lisp.

Function: find-window-by-handle (win-handle)
Package

bodge-host.

Source

utils.lisp.

Function: for-each-updated-gamepad (hub fu)
Package

bodge-host.

Source

controller.lisp.

Function: for-each-window (fu)
Package

bodge-host.

Source

host.lisp.

Reader: gamepad-%state (instance)
Writer: (setf gamepad-%state) (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

%state.

Function: gamepad-button->nk (button)
Package

bodge-host.

Source

controller.lisp.

Reader: gamepad-id (instance)
Writer: (setf gamepad-id) (instance)
Package

bodge-host.

Source

controller.lisp.

Target Slot

id.

Function: gamepad-p (object)
Package

bodge-host.

Source

controller.lisp.

Function: glfw->hat-state (state)
Package

bodge-host.

Source

controller.lisp.

Function: glfw-enumval->button-state (value)
Package

bodge-host.

Source

utils.lisp.

Function: glfw-enumval->keyboard-key (value)
Package

bodge-host.

Source

utils.lisp.

Function: glfw-enumval->mouse-button (value)
Package

bodge-host.

Source

utils.lisp.

Function: hat-controller-id (instance)
Package

bodge-host.

Source

controller.lisp.

Function: hat-id (instance)
Package

bodge-host.

Source

controller.lisp.

Function: hat-p (object)
Package

bodge-host.

Source

controller.lisp.

Function: init-callbacks (window)
Package

bodge-host.

Source

window.lisp.

Function: init-context (init-task)
Package

bodge-host.

Source

host.lisp.

Function: init-main-loop (init-task)
Package

bodge-host.

Source

host.lisp.

Function: init-window (window)
Package

bodge-host.

Source

window.lisp.

Function: invoke-controller-listeners (controller-fu gamepad-fu joystick-id)
Package

bodge-host.

Source

host.lisp.

Function: keyboard-key->glfw-enumval (value)
Package

bodge-host.

Source

utils.lisp.

Function: keyboard-key-modifier-p (value0)
Package

bodge-host.

Source

utils.lisp.

Function: keyboard-key-p (value0)
Package

bodge-host.

Source

utils.lisp.

Function: make-controller (id)
Package

bodge-host.

Source

controller.lisp.

Function: make-controller-hub ()
Package

bodge-host.

Source

controller.lisp.

Function: make-gamepad (joystick-id)
Package

bodge-host.

Source

controller.lisp.

Function: make-shared-context (window gl-major-version gl-minor-version)
Package

bodge-host.

Source

window.lisp.

Function: monitor-content-scale (monitor)
Package

bodge-host.

Source

monitor.lisp.

Function: mouse-button->glfw-enumval (value)
Package

bodge-host.

Source

utils.lisp.

Function: mouse-button-p (value0)
Package

bodge-host.

Source

utils.lisp.

Function: primary-monitor-content-scale ()
Package

bodge-host.

Source

monitor.lisp.

Function: register-controller (hub joystick-id)
Package

bodge-host.

Source

controller.lisp.

Function: register-window (window)
Package

bodge-host.

Source

host.lisp.

Function: release-context ()
Package

bodge-host.

Source

host.lisp.

Function: remove-controller (hub joystick-id)
Package

bodge-host.

Source

controller.lisp.

Function: remove-window (window)
Package

bodge-host.

Source

host.lisp.

Function: run-main-loop ()
Package

bodge-host.

Source

host.lisp.

Function: select-monitor (x-win y-win)
Package

bodge-host.

Source

window.lisp.

Function: sweep-context ()
Package

bodge-host.

Source

host.lisp.

Function: update-gamepads ()
Package

bodge-host.

Source

host.lisp.


5.2.5 Generic functions

Generic Reader: %handle-of (object)
Package

bodge-host.

Methods
Reader Method: %handle-of ((window window))

automatically generated reader method

Source

window.lisp.

Target Slot

handle.

Generic Reader: %modifier-mask-of (object)
Package

bodge-host.

Methods
Reader Method: %modifier-mask-of ((window window))

automatically generated reader method

Source

window.lisp.

Target Slot

modifier-mask.

Generic Reader: window-table-of (context)
Package

bodge-host.

Source

utils.lisp.

Methods
Reader Method: window-table-of ((host-context host-context))

automatically generated reader method

Source

host.lisp.

Target Slot

window-table.


5.2.6 Structures

Structure: axis
Package

bodge-host.

Source

controller.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct slots
Slot: id
Type

fixnum

Initform

0

Readers

axis-id.

Writers

This slot is read-only.

Slot: controller-id
Type

fixnum

Initform

0

Readers

axis-controller-id.

Writers

This slot is read-only.

Structure: button
Package

bodge-host.

Source

controller.lisp.

Direct superclasses

axis.

Structure: controller
Package

bodge-host.

Source

controller.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: id
Initform

0

Readers

controller-id.

Writers

This slot is read-only.

Slot: name
Type

string

Initform

""

Readers

controller-name.

Writers

This slot is read-only.

Slot: guid
Type

string

Initform

""

Readers

controller-guid.

Writers

(setf controller-guid).

Slot: axes
Type

list

Readers

controller-axes.

Writers

This slot is read-only.

Slot: buttons
Type

list

Readers

controller-buttons.

Writers

This slot is read-only.

Slot: hats
Type

list

Readers

controller-hats.

Writers

This slot is read-only.

Structure: gamepad
Package

bodge-host.

Source

controller.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: id
Type

fixnum

Initform

0

Readers

gamepad-id.

Writers

(setf gamepad-id).

Slot: name
Type

string

Initform

""

Readers

gamepad-name.

Writers

(setf gamepad-name).

Slot: guid
Type

string

Initform

""

Readers

gamepad-guid.

Writers

(setf gamepad-guid).

Slot: %state
Readers

gamepad-%state.

Writers

(setf gamepad-%state).

Structure: hat
Package

bodge-host.

Source

controller.lisp.

Direct superclasses

axis.


5.2.7 Classes

Class: host-context
Package

bodge-host.

Source

host.lisp.

Direct superclasses

lockable.

Direct methods

window-table-of.

Direct slots
Slot: task-queue
Initform

(bodge-concurrency:make-task-queue)

Slot: enabled-p
Slot: swap-interval
Initform

0

Slot: window-table
Initform

(make-hash-table)

Readers

window-table-of.

Writers

This slot is read-only.

Slot: controller-hub

5.2.8 Types

Type: button-state ()
Package

bodge-host.

Source

utils.lisp.

Type: cursor-type ()
Package

bodge-host.

Source

cursor.lisp.

Type: keyboard-key ()
Package

bodge-host.

Source

utils.lisp.

Type: keyboard-key-modifier ()
Package

bodge-host.

Source

utils.lisp.

Type: mouse-button ()
Package

bodge-host.

Source

utils.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%bool: Private ordinary functions
%framebuffer-dimensions: Private ordinary functions
%gamepad-button-pressed-p: Private ordinary functions
%handle-of: Private generic functions
%handle-of: Private generic functions
%make-axis: Private ordinary functions
%make-button: Private ordinary functions
%make-controller: Private ordinary functions
%make-gamepad: Private ordinary functions
%make-hat: Private ordinary functions
%modifier-mask-of: Private generic functions
%modifier-mask-of: Private generic functions
%update-gamepad-mappings: Private ordinary functions
%update-modifier-mask: Private ordinary functions
%viewport-autoscale: Private ordinary functions
%viewport-dimensions: Private ordinary functions
%window-monitor: Private ordinary functions

(
(setf controller-guid): Public ordinary functions
(setf cursor): Public ordinary functions
(setf fullscreen-viewport-p): Public ordinary functions
(setf gamepad-%state): Private ordinary functions
(setf gamepad-guid): Public ordinary functions
(setf gamepad-id): Private ordinary functions
(setf gamepad-name): Public ordinary functions
(setf swap-interval): Public ordinary functions
(setf viewport-position): Public ordinary functions
(setf viewport-size): Public ordinary functions
(setf viewport-title): Public ordinary functions

A
available-monitors: Public ordinary functions
axis-controller-id: Private ordinary functions
axis-id: Private ordinary functions
axis-p: Private ordinary functions

B
bind-main-rendering-context: Public ordinary functions
bind-shared-rendering-context: Public ordinary functions
button-controller-id: Private ordinary functions
button-id: Private ordinary functions
button-p: Private ordinary functions
button-state-p: Private ordinary functions

C
calc-dpi-scale: Private ordinary functions
calc-scale: Private ordinary functions
check-host-thread: Private ordinary functions
close-window: Public ordinary functions
context-enabled-p: Private ordinary functions
controller-axes: Public ordinary functions
controller-axis-value: Public ordinary functions
controller-button-pressed-p: Public ordinary functions
controller-buttons: Public ordinary functions
controller-guid: Public ordinary functions
controller-hat-state: Public ordinary functions
controller-hats: Public ordinary functions
controller-hub-controllers: Private ordinary functions
controller-hub-gamepads: Private ordinary functions
controller-id: Private ordinary functions
controller-name: Public ordinary functions
controller-p: Private ordinary functions
copy-axis: Private ordinary functions
copy-button: Private ordinary functions
copy-controller: Private ordinary functions
copy-gamepad: Private ordinary functions
copy-hat: Private ordinary functions
create-window: Private ordinary functions
cursor: Public ordinary functions
cursor-position: Public ordinary functions
cursor-type->glfw: Private ordinary functions
cursor-type-p: Private ordinary functions

D
destroy-controller-hub: Private ordinary functions
destroy-cursor: Public ordinary functions
destroy-gamepad: Private ordinary functions
destroy-shared-rendering-context: Public ordinary functions
destroy-window: Private ordinary functions
do-windows: Private macros

E
ensure-context: Private ordinary functions

F
find-controller: Private ordinary functions
find-gamepad: Private ordinary functions
find-window-by-handle: Private ordinary functions
for-each-updated-gamepad: Private ordinary functions
for-each-window: Private ordinary functions
framebuffer-size: Public ordinary functions
Function, %bool: Private ordinary functions
Function, %framebuffer-dimensions: Private ordinary functions
Function, %gamepad-button-pressed-p: Private ordinary functions
Function, %make-axis: Private ordinary functions
Function, %make-button: Private ordinary functions
Function, %make-controller: Private ordinary functions
Function, %make-gamepad: Private ordinary functions
Function, %make-hat: Private ordinary functions
Function, %update-gamepad-mappings: Private ordinary functions
Function, %update-modifier-mask: Private ordinary functions
Function, %viewport-autoscale: Private ordinary functions
Function, %viewport-dimensions: Private ordinary functions
Function, %window-monitor: Private ordinary functions
Function, (setf controller-guid): Public ordinary functions
Function, (setf cursor): Public ordinary functions
Function, (setf fullscreen-viewport-p): Public ordinary functions
Function, (setf gamepad-%state): Private ordinary functions
Function, (setf gamepad-guid): Public ordinary functions
Function, (setf gamepad-id): Private ordinary functions
Function, (setf gamepad-name): Public ordinary functions
Function, (setf swap-interval): Public ordinary functions
Function, (setf viewport-position): Public ordinary functions
Function, (setf viewport-size): Public ordinary functions
Function, (setf viewport-title): Public ordinary functions
Function, available-monitors: Public ordinary functions
Function, axis-controller-id: Private ordinary functions
Function, axis-id: Private ordinary functions
Function, axis-p: Private ordinary functions
Function, bind-main-rendering-context: Public ordinary functions
Function, bind-shared-rendering-context: Public ordinary functions
Function, button-controller-id: Private ordinary functions
Function, button-id: Private ordinary functions
Function, button-p: Private ordinary functions
Function, button-state-p: Private ordinary functions
Function, calc-dpi-scale: Private ordinary functions
Function, calc-scale: Private ordinary functions
Function, check-host-thread: Private ordinary functions
Function, close-window: Public ordinary functions
Function, context-enabled-p: Private ordinary functions
Function, controller-axes: Public ordinary functions
Function, controller-axis-value: Public ordinary functions
Function, controller-button-pressed-p: Public ordinary functions
Function, controller-buttons: Public ordinary functions
Function, controller-guid: Public ordinary functions
Function, controller-hat-state: Public ordinary functions
Function, controller-hats: Public ordinary functions
Function, controller-hub-controllers: Private ordinary functions
Function, controller-hub-gamepads: Private ordinary functions
Function, controller-id: Private ordinary functions
Function, controller-name: Public ordinary functions
Function, controller-p: Private ordinary functions
Function, copy-axis: Private ordinary functions
Function, copy-button: Private ordinary functions
Function, copy-controller: Private ordinary functions
Function, copy-gamepad: Private ordinary functions
Function, copy-hat: Private ordinary functions
Function, create-window: Private ordinary functions
Function, cursor: Public ordinary functions
Function, cursor-position: Public ordinary functions
Function, cursor-type->glfw: Private ordinary functions
Function, cursor-type-p: Private ordinary functions
Function, destroy-controller-hub: Private ordinary functions
Function, destroy-cursor: Public ordinary functions
Function, destroy-gamepad: Private ordinary functions
Function, destroy-shared-rendering-context: Public ordinary functions
Function, destroy-window: Private ordinary functions
Function, ensure-context: Private ordinary functions
Function, find-controller: Private ordinary functions
Function, find-gamepad: Private ordinary functions
Function, find-window-by-handle: Private ordinary functions
Function, for-each-updated-gamepad: Private ordinary functions
Function, for-each-window: Private ordinary functions
Function, framebuffer-size: Public ordinary functions
Function, gamepad-%state: Private ordinary functions
Function, gamepad-button->nk: Private ordinary functions
Function, gamepad-guid: Public ordinary functions
Function, gamepad-id: Private ordinary functions
Function, gamepad-name: Public ordinary functions
Function, gamepad-p: Private ordinary functions
Function, gamepad-state: Public ordinary functions
Function, gamepad-state-button-pressed-p: Public ordinary functions
Function, gamepad-state-dpad: Public ordinary functions
Function, gamepad-state-left-stick: Public ordinary functions
Function, gamepad-state-left-trigger: Public ordinary functions
Function, gamepad-state-right-stick: Public ordinary functions
Function, gamepad-state-right-trigger: Public ordinary functions
Function, glfw->hat-state: Private ordinary functions
Function, glfw-enumval->button-state: Private ordinary functions
Function, glfw-enumval->keyboard-key: Private ordinary functions
Function, glfw-enumval->mouse-button: Private ordinary functions
Function, hat-controller-id: Private ordinary functions
Function, hat-id: Private ordinary functions
Function, hat-p: Private ordinary functions
Function, hide-window: Public ordinary functions
Function, init-callbacks: Private ordinary functions
Function, init-context: Private ordinary functions
Function, init-main-loop: Private ordinary functions
Function, init-window: Private ordinary functions
Function, invoke-controller-listeners: Private ordinary functions
Function, keyboard-button-state: Public ordinary functions
Function, keyboard-key->glfw-enumval: Private ordinary functions
Function, keyboard-key-modifier-p: Private ordinary functions
Function, keyboard-key-p: Private ordinary functions
Function, list-controllers: Public ordinary functions
Function, list-gamepads: Public ordinary functions
Function, lock-cursor: Public ordinary functions
Function, make-controller: Private ordinary functions
Function, make-controller-hub: Private ordinary functions
Function, make-gamepad: Private ordinary functions
Function, make-shared-context: Private ordinary functions
Function, make-shared-rendering-context: Public ordinary functions
Function, make-standard-cursor: Public ordinary functions
Function, modifiers-engaged-p: Public ordinary functions
Function, monitor-content-scale: Private ordinary functions
Function, monitor-name: Public ordinary functions
Function, monitor-position: Public ordinary functions
Function, monitor-video-mode: Public ordinary functions
Function, mouse-button->glfw-enumval: Private ordinary functions
Function, mouse-button-p: Private ordinary functions
Function, mouse-button-state: Public ordinary functions
Function, open-window: Public ordinary functions
Function, primary-monitor: Public ordinary functions
Function, primary-monitor-content-scale: Private ordinary functions
Function, push-to-main-thread: Public ordinary functions
Function, register-controller: Private ordinary functions
Function, register-window: Private ordinary functions
Function, release-context: Private ordinary functions
Function, release-rendering-context: Public ordinary functions
Function, remove-controller: Private ordinary functions
Function, remove-window: Private ordinary functions
Function, run-main-loop: Private ordinary functions
Function, select-monitor: Private ordinary functions
Function, show-window: Public ordinary functions
Function, swap-buffers: Public ordinary functions
Function, swap-interval: Public ordinary functions
Function, sweep-context: Private ordinary functions
Function, unlock-cursor: Public ordinary functions
Function, update-gamepad-mappings: Public ordinary functions
Function, update-gamepads: Private ordinary functions
Function, video-mode-blue-bits: Public ordinary functions
Function, video-mode-green-bits: Public ordinary functions
Function, video-mode-height: Public ordinary functions
Function, video-mode-red-bits: Public ordinary functions
Function, video-mode-refresh-rate: Public ordinary functions
Function, video-mode-width: Public ordinary functions
Function, viewport-position: Public ordinary functions
Function, viewport-scale: Public ordinary functions
Function, viewport-size: Public ordinary functions
Function, window-monitor: Public ordinary functions

G
gamepad-%state: Private ordinary functions
gamepad-button->nk: Private ordinary functions
gamepad-guid: Public ordinary functions
gamepad-id: Private ordinary functions
gamepad-name: Public ordinary functions
gamepad-p: Private ordinary functions
gamepad-state: Public ordinary functions
gamepad-state-button-pressed-p: Public ordinary functions
gamepad-state-dpad: Public ordinary functions
gamepad-state-left-stick: Public ordinary functions
gamepad-state-left-trigger: Public ordinary functions
gamepad-state-right-stick: Public ordinary functions
gamepad-state-right-trigger: Public ordinary functions
Generic Function, %handle-of: Private generic functions
Generic Function, %modifier-mask-of: Private generic functions
Generic Function, on-character-input: Public generic functions
Generic Function, on-controller-connect: Public generic functions
Generic Function, on-controller-disconnect: Public generic functions
Generic Function, on-cursor-movement: Public generic functions
Generic Function, on-destroy: Public generic functions
Generic Function, on-dpad-action: Public generic functions
Generic Function, on-framebuffer-size-change: Public generic functions
Generic Function, on-gamepad-action: Public generic functions
Generic Function, on-gamepad-connect: Public generic functions
Generic Function, on-gamepad-disconnect: Public generic functions
Generic Function, on-hide: Public generic functions
Generic Function, on-init: Public generic functions
Generic Function, on-key-action: Public generic functions
Generic Function, on-left-stick-movement: Public generic functions
Generic Function, on-left-trigger: Public generic functions
Generic Function, on-log: Public generic functions
Generic Function, on-mouse-action: Public generic functions
Generic Function, on-right-stick-movement: Public generic functions
Generic Function, on-right-trigger: Public generic functions
Generic Function, on-scroll: Public generic functions
Generic Function, on-viewport-size-change: Public generic functions
Generic Function, viewport-autoscaled-p: Public generic functions
Generic Function, window-table-of: Private generic functions
glfw->hat-state: Private ordinary functions
glfw-enumval->button-state: Private ordinary functions
glfw-enumval->keyboard-key: Private ordinary functions
glfw-enumval->mouse-button: Private ordinary functions

H
hat-controller-id: Private ordinary functions
hat-id: Private ordinary functions
hat-p: Private ordinary functions
hide-window: Public ordinary functions

I
init-callbacks: Private ordinary functions
init-context: Private ordinary functions
init-main-loop: Private ordinary functions
init-window: Private ordinary functions
initialize-instance: Public standalone methods
invoke-controller-listeners: Private ordinary functions

K
keyboard-button-state: Public ordinary functions
keyboard-key->glfw-enumval: Private ordinary functions
keyboard-key-modifier-p: Private ordinary functions
keyboard-key-p: Private ordinary functions

L
list-controllers: Public ordinary functions
list-gamepads: Public ordinary functions
lock-cursor: Public ordinary functions

M
Macro, do-windows: Private macros
Macro, progm: Public macros
Macro, with-context-locked: Private macros
Macro, with-framebuffer-dimensions: Public macros
Macro, with-viewport-dimensions: Public macros
make-controller: Private ordinary functions
make-controller-hub: Private ordinary functions
make-gamepad: Private ordinary functions
make-shared-context: Private ordinary functions
make-shared-rendering-context: Public ordinary functions
make-standard-cursor: Public ordinary functions
Method, %handle-of: Private generic functions
Method, %modifier-mask-of: Private generic functions
Method, initialize-instance: Public standalone methods
Method, on-character-input: Public generic functions
Method, on-controller-connect: Public generic functions
Method, on-controller-disconnect: Public generic functions
Method, on-cursor-movement: Public generic functions
Method, on-destroy: Public generic functions
Method, on-dpad-action: Public generic functions
Method, on-framebuffer-size-change: Public generic functions
Method, on-gamepad-action: Public generic functions
Method, on-gamepad-connect: Public generic functions
Method, on-gamepad-disconnect: Public generic functions
Method, on-hide: Public generic functions
Method, on-init: Public generic functions
Method, on-key-action: Public generic functions
Method, on-left-stick-movement: Public generic functions
Method, on-left-trigger: Public generic functions
Method, on-log: Public generic functions
Method, on-mouse-action: Public generic functions
Method, on-right-stick-movement: Public generic functions
Method, on-right-trigger: Public generic functions
Method, on-scroll: Public generic functions
Method, on-viewport-size-change: Public generic functions
Method, viewport-autoscaled-p: Public generic functions
Method, window-table-of: Private generic functions
modifiers-engaged-p: Public ordinary functions
monitor-content-scale: Private ordinary functions
monitor-name: Public ordinary functions
monitor-position: Public ordinary functions
monitor-video-mode: Public ordinary functions
mouse-button->glfw-enumval: Private ordinary functions
mouse-button-p: Private ordinary functions
mouse-button-state: Public ordinary functions

O
on-character-input: Public generic functions
on-character-input: Public generic functions
on-controller-connect: Public generic functions
on-controller-connect: Public generic functions
on-controller-disconnect: Public generic functions
on-controller-disconnect: Public generic functions
on-cursor-movement: Public generic functions
on-cursor-movement: Public generic functions
on-destroy: Public generic functions
on-destroy: Public generic functions
on-dpad-action: Public generic functions
on-dpad-action: Public generic functions
on-framebuffer-size-change: Public generic functions
on-framebuffer-size-change: Public generic functions
on-gamepad-action: Public generic functions
on-gamepad-action: Public generic functions
on-gamepad-connect: Public generic functions
on-gamepad-connect: Public generic functions
on-gamepad-disconnect: Public generic functions
on-gamepad-disconnect: Public generic functions
on-hide: Public generic functions
on-hide: Public generic functions
on-init: Public generic functions
on-init: Public generic functions
on-key-action: Public generic functions
on-key-action: Public generic functions
on-left-stick-movement: Public generic functions
on-left-stick-movement: Public generic functions
on-left-trigger: Public generic functions
on-left-trigger: Public generic functions
on-log: Public generic functions
on-log: Public generic functions
on-mouse-action: Public generic functions
on-mouse-action: Public generic functions
on-right-stick-movement: Public generic functions
on-right-stick-movement: Public generic functions
on-right-trigger: Public generic functions
on-right-trigger: Public generic functions
on-scroll: Public generic functions
on-scroll: Public generic functions
on-viewport-size-change: Public generic functions
on-viewport-size-change: Public generic functions
open-window: Public ordinary functions

P
primary-monitor: Public ordinary functions
primary-monitor-content-scale: Private ordinary functions
progm: Public macros
push-to-main-thread: Public ordinary functions

R
register-controller: Private ordinary functions
register-window: Private ordinary functions
release-context: Private ordinary functions
release-rendering-context: Public ordinary functions
remove-controller: Private ordinary functions
remove-window: Private ordinary functions
run-main-loop: Private ordinary functions

S
select-monitor: Private ordinary functions
show-window: Public ordinary functions
swap-buffers: Public ordinary functions
swap-interval: Public ordinary functions
sweep-context: Private ordinary functions

U
unlock-cursor: Public ordinary functions
update-gamepad-mappings: Public ordinary functions
update-gamepads: Private ordinary functions

V
video-mode-blue-bits: Public ordinary functions
video-mode-green-bits: Public ordinary functions
video-mode-height: Public ordinary functions
video-mode-red-bits: Public ordinary functions
video-mode-refresh-rate: Public ordinary functions
video-mode-width: Public ordinary functions
viewport-autoscaled-p: Public generic functions
viewport-autoscaled-p: Public generic functions
viewport-position: Public ordinary functions
viewport-scale: Public ordinary functions
viewport-size: Public ordinary functions

W
window-monitor: Public ordinary functions
window-table-of: Private generic functions
window-table-of: Private generic functions
with-context-locked: Private macros
with-framebuffer-dimensions: Public macros
with-viewport-dimensions: Public macros


A.3 Variables

Jump to:   %   *   +  
A   B   C   D   E   F   G   H   I   M   N   P   R   S   T   W  
Index Entry  Section

%
%state: Private structures

*
*context*: Private special variables
*event-wait-timeout*: Public special variables
*gamepad-buttons*: Private special variables
*host-thread-p*: Private special variables
*key-map*: Private special variables
*mouse-button-map*: Private special variables
*window*: Private special variables

+
+button-state-values+: Private constants
+cursor-type-values+: Private constants
+default-window-height+: Private constants
+default-window-width+: Private constants
+expected-dpi+: Private constants
+keyboard-key-modifier-values+: Private constants
+keyboard-key-values+: Private constants
+mouse-button-values+: Private constants

A
autoscaled: Public classes
axes: Private structures

B
buttons: Private structures

C
Constant, +button-state-values+: Private constants
Constant, +cursor-type-values+: Private constants
Constant, +default-window-height+: Private constants
Constant, +default-window-width+: Private constants
Constant, +expected-dpi+: Private constants
Constant, +keyboard-key-modifier-values+: Private constants
Constant, +keyboard-key-values+: Private constants
Constant, +mouse-button-values+: Private constants
controller-hub: Private classes
controller-id: Private structures
cursor: Public classes

D
decorated: Public classes

E
enabled-p: Private classes

F
floating: Public classes

G
gl-major-version: Public classes
gl-minor-version: Public classes
guid: Private structures
guid: Private structures

H
handle: Public classes
hats: Private structures
height: Public classes

I
id: Private structures
id: Private structures
id: Private structures

M
maximized: Public classes
modifier-mask: Public classes

N
name: Private structures
name: Private structures

P
position: Public classes

R
resizable: Public classes

S
samples: Public classes
Slot, %state: Private structures
Slot, autoscaled: Public classes
Slot, axes: Private structures
Slot, buttons: Private structures
Slot, controller-hub: Private classes
Slot, controller-id: Private structures
Slot, cursor: Public classes
Slot, decorated: Public classes
Slot, enabled-p: Private classes
Slot, floating: Public classes
Slot, gl-major-version: Public classes
Slot, gl-minor-version: Public classes
Slot, guid: Private structures
Slot, guid: Private structures
Slot, handle: Public classes
Slot, hats: Private structures
Slot, height: Public classes
Slot, id: Private structures
Slot, id: Private structures
Slot, id: Private structures
Slot, maximized: Public classes
Slot, modifier-mask: Public classes
Slot, name: Private structures
Slot, name: Private structures
Slot, position: Public classes
Slot, resizable: Public classes
Slot, samples: Public classes
Slot, swap-interval: Private classes
Slot, task-queue: Private classes
Slot, title: Public classes
Slot, transparent: Public classes
Slot, width: Public classes
Slot, window-table: Private classes
Special Variable, *context*: Private special variables
Special Variable, *event-wait-timeout*: Public special variables
Special Variable, *gamepad-buttons*: Private special variables
Special Variable, *host-thread-p*: Private special variables
Special Variable, *key-map*: Private special variables
Special Variable, *mouse-button-map*: Private special variables
Special Variable, *window*: Private special variables
swap-interval: Private classes

T
task-queue: Private classes
title: Public classes
transparent: Public classes

W
width: Public classes
window-table: Private classes


A.4 Data types

Jump to:   A   B   C   F   G   H   K   M   P   S   T   U   W  
Index Entry  Section

A
axis: Private structures

B
bodge-host: The bodge-host system
bodge-host: The bodge-host package
bodge-host.asd: The bodge-host/bodge-host․asd file
button: Private structures
button-state: Private types

C
Class, host-context: Private classes
Class, window: Public classes
controller: Private structures
controller.lisp: The bodge-host/controller․lisp file
cursor-type: Private types
cursor.lisp: The bodge-host/cursor․lisp file

F
File, bodge-host.asd: The bodge-host/bodge-host․asd file
File, controller.lisp: The bodge-host/controller․lisp file
File, cursor.lisp: The bodge-host/cursor․lisp file
File, host.lisp: The bodge-host/host․lisp file
File, monitor.lisp: The bodge-host/monitor․lisp file
File, packages.lisp: The bodge-host/packages․lisp file
File, utils.lisp: The bodge-host/utils․lisp file
File, window.lisp: The bodge-host/window․lisp file

G
gamepad: Private structures

H
hat: Private structures
host-context: Private classes
host.lisp: The bodge-host/host․lisp file

K
keyboard-key: Private types
keyboard-key-modifier: Private types

M
monitor.lisp: The bodge-host/monitor․lisp file
mouse-button: Private types

P
Package, bodge-host: The bodge-host package
packages.lisp: The bodge-host/packages․lisp file

S
Structure, axis: Private structures
Structure, button: Private structures
Structure, controller: Private structures
Structure, gamepad: Private structures
Structure, hat: Private structures
System, bodge-host: The bodge-host system

T
Type, button-state: Private types
Type, cursor-type: Private types
Type, keyboard-key: Private types
Type, keyboard-key-modifier: Private types
Type, mouse-button: Private types

U
utils.lisp: The bodge-host/utils․lisp file

W
window: Public classes
window.lisp: The bodge-host/window․lisp file