Pinceles

Define tus propios pinceles por nombre y pinta con ellos. Viven solo en el motor durante la sesión: no están en el documento, no se pueden deshacer, no se guardan y son independientes de la biblioteca de pinceles del editor. (6 funciones)

app.brushFromSelection(name) — modifica

Define un pincel personalizado a partir de la forma de la selección actual (los píxeles seleccionados pintan). Lanza un error si no hay nada seleccionado o si la selección es mayor que 64 x 64.

  • name (string) — El nombre que se le da al pincel.

Devuelve (table): { width, height } del pincel.

app.defineBrush(name, brush) — modifica

Define un pincel personalizado por nombre, para usarlo como brush = "name" en los comandos de dibujo o con app.useBrush. Los pinceles viven solo en el motor durante la sesión: no forman parte del documento, no se pueden deshacer y no se guardan ni se añaden a la biblioteca de pinceles del editor.

  • name (string) — De 1 a 64 caracteres. Si defines un nombre que ya existe, lo reemplaza.
  • brush (table) — Indica rows (legible) o width, height y mask. Ejemplo: { rows = { ".#.", "###", ".#." } } es un signo más.
    • name (string) — Se ignora; está para poder pasar tal cual un pincel de un campo de formulario de configuración (app.config.<id>).
    • rows (list of strings, one per row; ".", " " and "0" are empty, anything else paints) — El pincel como texto, de hasta 64 x 64. Las filas cortas se rellenan con píxeles vacíos.
    • width (integer 1–64) — Ancho en píxeles (con mask).
    • height (integer 1–64) — Alto en píxeles (con mask).
    • mask (flat row-major list of width*height 0/1 values) — El pincel como números (con width y height).

Devuelve (table): { width, height } del pincel.

app.getBrush(name) — lee

Un pincel personalizado por nombre, como { name, width, height, mask (lista plana de 0/1), rows (lo mismo como cadenas de # y .) }, o nil si no existe ese pincel.

  • name (string)

Devuelve (table): Tabla del pincel o nil.

app.getBrushes() — lee

Los pinceles personalizados definidos con app.defineBrush, en el orden de definición, como { name, width, height }. Los pinceles integrados (circle, square, horizontal) no aparecen.

Devuelve (table): Array de { name, width, height }.

app.removeBrush(name) — modifica

Elimina un pincel personalizado definido con app.defineBrush. Los comandos de dibujo que ya se ejecutaron conservan el pincel que usaron.

  • name (string)

Devuelve (boolean): true si existía ese pincel.

app.useBrush(name) — modifica

Convierte un pincel personalizado en el pincel actual (en el contexto de edición, brushShape = "custom" y customBrush), de modo que los comandos de dibujo sin la opción brush lo usen; la barra de herramientas del editor también lo muestra. Lanza un error si el nombre es desconocido.

  • name (string) — Un pincel definido con app.defineBrush.

No devuelve nada.

En Markdown: brushes.md.