Pinceaux

Définis tes propres pinceaux par leur nom, puis peins avec. Ils n'existent que dans le moteur, le temps de la session : ils ne font pas partie du document, ne sont pas annulables, ne sont pas enregistrés et restent séparés de la bibliothèque de pinceaux de l'éditeur. (6 fonctions)

app.brushFromSelection(name) — modifie

Définit un pinceau personnalisé à partir de la forme de la sélection actuelle (les pixels sélectionnés peignent). Lève une erreur si rien n'est sélectionné ou si la sélection dépasse 64 x 64.

  • name (string) — Le nom à donner au pinceau.

Renvoie (table) : { width, height } du pinceau.

app.defineBrush(name, brush) — modifie

Définit un pinceau personnalisé par son nom, à utiliser avec brush = "name" dans les commandes de dessin ou avec app.useBrush. Les pinceaux n'existent que dans le moteur, le temps de la session : ils ne font pas partie du document, ne sont pas annulables, et ne sont ni enregistrés ni ajoutés à la bibliothèque de pinceaux de l'éditeur.

  • name (string) — 1 à 64 caractères. Définir un nom existant le remplace.
  • brush (table) — Donne rows (lisible) ou width, height et mask. Exemple : { rows = { ".#.", "###", ".#." } } est un signe plus.
    • name (string) — Ignoré : présent pour qu'un pinceau issu d'un champ de formulaire de configuration (app.config.<id>) puisse être passé tel quel.
    • rows (list of strings, one per row; ".", " " and "0" are empty, anything else paints) — Le pinceau sous forme de texte, jusqu'à 64 x 64. Les lignes trop courtes sont complétées par des pixels vides.
    • width (integer 1–64) — Largeur en pixels (avec mask).
    • height (integer 1–64) — Hauteur en pixels (avec mask).
    • mask (flat row-major list of width*height 0/1 values) — Le pinceau sous forme de nombres (avec width et height).

Renvoie (table) : { width, height } du pinceau.

app.getBrush(name) — lit

Un pinceau personnalisé par son nom, sous la forme { name, width, height, mask (liste plate de 0/1), rows (la même chose sous forme de chaînes de # et .) }, ou nil s'il n'existe pas de tel pinceau.

  • name (string)

Renvoie (table) : Table du pinceau ou nil.

app.getBrushes() — lit

Les pinceaux personnalisés définis avec app.defineBrush, dans l'ordre de définition, sous la forme { name, width, height }. Les pinceaux intégrés (circle, square, horizontal) ne sont pas listés.

Renvoie (table) : Tableau de { name, width, height }.

app.removeBrush(name) — modifie

Supprime un pinceau personnalisé défini avec app.defineBrush. Les commandes de dessin déjà exécutées gardent le pinceau qu'elles ont utilisé.

  • name (string)

Renvoie (boolean) : true s'il existait un tel pinceau.

app.useBrush(name) — modifie

Fait d'un pinceau personnalisé le pinceau actuel (brushShape = "custom" et customBrush du contexte d'édition), de sorte que les commandes de dessin sans option brush l'utilisent ; la barre d'outils de l'éditeur l'affiche aussi. Lève une erreur si le nom est inconnu.

  • name (string) — Un pinceau défini avec app.defineBrush.

Ne renvoie rien.

En Markdown : brushes.md.