Pincéis

Defina seus próprios pincéis por nome e pinte com eles. Eles existem apenas no engine durante a sessão: não ficam no documento, não podem ser desfeitos, não são salvos e são separados da biblioteca de pincéis do editor. (6 funções)

app.brushFromSelection(name) — altera

Define um pincel personalizado a partir da forma da seleção atual (os pixels selecionados pintam). Gera um erro se nada estiver selecionado ou se a seleção for maior que 64 x 64.

  • name (string) — O nome a dar ao pincel.

Retorna (table): { width, height } do pincel.

app.defineBrush(name, brush) — altera

Define um pincel personalizado por nome, para usar como brush = "name" nos comandos de desenho ou com app.useBrush. Os pincéis existem apenas no engine durante a sessão: não fazem parte do documento, não podem ser desfeitos e não são salvos nem adicionados à biblioteca de pincéis do editor.

  • name (string) — De 1 a 64 caracteres. Definir um nome existente o substitui.
  • brush (table) — Informe rows (legível) ou width, height e mask. Exemplo: { rows = { ".#.", "###", ".#." } } é um sinal de mais.
    • name (string) — Ignorado: existe para que um pincel vindo de um campo de formulário de configuração (app.config.<id>) possa ser passado como está.
    • rows (list of strings, one per row; ".", " " and "0" are empty, anything else paints) — O pincel como texto, de até 64 x 64. Linhas curtas são completadas com pixels vazios.
    • width (integer 1–64) — Largura em pixels (com mask).
    • height (integer 1–64) — Altura em pixels (com mask).
    • mask (flat row-major list of width*height 0/1 values) — O pincel como números (com width e height).

Retorna (table): { width, height } do pincel.

app.getBrush(name) — lê

Um pincel personalizado por nome, como { name, width, height, mask (lista plana de 0/1), rows (o mesmo como strings de # e .) }, ou nil se não existir esse pincel.

  • name (string)

Retorna (table): Tabela do pincel ou nil.

app.getBrushes() — lê

Os pincéis personalizados definidos com app.defineBrush, na ordem de definição, como { name, width, height }. Os pincéis integrados (circle, square, horizontal) não são listados.

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

app.removeBrush(name) — altera

Exclui um pincel personalizado definido com app.defineBrush. Os comandos de desenho já executados mantêm o pincel que usaram.

  • name (string)

Retorna (boolean): true se esse pincel existia.

app.useBrush(name) — altera

Torna um pincel personalizado o pincel atual (o brushShape = "custom" e o customBrush do contexto de edição), para que os comandos de desenho sem a opção brush o usem; a barra de ferramentas do editor também o mostra. Gera um erro se o nome for desconhecido.

  • name (string) — Um pincel definido com app.defineBrush.

Não retorna nada.

Em Markdown: brushes.md.