• OctoMY API
  • OctoMY API Reference
  • paint Namespace
  • paint Namespace

    The spectral paint engine: paint documents of layers and frames, brushes, and the file format. More...

    Header: #include <paint>
    Since: 1.0

    Namespaces

    namespace settings

    Classes

    (since 1.0) class Frame
    (since 1.0) class Layer

    Types

    (since 1.0) enum class BlendMode { Normal }

    Detailed Description

    libpaint stores paint as 80-band spectral pixels, grouped in chunks. A paint document, paint::Space, holds an ordered set of paint::Layer objects and the artists who painted on it, and each layer holds paint::Frame images. Space writes and reads the .paint file.

    Namespaces

    namespace paint::settings

    Paint wrote its settings by five routes (config-ui parity-matrix §CFG-M3). They are one route now. The canvas, the stroke parameter grid, the preview widgets, the brush panel and the settings window all read a value with value() and write it with write(), and listen to notifier() for a change from any writer. A canvas does not read a paint key from `app::Settings` itself.

    The resolver lives as long as the process. It is not destroyed at exit, so its notifier and its rate limiter cannot outlive the application object by accident.

    Classes

    class Frame

    One still image of a paint::Layer: a sparse grid of pixel chunks. More...

    class Layer

    Ordered set of paint frames with compositing controls. More...

    Type Documentation

    [since 1.0] enum class paint::BlendMode

    How a paint::Layer composites over the layers below it.

    The per-layer mode is a V0 placeholder with one value. The blend modes of the spectral brush are a separate set, paint::BlendId.

    ConstantValueDescription
    paint::BlendMode::Normal0Source-over compositing.

    This enum was introduced in 1.0.

    See also paint::Layer.