This is the action-list Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 04:11:33 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
action-list
An implementation of action lists
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
zlib
1.0.0
documentation-utils
(system).
trivial-extensible-sequences
(system).
package.lisp
(file).
protocol.lisp
(file).
implementation.lisp
(file).
definition.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
action-list/action-list.asd
action-list/package.lisp
action-list/protocol.lisp
action-list/implementation.lisp
action-list/definition.lisp
action-list/documentation.lisp
action-list/protocol.lisp
package.lisp
(file).
action-list
(system).
action
(class).
action-list
(reader method).
(setf action-list)
(writer method).
action-list
(class).
action-list-action
(class).
basic
(class).
blocking-p
(generic function).
(setf blocking-p)
(writer method).
clone-into
(generic function).
delay
(class).
dummy
(class).
duration
(generic function).
(setf duration)
(writer method).
ease
(class).
elapsed-time
(generic reader).
(setf elapsed-time)
(writer method).
(setf elapsed-time)
(writer method).
finished-p
(generic function).
(setf finished-p)
(writer method).
lane-limited-action
(class).
lanes
(generic function).
(setf lanes)
(writer method).
pop-action
(generic function).
push-after
(generic function).
push-back
(generic function).
push-before
(generic function).
push-front
(generic function).
remaining-time
(generic function).
repeat
(class).
start
(generic function).
stop
(generic function).
synchronize
(class).
time-limited-action
(class).
update
(generic function).
actions
(reader method).
(setf actions)
(writer method).
ease-fun
(reader method).
(setf ease-fun)
(writer method).
from
(reader method).
(setf from)
(writer method).
interval
(reader method).
(setf interval)
(writer method).
last-time
(reader method).
(setf last-time)
(writer method).
start-fun
(reader method).
(setf start-fun)
(writer method).
stop-fun
(reader method).
(setf stop-fun)
(writer method).
to
(reader method).
(setf to)
(writer method).
update-fun
(reader method).
(setf update-fun)
(writer method).
action-list/implementation.lisp
protocol.lisp
(file).
action-list
(system).
adjust-sequence
(method).
blocking-p
(method).
blocking-p
(method).
blocking-p
(method).
blocking-p
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
clone-into
(method).
duration
(method).
duration
(method).
duration
(method).
(setf elt)
(method).
elt
(method).
finished-p
(method).
lanes
(method).
length
(method).
make-instance
(method).
make-sequence-iterator
(method).
make-sequence-like
(method).
pop-action
(method).
print-object
(method).
print-object
(method).
push-after
(method).
push-back
(method).
push-before
(method).
push-front
(method).
remaining-time
(method).
remaining-time
(method).
shared-initialize
(method).
start
(method).
start
(method).
start
(method).
stop
(method).
stop
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
update
(method).
action-list/definition.lisp
implementation.lisp
(file).
action-list
(system).
action-list
(method).
(setf action-list)
(method).
(setf action-list)
(method).
define-action-definition-parser
(macro).
define-action-list
(macro).
*action-definition-parsers*
(special variable).
*action-lists*
(special variable).
compile-action-definition
(function).
action-list/documentation.lisp
definition.lisp
(file).
action-list
(system).
Packages are listed by definition order.
org.shirakumo.fraf.action-list
common-lisp
.
action
(class).
action-list
(generic function).
(setf action-list)
(generic function).
action-list
(class).
action-list-action
(class).
basic
(class).
blocking-p
(generic function).
(setf blocking-p)
(generic writer).
clone-into
(generic function).
define-action-definition-parser
(macro).
define-action-list
(macro).
delay
(class).
dummy
(class).
duration
(generic function).
(setf duration)
(generic writer).
ease
(class).
elapsed-time
(generic reader).
(setf elapsed-time)
(generic writer).
finished-p
(generic function).
(setf finished-p)
(generic writer).
lane-limited-action
(class).
lanes
(generic function).
(setf lanes)
(generic writer).
pop-action
(generic function).
push-after
(generic function).
push-back
(generic function).
push-before
(generic function).
push-front
(generic function).
remaining-time
(generic function).
repeat
(class).
start
(generic function).
stop
(generic function).
synchronize
(class).
time-limited-action
(class).
update
(generic function).
*action-definition-parsers*
(special variable).
*action-lists*
(special variable).
actions
(generic reader).
(setf actions)
(generic writer).
compile-action-definition
(function).
ease-fun
(generic reader).
(setf ease-fun)
(generic writer).
from
(generic reader).
(setf from)
(generic writer).
interval
(generic reader).
(setf interval)
(generic writer).
last-time
(generic reader).
(setf last-time)
(generic writer).
start-fun
(generic reader).
(setf start-fun)
(generic writer).
stop-fun
(generic reader).
(setf stop-fun)
(generic writer).
to
(generic reader).
(setf to)
(generic writer).
update-fun
(generic reader).
(setf update-fun)
(generic writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Define a parsing function for action definitions.
The ARGS destructure the action definition. Should emit a form that
evaluates to a fresh ACTION instance.
See DEFINE-ACTION-LIST
Define a globally named action list.
This is useful to define more static action lists such as animation
sequences and other fixed sequences of events that don’t require the
more specific capabilities of action lists with dynamic action
insertion and removal.
It is intended that you instantiate a global action list for use like
so:
(make-instance (action-list ’foo))
Each of the body forms is an action definition, parsed into an action
constructor. By default the following are recognised:
(EVAL form...)
An action that runs exactly once and executes the given FORMs.
(SETF place value...)
Same as EVAL except wrapped in setf.
(EASE duration place initarg...)
Sets PLACE to the value obtained by the EASE action. The action
is blocking by default.
(DELAY duration initarg...)
Delays later actions by the given duration.
(SYNCHRONIZE initarg...)
Delays later actions until all prior actions finish.
(REPEAT duration interval form...)
An action that runs every INTERVAL seconds for up to DURATION.
The action is blocking.
Note that the symbol at the front of each definition names how to
parse the rest, and must be a symbol. However, it must not necessarily
be a symbol from the ORG.SHIRAKUMO.FRAF.ACTION-LIST package. If the
symbol does not match exactly, a string search is performed
instead. This allows convenient definition of action lists without
importing the relevant symbols.
Further syntax can be added via DEFINE-ACTION-DEFINITION-PARSER
See ACTION-LIST (function)
See DEFINE-ACTION-DEFINITION-PARSER
Returns the action list named by the symbol or in which the action is contained.
If the action is not currently contained in an action list, an error
is signalled instead.
If the symbol does not name a globally defined action list, an error
is signalled instead.
When SETF, sets the global action list by that name. If the value is
NIL, the binding is removed. If the value is not an action-list, an
error is signalled.
See ACTION (type)
See ACTION-LIST (type)
See DEFINE-ACTION-LIST
Returns whether the object blocks later objects from being updated.
For an ACTION-LIST this returns T when the list contains a blocking
action.
See ACTION (type)
See ACTION-LIST (type)
synchronize
)) ¶action-list
)) ¶Copy the properties of SOURCE into NEW.
When NEW is T, a shallow copy of SOURCE is created and CLONE-INTO is
called with this new copy as NEW.
This function is used when copying ACTION-LISTs.
See ACTION-LIST (type)
progn
.
:most-specific-last
lane-limited-action
) (action lane-limited-action
)) ¶time-limited-action
) (action time-limited-action
)) ¶action-list
) (list action-list
)) ¶Returns the duration of the object’s runtime, in seconds.
See ACTION (type)
See ACTION-LIST (type)
action-list
)) ¶time-limited-action
)) ¶automatically generated reader method
time-limited-action
)) ¶automatically generated writer method
Returns the length of time for which the object has been updated, in seconds.
See ACTION (type)
See ACTION-LIST (type)
action-list
)) ¶automatically generated reader method
action
)) ¶automatically generated writer method
action-list
)) ¶automatically generated writer method
Accesses whether the object is finished.
An action should set this to T when it should no longer be UPADTEd and
should be removed from the ACTION-LIST at the next opportunity.
For an ACTION-LIST this returns T when the list is empty.
See ACTION (type)
See ACTION-LIST (type)
action-list
)) ¶Returns an integer bitfield that represents the lanes the action is active on.
Every bit of the integer that is active (1) represents a lane the
action is active on. If the action is blocking, the lanes it is active
on will be blocked from being updated until the action is finished.
Either way, an action is only updated if at least one of the lanes it
is active on is not blocked by a prior action.
See ACTION (type)
lane-limited-action
)) ¶automatically generated reader method
lane-limited-action
)) ¶automatically generated writer method
Removes the action from its action list.
Signals an error if the action is not contained in any action list.
See ACTION (type)
See ACTION-LIST (type)
Push the NEW action immediately after the OLD action.
Signals an error if the OLD action is not contained in any action
list.
See ACTION (type)
Push the action to the back of the action list.
See ACTION (type)
See ACTION-LIST (type)
action
) (list action-list
)) ¶Push the NEW action in front of the OLD action.
Signals an error if the OLD action is not contained in any
action list.
See ACTION (type)
Push the action to the front of the action list.
See ACTION (type)
See ACTION-LIST (type)
action
) (list action-list
)) ¶Returns the length of time for which the object will remain running, in seconds.
Note that this only considers time for which the object is actually
updated. If the object is blocked from receiving updates, the
remaining time will not decrease.
Objects may also not finish even after the remaining time has passed.
See ACTION (type)
See ACTION-LIST (type)
action-list
)) ¶Function called when an action is added to an action-list.
See ACTION (type)
Function called when an action is finished and removed from an action-list.
Note that this is NOT called if the action is manually removed from
the action list via POP-ACTION.
It IS called once when the action is FINISHED-P and the action list is
next updated.
See ACTION (type)
Performs the update step of the object, advancing it by DT seconds.
See ACTION (type)
See ACTION-LIST (type)
synchronize
) dt) ¶time-limited-action
) dt) ¶action-list
) dt) ¶action-list
) dt) ¶action-list
) length &key initial-element initial-contents) ¶sb-sequence
.
action-list
) index) ¶sb-sequence
.
action-list
) index) ¶sb-sequence
.
action-list
)) ¶sb-sequence
.
action-list
) &key) ¶action-list
) &key start end from-end) ¶sb-sequence
.
action-list
) length &rest args) ¶sb-sequence
.
action-list
) stream) ¶Base class representing an action.
An action is an object that is updated and performs... actions until a
specified time at which point it terminates and is removed from the
action list.
An action can be present on one or more lanes. If the action is
blocking, it prevents all later actions that are present on the same
lane/s as the blocking action from being updated.
You should create a subclass of this action that in the very least
implements UPDATE, and possibly START, STOP, DURATION, and LANES.
See ACTION-LIST
See PUSH-FRONT
See PUSH-BACK
See PUSH-BEFORE
See PUSH-AFTER
See POP-ACTION
See UPDATE
See DURATION
See ELAPSED-TIME
See REMAINING-TIME
See BLOCKING-P
See FINISHED-P
See LANES
See START
See STOP
Representation of an action list.
An action list is a sequence of actions that are updated in turn until
a blocking action is encountered.
When an action list is copied, each of the actions within is copied
via CLONE-INTO, as an action can only ever be contained within a
single action-list. If the action list’s length is adjusted downwards,
excessive actions are removed from the list as if by POP-ACTION. If
the action list’s length is adjusted upwards, new elements are filled
by copying INITIAL-ELEMENT if passed, and constructing DUMMY-ACTIONs
otherwise. If INITIAL-CONTENTS is passed to a copying or adjusting
operation, each action in the list is removed as if by POP-ACTION, and
the new actions as supplied are inserted instead.
In short, copied action-lists will not contain actions that are EQ to
the ones of the source list.
An action list can be copied via COPY-SEQ or MAKE-INSTANCE.
See ACTION
See PUSH-FRONT
See PUSH-BACK
See PUSH-BEFORE
See PUSH-AFTER
See POP-ACTION
See UPDATE
See DURATION
See ELAPSED-TIME
See REMAINING-TIME
See BLOCKING-P
See FINISHED-P
See CLONE-INTO
sequence
.
(setf action-list)
.
(setf actions)
.
actions
.
adjust-sequence
.
blocking-p
.
clone-into
.
duration
.
(setf elapsed-time)
.
elapsed-time
.
(setf elt)
.
elt
.
finished-p
.
length
.
make-instance
.
make-sequence-iterator
.
make-sequence-like
.
print-object
.
push-back
.
push-front
.
remaining-time
.
shared-initialize
.
update
.
update
.
0.0
Action that is simultaneously an action-list. Lets you hierarchically nest actions.
See ACTION-LIST (type)
See ACTION (type)
Action that lets you dynamically specify its parts.
To customise UPDATE, pass a closure of two arguments (the action and
the delta time) as an initarg.
To customise START, pass a closure of one argument (the action) as an
initarg.
To customise STOP, pass a closure of one argument (the action) as an
initarg.
To specify whether the action should block or not, pass the BLOCKING
initarg.
See LANE-LIMITED-ACTION
See TIME-LIMITED-ACTION
(lambda (org.shirakumo.fraf.action-list:action org.shirakumo.fraf.action-list::dt) org.shirakumo.fraf.action-list:action)
:update
(function identity)
:start
(function identity)
:stop-fun
:blocking
Action that delays execution by the passed DURATION.
By default blocks all lanes.
See TIME-LIMITED-ACTION
See LANE-LIMITED-ACTION
(1- (ash 1 32))
Action that immediately finishes.
SEE ACTION (type)
Action that uses an easing function to tween between values.
The UPDATE-FUN receives two arguments: the action, and the current
value, rather than the delta. The current value is computed as
follows:
from + ease-fun(elapsed / duration) * (to-from)
The EASE-FUN should be a function of one argument, a single-float in
the range [0,1] and should return another value to linearly
interpolate between FROM and TO.
See BASIC
Superclass for actions that are restricted to a set of lanes.
Accepts the LANES as an initarg.
See ACTION (type)
See LANES
1
:lanes
Action that repeats the update only in specific intervals.
The UPDATE-FUN receives two arguments: the action, and the delta.
See BASIC
Action that finishes once it reaches the front of the list.
By default blocks all lanes.
See LANE-LIMITED-ACTION
(1- (ash 1 32))
Superclass for actions that have a specific duration before they automatically finish.
Accepts the DURATION as an initarg.
See ACTION (type)
See DUARTION
(error "duration required.")
:duration
action-list
)) ¶automatically generated reader method
action-list
)) ¶automatically generated writer method
Jump to: | (
A B C D E F G I L M P R S T U |
---|
Jump to: | (
A B C D E F G I L M P R S T U |
---|
Jump to: | *
A B D E F I L S T U |
---|
Jump to: | *
A B D E F I L S T U |
---|
Jump to: | A B C D E F I L O P R S T |
---|
Jump to: | A B C D E F I L O P R S T |
---|