The imagine Reference Manual

This is the imagine Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:28:52 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 imagine

A general image decoding and manipulation library

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://shirakumo.org/docs/imagine/

Source Control

(GIT https://shirakumo.org/project/imagine.git)

Bug Tracker

https://shirakumo.org/project/imagine/issues

License

zlib

Version

1.0.0

Dependencies
  • closer-mop (system).
  • nibbles (system).
  • documentation-utils (system).
Source

imagine.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 imagine/imagine.asd

Source

imagine.asd.

Parent Component

imagine (system).

ASDF Systems

imagine.


3.1.2 imagine/package.lisp

Source

imagine.asd.

Parent Component

imagine (system).

Packages

org.shirakumo.fraf.imagine.


3.1.3 imagine/conditions.lisp

Dependency

package.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).

Public Interface

3.1.4 imagine/toolkit.lisp

Dependency

conditions.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).

Internals

3.1.5 imagine/protocol.lisp

Dependency

toolkit.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).

Public Interface
Internals

closest-pixel-stride (function).


3.1.6 imagine/io.lisp

Dependency

protocol.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).

Public Interface
Internals

3.1.7 imagine/ops.lisp

Dependency

io.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).

Public Interface
Internals

3.1.8 imagine/documentation.lisp

Dependency

ops.lisp (file).

Source

imagine.asd.

Parent Component

imagine (system).


4 Packages

Packages are listed by definition order.


4.1 org.shirakumo.fraf.imagine

Source

package.lisp.

Use List

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 Macros

Macro: with-image-pixels ((accessor image) &body body)

Convenience to access pixel data of an image.

See IMAGE (type)
See WITH-PIXEL-DATA

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Macro: with-image-pixels* (bindings &body body)

Convenience to access pixel data of images.

See IMAGE (type)
See WITH-IMAGE-PIXELS*
See WITH-PIXEL-DATA

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Macro: with-pixel-data ((accessor pixel-data channel-type) &body body)

Convenience to access pixel data in a standardised way.

ACCESSOR will be FBOUND to an accessor that accepts one argument, the index at which to read a single channel of pixel data from the PIXEL-DATA backing storage, using the specified CHANNEL-TYPE to decode the data. The accessor is dynamic-extent within BODY, and *must not* be leaked outside.

The accessor has restrictions placed on its valid access patterns. See DATA and PIXEL-READER.

See DATA
See PIXEL-READER
See PIXEL-WRITER
See CHANNEL-TYPE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Macro: with-view ((accessor view) &body body)

Convenience to access pixel data in a view.

ACCESSOR will be FBOUND to an accessor that accepts one argument, the index at which to read a single channel of pixel data from the PIXEL-DATA backing storage, using the image’s CHANNEL-TYPE to decode the data. The accessor is dynamic-extent within BODY, and *must not* be leaked outside.

The accessor has restrictions placed on its valid access patterns. See DATA and PIXEL-READER.

See DATA
See PIXEL-READER
See PIXEL-WRITER
See WITH-PIXELS
See CHANNEL-TYPE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.


5.1.2 Ordinary functions

Function: check-image-compatible (image layouts &key origin channel-types)

Check if the image’s pixel data is compatible and signal an error otherwise.

If an error is signalled, a restart named ADJUST is available, which will call ADJUST on the image to modify it to the closest compatible pixel format.

See IMAGE-COMPATIBLE-P
See PIXEL-DATA-INCOMPATIBLE (type)
See ADJUST

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: check-view (view)

Checks if the view is valid and signals an error otherwise.

See VALID-VIEW-P
See VIEW (type)
See INVALID-VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: copy-image (instance)

Copy the image and return it.

This will *not* create a deep copy of the backing DATA.
Both the original and the copy will point to the same DATA storage.

See MAKE-IMAGE
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: copy-view (instance)

Create a copy of the view.

See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Reader: image-channel-type (instance)

Access the image’s channel-type directly.

See CHANNEL-TYPE
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

channel-type.

Writer: (setf image-channel-type) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

channel-type.

Function: image-compatible-p (image layouts &key origin channel-types)

Returns true if the image’s pixel data is compatible with the given set of layouts and channel types.

LAYOUTS and CHANNEL-TYPES should be lists of acceptable layout and
channel-type indicators.

See IMAGE (type)
See LAYOUT (type)
See CHANNEL-TYPE (type)
See ORIGIN (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Reader: image-d (instance)

Access the image’s depth directly.

See D
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

d.

Writer: (setf image-d) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

d.

Reader: image-data (instance)

Access the image’s data directly.

See DATA
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

data.

Writer: (setf image-data) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

data.

Reader: image-h (instance)

Access the image’s height directly.

See H
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

h.

Writer: (setf image-h) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

h.

Reader: image-layout (instance)

Access the image’s layout directly.

See LAYOUT
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

layout.

Writer: (setf image-layout) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

layout.

Reader: image-origin (instance)

Access the image’s origin directly.

See ORIGIN
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

origin.

Writer: (setf image-origin) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

origin.

Reader: image-w (instance)

Access the image’s width directly.

See W
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

w.

Writer: (setf image-w) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

w.

Function: make-image (&key data channel-type layout w h d origin)

Create a new image and return it.

See MAKE-IMAGE*
See IMAGE (type)
See DATA
See CHANNEL-TYPE (type)
See LAYOUT (type)
See ORIGIN (type)
See W
See H
See D

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: make-image* (data channel-type layout width height &optional depth origin)

Shorthand to create an image.

See MAKE-IMAGE
See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: make-view (image &key x y z w h d)

Create a new view on an image.

See VIEW (type)
See IMAGE (type)
See X
See Y
See Z
See W
See H
See D

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: mirror (image direction)

Mirror’s the image’s pixels destructively.

The direction can be either :VERTICALLY or :HORIZONTALLY.

See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: resize (image &key w h d gravity)

Resizes the image destructively.

The image bounds are extended with "empty" pixels and the existing pixels will be bound as per GRAVITY, which can either be a keyword or a list of keywords separate for each dimension. The keywords can be either:

:ZERO — Stick to the origin edge in this dimension :CENTER — Center pixels in this dimension
:OPPOSITE — Stick to the opposing edge in this dimension

See IMAGE (type)
See ADJUST

Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: rotate (image amount)

Rotates the image destructively.

The amount can be either 90, -90 or 270, or 180.
In the case of 90 degree rotations, the image’s W and H will be swapped.

See IMAGE (type)

Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: scale (image &key w h d interpolation)

Scales the image destructively.

The image is scaled using the given interpolation argument. By default only :LINEAR and :NEAREST are supported.

Users may extend the available interpolation algorithms by defining methods on SCALE-IMAGE.

See IMAGE (type)
See SCALE-IMAGE

Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: superfluous-view-p (view)

Returns true if the view is superfluous (equivalent to the whole image).

See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: valid-view-p (view)

Returns true if the view is valid (is contained within the image).

See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Reader: view-d (instance)

Access the view’s depth.

See VIEW (type)
See D

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

d.

Writer: (setf view-d) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

d.

Reader: view-h (instance)

Access the view’s height.

See VIEW (type)
See H

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

h.

Writer: (setf view-h) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

h.

Reader: view-image (instance)

Access the view’s backing image.

See IMAGE (type)
See VIEW (type)
See IMAGE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

image.

Writer: (setf view-image) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

image.

Reader: view-w (instance)

Access the view’s width.

See VIEW (type)
See W

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

w.

Writer: (setf view-w) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

w.

Reader: view-x (instance)

Access the view’s X coordinate.

See VIEW (type)
See X

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

x.

Writer: (setf view-x) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

x.

Reader: view-y (instance)

Access the view’s Y coordinate.

See VIEW (type)
See Y

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

y.

Writer: (setf view-y) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

y.

Reader: view-z (instance)

Access the view’s Z coordinate.

See VIEW (type)
See Z

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

z.

Writer: (setf view-z) (instance)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Target Slot

z.


5.1.3 Generic functions

Generic Function: adjust (source &key channel-type layout origin w h d)

Adjust the pixel data storage for the given image.

This will destructively modify the given image and return it. The DATA in the image will be replaced if necessary. The image will not be changed if all of the requested attributes already match those of the image.

If any of W, H, D are specified the image will be resized using RESIZE, meaning the storage is extended while keeping the original image anchored towards the 0 point. If you want to scale the image instead, use SCALE.

If a different LAYOUT is requested, then the pixel colours will be converted on a "best effort" basis. For the case of gray to rgb, the gray value is simply repeated to all channels. For the case of rgb to gray, the colour’s approximate sRGB luminance value is used as the gray point. For the case of a new alpha channel, the channel is set to opaque (1). For the case of a removed alpha channel, it is simply discarded.

If a different CHANNEL-TYPE is requested, the image colour channels are converted to the requested storage type on a "best effort" basis. Naturally conversion to a different storage type (such as floats) or a lower bittage (such as int to short) will potentially lose colour depth.

If a different ORIGIN is requested, the image’s origin is adjusted such that the image will still be displayed the same way after the origin change (meaning the data is mirrored as required to achieve the change of coordinate system).

See IMAGE (type)
See LAYOUT (type)
See ORIGIN (type)
See RESIZE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: adjust ((image image) &key channel-type layout origin w h d)
Source

ops.lisp.

Generic Function: channel-reader (data channel-type)

Returns a function to read a pixel channel’s value.

The function accepts two arguments: the backing data storage and the *octet* index in that data storage at which to read the channel. The returned value is a REAL number.

Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption.

See DATA
See PIXEL-READER
See CHANNEL-TYPE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: channel-reader ((data vector) (format (eql :double)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :float)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :signed-long)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :signed-int)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :signed-short)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :signed-byte)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :unsigned-long)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :unsigned-int)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :unsigned-short)))
Source

io.lisp.

Method: channel-reader ((data vector) (format (eql :unsigned-byte)))
Source

io.lisp.

Generic Function: channel-type (image)

Returns the channel-type of pixel data in the image.

See IMAGE (type)
See CHANNEL-TYPE (type)
See PIXEL-STRIDE
See DATA

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: channel-type ((view view))
Method: channel-type ((image image))
Generic Function: channel-writer (data channel-type)

Returns a function to read a pixel channel’s value.

The function accepts two arguments: the backing data storage and the *octet* index in that data storage at which to read the channel. The returned value is a REAL number.

Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption.

See DATA
See PIXEL-WRITER
See CHANNEL-TYPE (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: channel-writer ((data vector) (format (eql :double)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :float)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :signed-long)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :signed-int)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :signed-short)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :signed-byte)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :unsigned-long)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :unsigned-int)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :unsigned-short)))
Source

io.lisp.

Method: channel-writer ((data vector) (format (eql :unsigned-byte)))
Source

io.lisp.

Generic Function: d (image)

Returns the depth of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: d ((view view))
Method: d ((image image))
Generic Function: data (image)

Returns the backing storage of packed pixel data for the image.

The backing storage is "opaque" in the sense that it can be NIL if the image is invalid, a (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)), or another data type if an extension to Imagine provides it, such as a foreign pointer or something like that.

In order to access data transparently, you should use WITH-PIXEL-DATA or WITH-IMAGE-PIXELS. Alternatively you will need to write bespoke handling for the data storage types that you are interested in. What is true for all storage types is that they must provide constant time random access to an arbitrary index within it, addressable to octet boundaries. The storage must also guarantee access to at least up to and excluding the index at (* W H D PIXEL-STRIDE) of the image. Access beyond that range however results in undefined behaviour.

See IMAGE (type)
See WITH-PIXEL-DATA
See WITH-IMAGE-PIXELS
See PIXEL-STRIDE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: data ((view view))
Method: data ((image image))
Generic Function: (setf data) (image)
Package

org.shirakumo.fraf.imagine.

Methods
Method: (setf data) ((image image))
Source

protocol.lisp.

Generic Function: ensure-image (image)

Turns the given thing into an IMAGE if possible.

See IMAGE (type)
See VIEW (type)
See LOAD-IMAGE

Package

org.shirakumo.fraf.imagine.

Methods
Method: ensure-image ((stream stream))
Source

protocol.lisp.

Method: ensure-image ((path pathname))
Source

protocol.lisp.

Method: ensure-image ((view view))
Source

protocol.lisp.

Method: ensure-image ((image image))
Source

protocol.lisp.

Generic Reader: format-type (condition)

Returns the requested format type that is unavailable.

See UNSUPPORTED-FORMAT

Package

org.shirakumo.fraf.imagine.

Methods
Reader Method: format-type ((condition unsupported-format))
Source

conditions.lisp.

Target Slot

format-type.

Generic Function: h (image)

Returns the height of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: h ((view view))
Method: h ((image image))
Generic Function: image (image)
Package

org.shirakumo.fraf.imagine.

Methods
Method: image ((view view))
Source

protocol.lisp.

Method: image ((image image))
Source

protocol.lisp.

Generic Function: layer-stride (image)

Returns the number of octets in stride for a whole layer of pixels.

This is the ROW-STRIDE multiplied by the H of the image.

See IMAGE (type)
See ROW-STRIDE
See H

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: layer-stride ((view view))
Method: layer-stride ((image image))
Generic Function: layout (image)

Returns the channel layout of pixel data in the image.

See IMAGE (type)
See LAYOUT (type)
See PIXEL-STRIDE
See DATA

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: layout ((view view))
Method: layout ((image image))
Generic Function: load-image (source type &key decode &allow-other-keys)

Load an image from the backing storage.

The file format type may be specified as T, in which case the type is inferred from the source pathname name, if any. If the file format type is not recognised or supported, an error of type UNSUPPORTED-FORMAT is signalled. If the operation succeeds, either an IMAGE instance is returned, or a list of IMAGE instances if multiple disconnected images are contained in the file.

Depending on the format, additional keyword arguments may be supported to direct selection of the image or its properties in the decoded format. All formats must support the keyword DECODE, which is T by default. If NIL, then the returned IMAGE’s DATA field may be NIL, but the metadata entries such as the dimensions of the image must be filled in.

See IMAGE (type)
See UNSUPPORTED-FORMAT (type)
See SAVE-IMAGE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: load-image (source (type symbol) &key &allow-other-keys)
Method: load-image ((path pathname) (type symbol) &rest args &key &allow-other-keys)
Method: load-image (source (type (eql t)) &rest args &key &allow-other-keys)
Method: load-image (source (type string) &rest args &key &allow-other-keys)
Generic Function: origin (image)

Returns the image’s origin placement.

See IMAGE (type)
See ORIGIN (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: origin ((view view))
Method: origin ((image image))
Generic Function: pixel-reader (layout)

Returns a function to read a standardised pixel.

The function accepts three arguments: a function of one argument to read a pixel channel’s value at the passed index, the index at which the pixel starts, and the stride between channels.

Returns four values: the R, G, B, and A of the pixel, each as a REAL number as by CHANNEL-READER.

Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption.

See DATA
See CHANNEL-READER
See PIXEL-WRITER
See LAYOUT (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: pixel-reader ((layout (eql :abgr)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :argb)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :bgra)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :rgba)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :bgr)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :rgb)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :ar)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :ra)))
Source

io.lisp.

Method: pixel-reader ((layout (eql :r)))
Source

io.lisp.

Generic Function: pixel-stride (image)

Returns the number of octets in stride for the given thing.

THING can be an IMAGE, a LAYOUT, or a CHANNEL-TYPE. In case of a IMAGE, it returns the stride between pixels. In case of a LAYOUT, it returns the number of channels, and in case of a CHANNEL-TYPE the number of octets for that channel-type.

See ROW-STRIDE
See LAYER-STRIDE
See IMAGE (type)
See LAYOUT (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: pixel-stride ((view view))
Method: pixel-stride ((image image))
Method: pixel-stride ((_ (eql :double)))
Method: pixel-stride ((_ (eql :float)))
Method: pixel-stride ((_ (eql :short-float)))
Method: pixel-stride ((_ (eql :signed-long)))
Method: pixel-stride ((_ (eql :signed-int)))
Method: pixel-stride ((_ (eql :signed-short)))
Method: pixel-stride ((_ (eql :signed-byte)))
Method: pixel-stride ((_ (eql :unsigned-long)))
Method: pixel-stride ((_ (eql :unsigned-int)))
Method: pixel-stride ((_ (eql :unsigned-short)))
Method: pixel-stride ((_ (eql :unsigned-byte)))
Method: pixel-stride ((_ (eql :abgr)))
Method: pixel-stride ((_ (eql :argb)))
Method: pixel-stride ((_ (eql :bgra)))
Method: pixel-stride ((_ (eql :rgba)))
Method: pixel-stride ((_ (eql :bgr)))
Method: pixel-stride ((_ (eql :rgb)))
Method: pixel-stride ((_ (eql :ar)))
Method: pixel-stride ((_ (eql :ra)))
Method: pixel-stride ((_ (eql :r)))
Generic Function: pixel-writer (layout)

Returns a function to write a standardised pixel.

The function accepts seves arguments: a function of two arguments to write a pixel channel’s value at the passed index, the index at which the pixel starts, the stride between channels, and the R, G, B, and A channels of the pixel. The writer will reinterpret the values to match the layout as necessary.

Note that the returned function is only valid to be called for indices that are valid for the backing data storage array (see DATA). Passing any other data object to the function as was passed to CHANNEL-READER, or passing any index outside the specified range will lead to undefined behaviour and potentially data corruption.

See DATA
See CHANNEL-WRITER
See PIXEL-READER
See LAYOUT (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: pixel-writer ((layout (eql :abgr)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :argb)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :bgra)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :rgba)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :bgr)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :rgb)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :ar)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :ra)))
Source

io.lisp.

Method: pixel-writer ((layout (eql :r)))
Source

io.lisp.

Generic Function: row-stride (image)

Returns the number of octets in stride for a whole row of pixels.

This is the PIXEL-STRIDE multiplied by the W of the image.

See IMAGE (type)
See PIXEL-STRIDE
See W

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: row-stride ((view view))
Method: row-stride ((image image))
Generic Function: save-image (source target type &key &allow-other-keys)

Save an image to the backing storage.

The file format type may be specified as T, in which case the type is inferred from the source pathname name, if any. If the file format type is not recognised or supported, an error of type UNSUPPORTED-FORMAT is signalled. If the IMAGE’s pixel data is not in a suitable format for the file format, an error of type PIXEL-DATA-INCOMPATIBLE is signalled and a restart called ADJUST will be available to adjust the image pixel destructively to match the closest suitable format for the file format.

Depending on the format, additional keyword arguments may be supported to direct the properties in the encoded format.

See IMAGE (type)
See UNSUPPORTED-FORMAT (type)
See PIXEL-DATA-INCOMPATIBLE (type)
See LOAD-IMAGE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: save-image ((source view) target type &rest args &key &allow-other-keys)
Method: save-image (source target (type symbol) &key &allow-other-keys)
Method: save-image (source (path pathname) (type symbol) &rest args &key &allow-other-keys)
Method: save-image (source target (type (eql t)) &rest args &key &allow-other-keys)
Method: save-image (source target (type string) &rest args &key &allow-other-keys)
Generic Function: scale-image (interpolation image w h d)

Scales the image destructively.

Users may define methods on this function to define additional interpolation algorithms. By default only :LINEAR and :NEAREST are supported.

See SCALE

Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Methods
Method: scale-image ((_ (eql :linear)) (image image) dstw dsth dstd)
Method: scale-image ((_ (eql :nearest)) (image image) dstw dsth dstd)
Generic Reader: source (condition)

Returns the related source image.

See PIXEL-DATA-INCOMPATIBLE See UNSUPPORTED-FORMAT

Package

org.shirakumo.fraf.imagine.

Methods
Reader Method: source ((condition unsupported-format))
Source

conditions.lisp.

Target Slot

source.

Reader Method: source ((condition pixel-data-incompatible))
Source

conditions.lisp.

Target Slot

source.

Generic Reader: supported-formats (condition)

Returns a list of the supported format types.

See UNSUPPORTED-FORMAT

Package

org.shirakumo.fraf.imagine.

Methods
Reader Method: supported-formats ((condition unsupported-format))
Source

conditions.lisp.

Target Slot

supported-formats.

Generic Reader: target (condition)

Returns the related target image.

See PIXEL-DATA-INCOMPATIBLE

Package

org.shirakumo.fraf.imagine.

Methods
Reader Method: target ((condition pixel-data-incompatible))
Source

conditions.lisp.

Target Slot

target.

Generic Function: transfer (source target)

Transfer pixels between two images or views.

The behaviour is undefined if the source and destination are the same image or views to the same image and the view regions overlap.

An error of type INVALID-VIEW is signalled if either the source or target are a VIEW that is invalid.

See IMAGE (type)
See VIEW (type)
See INVALID-VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: transfer ((source view) (target view))
Source

ops.lisp.

Method: transfer (source (target image))
Method: transfer ((source image) target)
Generic Reader: view (condition)

Returns the related view.

See INVALID-VIEW

Package

org.shirakumo.fraf.imagine.

Methods
Reader Method: view ((condition invalid-view))
Source

conditions.lisp.

Target Slot

view.

Generic Function: w (image)

Returns the width of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: w ((view view))
Method: w ((image image))
Generic Function: x (image)

Returns the X offset of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: x ((view view))
Method: x ((image image))
Generic Function: y (image)

Returns the Y offset of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: y ((view view))
Method: y ((image image))
Generic Function: z (image)

Returns the Z offset of the view area in pixels.

See IMAGE (type)
See VIEW (type)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Methods
Method: z ((view view))
Method: z ((image image))

5.1.4 Standalone methods

Method: print-object ((view view) stream)
Source

protocol.lisp.

Method: print-object ((image image) stream)
Source

protocol.lisp.


5.1.5 Conditions

Condition: imagine-error

Supertype for all errors in this library.

Package

org.shirakumo.fraf.imagine.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses
Condition: invalid-view

Error signalled when a view designates an area that is outside of the image.

See IMAGINE-ERROR
See VIEW

Package

org.shirakumo.fraf.imagine.

Source

conditions.lisp.

Direct superclasses

imagine-error.

Direct methods

view.

Direct slots
Slot: view
Initform

(quote nil)

Initargs

:view

Readers

view.

Writers

This slot is read-only.

Condition: pixel-data-incompatible

Error signalled when the pixel data of an image is in an incompatible format.

The SOURCE is always an IMAGE. The TARGET may be an IMAGE or a spec
for compatible image formats.

See SOURCE
See TARGET

Package

org.shirakumo.fraf.imagine.

Source

conditions.lisp.

Direct superclasses

imagine-error.

Direct methods
Direct slots
Slot: source
Initform

(quote nil)

Initargs

:source

Readers

source.

Writers

This slot is read-only.

Slot: target
Initform

(quote nil)

Initargs

:target

Readers

target.

Writers

This slot is read-only.

Condition: unsupported-format

Error signalled when the requested image format is unsupported.

See SOURCE
See FORMAT-TYPE
See SUPPORTED-FORMATS

Package

org.shirakumo.fraf.imagine.

Source

conditions.lisp.

Direct superclasses

imagine-error.

Direct methods
Direct slots
Slot: source
Initform

(quote nil)

Initargs

:source

Readers

source.

Writers

This slot is read-only.

Slot: format-type
Initform

(quote nil)

Initargs

:format-type

Readers

format-type.

Writers

This slot is read-only.

Slot: supported-formats
Initform

(quote nil)

Initargs

:supported-formats

Readers

supported-formats.

Writers

This slot is read-only.


5.1.6 Structures

Structure: image

Representation of an image.

An image is a raw, uncompressed pixel storage combined with the metadata necessary to interpret those pixel contents in the intended way. Each image is composed of one or more layers, which is composed of one or more rows, which is composed of one or more pixels, which is composed of one or more channels.

The number of channels (and their order and purpose) per pixel is indicated by the LAYOUT, the storage for each channel by the CHANNEL-TYPE, the number of pixels in a row by the Width, number of rows per layer by the Height, and the number of layers by the Depth.

Where the zero point is located and in which direction the image "grows" is indicated by the ORIGIN. Layers are always stacked "behind", meaning layer 0 is on top in front of layer 1 and so on.

The image’s pixel data is stored in an opaque backing storage, which may or may not be an octet vector. The only restriction is that the storage is addressable via functions returned by CHANNEL-READER and CHANNEL-WRITER.

See W
See H
See D
See CHANNEL-TYPE
See LAYOUT
See ORIGIN
See DATA
See MAKE-IMAGE
See CHANNEL-READER
See CHANNEL-WRITER
See PIXEL-STRIDE
See WITH-IMAGE-PIXELS
See ADJUST
See LOAD-IMAGE
See SAVE-IMAGE
See MIRROR
See ROTATE
See RESIZE
See SCALE

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: data
Readers

image-data.

Writers

(setf image-data).

Slot: channel-type
Type

keyword

Initform

:unsigned-byte

Readers

image-channel-type.

Writers

(setf image-channel-type).

Slot: layout
Type

org.shirakumo.fraf.imagine:layout

Initform

:rgba

Readers

image-layout.

Writers

(setf image-layout).

Slot: origin
Type

org.shirakumo.fraf.imagine:origin

Initform

:top-left

Readers

image-origin.

Writers

(setf image-origin).

Slot: w
Type

(unsigned-byte 32)

Initform

0

Readers

image-w.

Writers

(setf image-w).

Slot: h
Type

(unsigned-byte 32)

Initform

0

Readers

image-h.

Writers

(setf image-h).

Slot: d
Type

(unsigned-byte 32)

Initform

0

Readers

image-d.

Writers

(setf image-d).

Structure: view

Representation of a view into an image.

A view is a sub-range of the image data and provides transparent access into that data. Views let you transfer data between image regions.

See IMAGE (type)
See X
See Y
See Z
See W
See H
See D
See WITH-VIEW
See TRANSFER
See SUPERFLUOUS-VIEW-P
see VALID-VIEW-P
See CHECK-VIEW

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Direct superclasses

structure-object.

Direct methods
Direct slots
Slot: image
Type

org.shirakumo.fraf.imagine:image

Readers

view-image.

Writers

(setf view-image).

Slot: x
Type

(unsigned-byte 32)

Initform

0

Readers

view-x.

Writers

(setf view-x).

Slot: y
Type

(unsigned-byte 32)

Initform

0

Readers

view-y.

Writers

(setf view-y).

Slot: z
Type

(unsigned-byte 32)

Initform

0

Readers

view-z.

Writers

(setf view-z).

Slot: w
Type

(unsigned-byte 32)

Initform

0

Readers

view-w.

Writers

(setf view-w).

Slot: h
Type

(unsigned-byte 32)

Initform

0

Readers

view-h.

Writers

(setf view-h).

Slot: d
Type

(unsigned-byte 32)

Initform

0

Readers

view-d.

Writers

(setf view-d).


5.1.7 Types

Type: channel-type ()

Type for valid channel-type indicators.

Can be one of
:UNSIGNED-BYTE :UNSIGNED-SHORT :UNSIGNED-INT :UNSIGNED-LONG :SIGNED-BYTE :SIGNED-SHORT :SIGNED-INT :SIGNED-LONG :HALF-FLOAT :FLOAT :DOUBLE
or a specific channel type as a keyword, defined by an extension to Imagine.

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Type: dimension ()

Type for the dimension of an image.

Equivalent to (UNSIGNED-BYTE 32)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Type: layout ()

Type for valid layout indicators.

Can be one of :R :RA :RGB :BGR :RGBA :BGRA :ARGB :ABGR

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Type: origin ()

Type for valid origin indicators.

Can be one of :TOP-LEFT :TOP-RIGHT :BOTTOM-LEFT :BOTTOM-RIGHT

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Type: stride ()

Type for the stride between elements in an image.

Equivalent to (UNSIGNED-BYTE 32)

Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.


5.2 Internals


5.2.1 Macros

Macro: %pixreader (args &body body)
Package

org.shirakumo.fraf.imagine.

Source

io.lisp.

Macro: %pixwriter (args &body body)
Package

org.shirakumo.fraf.imagine.

Source

io.lisp.

Macro: %reflambda (args &body body)
Package

org.shirakumo.fraf.imagine.

Source

io.lisp.


5.2.2 Ordinary functions

Function: adjust-channel-type (image channel-type)
Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: adjust-layout (image layout)
Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: adjust-origin (image origin)
Package

org.shirakumo.fraf.imagine.

Source

ops.lisp.

Function: closest-pixel-stride (thing choices)
Package

org.shirakumo.fraf.imagine.

Source

protocol.lisp.

Function: infer-channel-type (bits/channel &optional type)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.

Function: kw (thing)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.

Function: list-eql-specializers (function &rest args)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.

Function: luminance (r g b)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.

Function: sb-aref (array index)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.

Function: (setf sb-aref) (array index)
Package

org.shirakumo.fraf.imagine.

Source

toolkit.lisp.


5.2.3 Generic functions

Generic Function: ensure-file-type (thing)
Package

org.shirakumo.fraf.imagine.

Methods
Method: ensure-file-type ((thing pathname))
Source

toolkit.lisp.

Method: ensure-file-type ((thing stream))
Source

toolkit.lisp.

Method: ensure-file-type ((thing string))
Source

toolkit.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%pixreader: Private macros
%pixwriter: Private macros
%reflambda: Private macros

(
(setf data): Public generic functions
(setf data): Public generic functions
(setf image-channel-type): Public ordinary functions
(setf image-d): Public ordinary functions
(setf image-data): Public ordinary functions
(setf image-h): Public ordinary functions
(setf image-layout): Public ordinary functions
(setf image-origin): Public ordinary functions
(setf image-w): Public ordinary functions
(setf sb-aref): Private ordinary functions
(setf view-d): Public ordinary functions
(setf view-h): Public ordinary functions
(setf view-image): Public ordinary functions
(setf view-w): Public ordinary functions
(setf view-x): Public ordinary functions
(setf view-y): Public ordinary functions
(setf view-z): Public ordinary functions

A
adjust: Public generic functions
adjust: Public generic functions
adjust-channel-type: Private ordinary functions
adjust-layout: Private ordinary functions
adjust-origin: Private ordinary functions

C
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-reader: Public generic functions
channel-type: Public generic functions
channel-type: Public generic functions
channel-type: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
channel-writer: Public generic functions
check-image-compatible: Public ordinary functions
check-view: Public ordinary functions
closest-pixel-stride: Private ordinary functions
copy-image: Public ordinary functions
copy-view: Public ordinary functions

D
d: Public generic functions
d: Public generic functions
d: Public generic functions
data: Public generic functions
data: Public generic functions
data: Public generic functions

E
ensure-file-type: Private generic functions
ensure-file-type: Private generic functions
ensure-file-type: Private generic functions
ensure-file-type: Private generic functions
ensure-image: Public generic functions
ensure-image: Public generic functions
ensure-image: Public generic functions
ensure-image: Public generic functions
ensure-image: Public generic functions

F
format-type: Public generic functions
format-type: Public generic functions
Function, (setf image-channel-type): Public ordinary functions
Function, (setf image-d): Public ordinary functions
Function, (setf image-data): Public ordinary functions
Function, (setf image-h): Public ordinary functions
Function, (setf image-layout): Public ordinary functions
Function, (setf image-origin): Public ordinary functions
Function, (setf image-w): Public ordinary functions
Function, (setf sb-aref): Private ordinary functions
Function, (setf view-d): Public ordinary functions
Function, (setf view-h): Public ordinary functions
Function, (setf view-image): Public ordinary functions
Function, (setf view-w): Public ordinary functions
Function, (setf view-x): Public ordinary functions
Function, (setf view-y): Public ordinary functions
Function, (setf view-z): Public ordinary functions
Function, adjust-channel-type: Private ordinary functions
Function, adjust-layout: Private ordinary functions
Function, adjust-origin: Private ordinary functions
Function, check-image-compatible: Public ordinary functions
Function, check-view: Public ordinary functions
Function, closest-pixel-stride: Private ordinary functions
Function, copy-image: Public ordinary functions
Function, copy-view: Public ordinary functions
Function, image-channel-type: Public ordinary functions
Function, image-compatible-p: Public ordinary functions
Function, image-d: Public ordinary functions
Function, image-data: Public ordinary functions
Function, image-h: Public ordinary functions
Function, image-layout: Public ordinary functions
Function, image-origin: Public ordinary functions
Function, image-w: Public ordinary functions
Function, infer-channel-type: Private ordinary functions
Function, kw: Private ordinary functions
Function, list-eql-specializers: Private ordinary functions
Function, luminance: Private ordinary functions
Function, make-image: Public ordinary functions
Function, make-image*: Public ordinary functions
Function, make-view: Public ordinary functions
Function, mirror: Public ordinary functions
Function, resize: Public ordinary functions
Function, rotate: Public ordinary functions
Function, sb-aref: Private ordinary functions
Function, scale: Public ordinary functions
Function, superfluous-view-p: Public ordinary functions
Function, valid-view-p: Public ordinary functions
Function, view-d: Public ordinary functions
Function, view-h: Public ordinary functions
Function, view-image: Public ordinary functions
Function, view-w: Public ordinary functions
Function, view-x: Public ordinary functions
Function, view-y: Public ordinary functions
Function, view-z: Public ordinary functions

G
Generic Function, (setf data): Public generic functions
Generic Function, adjust: Public generic functions
Generic Function, channel-reader: Public generic functions
Generic Function, channel-type: Public generic functions
Generic Function, channel-writer: Public generic functions
Generic Function, d: Public generic functions
Generic Function, data: Public generic functions
Generic Function, ensure-file-type: Private generic functions
Generic Function, ensure-image: Public generic functions
Generic Function, format-type: Public generic functions
Generic Function, h: Public generic functions
Generic Function, image: Public generic functions
Generic Function, layer-stride: Public generic functions
Generic Function, layout: Public generic functions
Generic Function, load-image: Public generic functions
Generic Function, origin: Public generic functions
Generic Function, pixel-reader: Public generic functions
Generic Function, pixel-stride: Public generic functions
Generic Function, pixel-writer: Public generic functions
Generic Function, row-stride: Public generic functions
Generic Function, save-image: Public generic functions
Generic Function, scale-image: Public generic functions
Generic Function, source: Public generic functions
Generic Function, supported-formats: Public generic functions
Generic Function, target: Public generic functions
Generic Function, transfer: Public generic functions
Generic Function, view: Public generic functions
Generic Function, w: Public generic functions
Generic Function, x: Public generic functions
Generic Function, y: Public generic functions
Generic Function, z: Public generic functions

H
h: Public generic functions
h: Public generic functions
h: Public generic functions

I
image: Public generic functions
image: Public generic functions
image: Public generic functions
image-channel-type: Public ordinary functions
image-compatible-p: Public ordinary functions
image-d: Public ordinary functions
image-data: Public ordinary functions
image-h: Public ordinary functions
image-layout: Public ordinary functions
image-origin: Public ordinary functions
image-w: Public ordinary functions
infer-channel-type: Private ordinary functions

K
kw: Private ordinary functions

L
layer-stride: Public generic functions
layer-stride: Public generic functions
layer-stride: Public generic functions
layout: Public generic functions
layout: Public generic functions
layout: Public generic functions
list-eql-specializers: Private ordinary functions
load-image: Public generic functions
load-image: Public generic functions
load-image: Public generic functions
load-image: Public generic functions
load-image: Public generic functions
luminance: Private ordinary functions

M
Macro, %pixreader: Private macros
Macro, %pixwriter: Private macros
Macro, %reflambda: Private macros
Macro, with-image-pixels: Public macros
Macro, with-image-pixels*: Public macros
Macro, with-pixel-data: Public macros
Macro, with-view: Public macros
make-image: Public ordinary functions
make-image*: Public ordinary functions
make-view: Public ordinary functions
Method, (setf data): Public generic functions
Method, adjust: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-reader: Public generic functions
Method, channel-type: Public generic functions
Method, channel-type: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, channel-writer: Public generic functions
Method, d: Public generic functions
Method, d: Public generic functions
Method, data: Public generic functions
Method, data: Public generic functions
Method, ensure-file-type: Private generic functions
Method, ensure-file-type: Private generic functions
Method, ensure-file-type: Private generic functions
Method, ensure-image: Public generic functions
Method, ensure-image: Public generic functions
Method, ensure-image: Public generic functions
Method, ensure-image: Public generic functions
Method, format-type: Public generic functions
Method, h: Public generic functions
Method, h: Public generic functions
Method, image: Public generic functions
Method, image: Public generic functions
Method, layer-stride: Public generic functions
Method, layer-stride: Public generic functions
Method, layout: Public generic functions
Method, layout: Public generic functions
Method, load-image: Public generic functions
Method, load-image: Public generic functions
Method, load-image: Public generic functions
Method, load-image: Public generic functions
Method, origin: Public generic functions
Method, origin: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-reader: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-stride: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, pixel-writer: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, row-stride: Public generic functions
Method, row-stride: Public generic functions
Method, save-image: Public generic functions
Method, save-image: Public generic functions
Method, save-image: Public generic functions
Method, save-image: Public generic functions
Method, save-image: Public generic functions
Method, scale-image: Public generic functions
Method, scale-image: Public generic functions
Method, source: Public generic functions
Method, source: Public generic functions
Method, supported-formats: Public generic functions
Method, target: Public generic functions
Method, transfer: Public generic functions
Method, transfer: Public generic functions
Method, transfer: Public generic functions
Method, view: Public generic functions
Method, w: Public generic functions
Method, w: Public generic functions
Method, x: Public generic functions
Method, x: Public generic functions
Method, y: Public generic functions
Method, y: Public generic functions
Method, z: Public generic functions
Method, z: Public generic functions
mirror: Public ordinary functions

O
origin: Public generic functions
origin: Public generic functions
origin: Public generic functions

P
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-reader: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-stride: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
pixel-writer: Public generic functions
print-object: Public standalone methods
print-object: Public standalone methods

R
resize: Public ordinary functions
rotate: Public ordinary functions
row-stride: Public generic functions
row-stride: Public generic functions
row-stride: Public generic functions

S
save-image: Public generic functions
save-image: Public generic functions
save-image: Public generic functions
save-image: Public generic functions
save-image: Public generic functions
save-image: Public generic functions
sb-aref: Private ordinary functions
scale: Public ordinary functions
scale-image: Public generic functions
scale-image: Public generic functions
scale-image: Public generic functions
source: Public generic functions
source: Public generic functions
source: Public generic functions
superfluous-view-p: Public ordinary functions
supported-formats: Public generic functions
supported-formats: Public generic functions

T
target: Public generic functions
target: Public generic functions
transfer: Public generic functions
transfer: Public generic functions
transfer: Public generic functions
transfer: Public generic functions

V
valid-view-p: Public ordinary functions
view: Public generic functions
view: Public generic functions
view-d: Public ordinary functions
view-h: Public ordinary functions
view-image: Public ordinary functions
view-w: Public ordinary functions
view-x: Public ordinary functions
view-y: Public ordinary functions
view-z: Public ordinary functions

W
w: Public generic functions
w: Public generic functions
w: Public generic functions
with-image-pixels: Public macros
with-image-pixels*: Public macros
with-pixel-data: Public macros
with-view: Public macros

X
x: Public generic functions
x: Public generic functions
x: Public generic functions

Y
y: Public generic functions
y: Public generic functions
y: Public generic functions

Z
z: Public generic functions
z: Public generic functions
z: Public generic functions


A.4 Data types

Jump to:   C   D   F   I   L   O   P   S   T   U   V  
Index Entry  Section

C
channel-type: Public types
Condition, imagine-error: Public conditions
Condition, invalid-view: Public conditions
Condition, pixel-data-incompatible: Public conditions
Condition, unsupported-format: Public conditions
conditions.lisp: The imagine/conditions․lisp file

D
dimension: Public types
documentation.lisp: The imagine/documentation․lisp file

F
File, conditions.lisp: The imagine/conditions․lisp file
File, documentation.lisp: The imagine/documentation․lisp file
File, imagine.asd: The imagine/imagine․asd file
File, io.lisp: The imagine/io․lisp file
File, ops.lisp: The imagine/ops․lisp file
File, package.lisp: The imagine/package․lisp file
File, protocol.lisp: The imagine/protocol․lisp file
File, toolkit.lisp: The imagine/toolkit․lisp file

I
image: Public structures
imagine: The imagine system
imagine-error: Public conditions
imagine.asd: The imagine/imagine․asd file
invalid-view: Public conditions
io.lisp: The imagine/io․lisp file

L
layout: Public types

O
ops.lisp: The imagine/ops․lisp file
org.shirakumo.fraf.imagine: The org․shirakumo․fraf․imagine package
origin: Public types

P
Package, org.shirakumo.fraf.imagine: The org․shirakumo․fraf․imagine package
package.lisp: The imagine/package․lisp file
pixel-data-incompatible: Public conditions
protocol.lisp: The imagine/protocol․lisp file

S
stride: Public types
Structure, image: Public structures
Structure, view: Public structures
System, imagine: The imagine system

T
toolkit.lisp: The imagine/toolkit․lisp file
Type, channel-type: Public types
Type, dimension: Public types
Type, layout: Public types
Type, origin: Public types
Type, stride: Public types

U
unsupported-format: Public conditions

V
view: Public structures