mcclim/terminal-film-browser.lisp
Where the first row starts. The painter and the hit-test both measure from here, so a row is always where the click says it is.
The same stone the communicator is cased in. Two things mounted on the same wall that behave alike should look alike, and a light surround gives the faceplate's own reflection somewhere to land instead of blowing out across a dark screen.
pathname's length in bytes, or NIL if it will not say.
A mark per row kind. It replaces the bracketed word the label used to carry: the shape says what the row is, and the name gets the whole line.
Return parent, directory, and playable-film entries inside directory.
The mark's colour. A row is dark and the ink is what carries the kind: twelve saturated bars fight each other and the filename loses.
The same chassis the communicator wears, because they are the same wall showing two different things.
Header
Footer
Refresh frame's bounded directory snapshot without opening any files.
Enter entry's directory, change page, or play its film on the wall.
Return display's mode child if it is already wanted-type, else drop it.
Every mode installs a different child and only one can be mounted, so changing mode has to take the previous one down. It is released rather than merely forgotten: the child being replaced may own a thread or a socket, and a Telegram console left running behind a film is a connection nobody closes.
Make one embedded McCLIM browser owned by display's authored wall.
A detached display still has useful logical mode behavior (and is how the core geometry is tested), but it has no canvas on which to mount a browser overlay.
File suffixes offered as playable films by the wall browser.
Where the first row starts. The painter and the hit-test both measure from here, so a row is always where the click says it is.
(pathname)Test whether one compatible scalar is less than another.
Division of two represented quantities.
A mark per row kind. It replaces the bracketed word the label used to carry: the shape says what the row is, and the name gets the whole line.
(pathname)Logical disjunction of tests and raw truth values.
(pathname)(directory)(pathname)Test whether one compatible scalar is at most another.
Subtraction or unary negation.
An explicitly owned AVFrame.
Test whether one compatible scalar is greater than another.
Addition over compatible quantities.
The minimum of compatible quantities.
(entry)The mark's colour. A row is dark and the ink is what carries the kind: twelve saturated bars fight each other and the filename loses.
((pane lobby-hud-pane) region)(sheet x1 y1 x2 y2 &rest options
&key (radius 7) (filled t) &allow-other-keys)Test whether two compatible scalars are equal.
Multiplication and scalar scaling.
A direct GPU target for an ordered LUV-GPU-MEDIUM drawing stream. An embedded mirror retains an immutable prepared CPU revision for the game's final pass; a standalone mirror renders into its native canvas drawable.
(frame &key (reset-offset-p nil))(frame entry)The maximum of compatible quantities.
(display pathname &key (hardware :required))Play PATHNAME on DISPLAY's authored wall using the session's video backend. HARDWARE is the decode policy MAKE-VIDEO-SCREEN takes. It defaults to :REQUIRED, which is right for authored films whose codec is known, and wrong for a film that arrived from somewhere: whatever a stranger's phone recorded is not…
(frame texture-y)A direct McCLIM surface mounted in the 3D scene.
(display wanted-type)Return DISPLAY's mode child if it is already WANTED-TYPE, else drop it. Every mode installs a different child and only one can be mounted, so changing mode has to take the previous one down. It is released rather than merely forgotten: the child being replaced may own a thread or a socket, and a Telegram console…
(overlay)Release resources owned by an object attached to luvcraft.
(name-and-options &rest method-tail)Define a method whose complete dynamic extent is an ambient trace zone. The inferred name includes the generic function, non-T required specializers, and qualifiers. :ZONE and :VALUE have the same meaning as in ZDEFUN.
(overlay session pass surface-texture)Encode OVERLAY into SESSION's open scene PASS for SURFACE-TEXTURE.
(overlay display session)Put OVERLAY where DISPLAY's surface is this frame. Asked at draw time, because the surface may be a phone in a moving hand; for a wall the answer is the same every frame and costs a few vector ops.
(context)Return CONTEXT's configured drawable extent as (WIDTH HEIGHT), or NIL.
(overlay session width height)(overlay session canvas event)Handle EVENT projected onto OVERLAY, returning true when consumed.
A native destination with a lifetime and frame clock.
(overlay x y)Logical conjunction of tests and raw truth values.
(overlay)(display)A McCLIM frame manager constrained by luv's current native host.
(display session mode)Select DISPLAY's focused wall MODE. The built-in modes are the EQL-specialized symbols :SHELL and :FILM. LUVCRAFT/MCCLIM adds an :AFTER method which supplies the film browser, while the display continues to own focus and movie lifetime.
A McCLIM file browser presented directly on a focused terminal wall.