Grupos de opciones

Las opciones de pintura y de pincel que comparten las funciones de dibujo, definidas una sola vez.

Conjuntos de opciones compartidos por varias funciones, definidos una sola vez aquí. La tabla opts de una función indica qué grupos admite además: "también acepta Opciones de pintura" significa que se acepta cada opción de abajo, con el mismo significado y los mismos valores predeterminados, además de las propias de la función.

Opciones de pintura (paint)

Las toman todos los comandos que pintan píxeles (las funciones de dibujo y las herramientas de trazo). Todas son opcionales. Por omisión, un comando de dibujo ignora la selección y no refleja, sea lo que sea que muestre el editor en ese momento; actívalo con respectSelection = true y symmetry = app.getContext().symmetry (o una lista de ejes). tilemapMode se rellena a partir del contexto de edición. Lo admiten: app.blur, app.dodgeBurn, app.drawContour, app.drawCurve, app.drawEllipse, app.drawGradient, app.drawHexagon, app.drawIsoShape, app.drawLine, app.drawPolygon, app.drawRectangle, app.drawStar, app.drawStroke, app.drawTriangle, app.floodFill, app.jumble, app.scatter, app.spray.

  • respectSelection (boolean; predeterminado false) — Pasa true para pintar solo dentro de la selección actual (léela con app.getSelection / app.isSelected). Por omisión se ignora la selección.
  • symmetry (lista de SymmetryAxis: "horizontal" | "vertical" | "diagonal" | "antidiagonal"; predeterminado none) — Ejes de reflejo que pasan por el centro del lienzo (o por symmetryX / symmetryY); las combinaciones (horizontal + vertical) dan simetría en 4 direcciones. Por omisión ninguno: pasa symmetry = app.getContext().symmetry para seguir el interruptor de simetría del editor, o una lista de ejes como { "vertical" }.
  • symmetryX (number ≥ 0; predeterminado the canvas center (width / 2)) — Dónde está el eje vertical (y el punto en que se cruzan ambas diagonales): píxeles desde el borde izquierdo del lienzo, un múltiplo de 0.5 (entero = entre píxeles, x.5 = por el centro de un píxel). Se limita al lienzo. Pasa app.getContext().symmetryX para seguir la guía del editor (nil ahí significa centrado).
  • symmetryY (number ≥ 0; predeterminado the canvas center (height / 2)) — Dónde está el eje horizontal (y el cruce de las diagonales): píxeles desde el borde superior del lienzo, un múltiplo de 0.5. Se limita al lienzo.
  • tilemapMode (TilemapEditMode: "pixels-edit" | "pixels-auto"; predeterminado context.tilemapMode) — Cómo recibe la pintura de píxeles una capa de tilemap: auto da a cada celda pintada su propio tile, edit cambia el tile compartido en su lugar. Se ignora en las capas de imagen.

Opciones de colocación (tilePlace)

Todas son opcionales. Por omisión, los tiles van en cada celda indicada, sea lo que sea que muestre el editor. Las celdas reflejadas reciben el tile reflejado: un eje vertical alterna flipH, uno horizontal alterna flipV, uno diagonal lo transpone (rotate90 más un volteo). Una celda sobre un eje conserva el tile tal como se colocó. Lo admiten: app.fillTiles, app.stampTiles.

  • respectSelection (boolean; predeterminado false) — Pasa true para omitir las celdas sin ningún píxel seleccionado (un relleno también se detiene en ellas).
  • symmetry (lista de SymmetryAxis: "horizontal" | "vertical" | "diagonal" | "antidiagonal"; predeterminado none) — Coloca también en las celdas reflejadas respecto a estos ejes (y sus combinaciones). Pasa app.getContext().symmetry para seguir el interruptor del editor.
  • symmetryX (number ≥ 0; predeterminado the canvas center (width / 2)) — Dónde está el eje vertical, en píxeles desde el borde izquierdo del lienzo (un múltiplo de 0.5).
  • symmetryY (number ≥ 0; predeterminado the canvas center (height / 2)) — Dónde está el eje horizontal, en píxeles desde el borde superior del lienzo (un múltiplo de 0.5).

Opciones de pincel (brush)

Las toman las herramientas de trazo (drawStroke, blur, jumble). Pasa un pincel integrado por tamaño y forma, o un pincel personalizado por nombre o en línea. Lo admiten: app.blur, app.dodgeBurn, app.drawStroke, app.jumble, app.scatter.

  • brushSize (integer 1–64; predeterminado context.brushSize) — Tamaño del pincel en píxeles.
  • brushShape (BrushShape: "circle" | "square" | "line" | "diamond" | "cross" | "x" | "star" | "horizontal"; predeterminado context.brushShape) — Forma del pincel. Para un pincel personalizado usa brush.
  • brushAngle (integer 0–180; predeterminado context.brushAngle) — Ángulo del pincel en grados: inclina la forma "line" (0 = horizontal, 90 = vertical) y rota "square".
  • brush (brush name, or an inline { rows } / { width, height, mask }) — Un pincel personalizado: el nombre de uno que definiste con app.defineBrush, o una definición en línea. Reemplaza a brushSize, brushShape y brushAngle.

Opciones de tinta (ink)

Las toman todos los comandos de pintura excepto erase: cómo se combina el color de pintura con los píxeles que ya hay. Las opciones omitidas vienen del contexto de edición (ink, shades). Con ink = "shading" se ignora el color y cada píxel tocado cuyo color está en shades avanza un paso por esa lista (una vez por comando, sin importar cuántas veces lo cubra la forma). Lo admiten: app.drawContour, app.drawCurve, app.drawEllipse, app.drawGradient, app.drawHexagon, app.drawIsoShape, app.drawLine, app.drawPolygon, app.drawRectangle, app.drawStar, app.drawStroke, app.drawTriangle, app.floodFill, app.scatter, app.spray.

  • ink (Ink: "copy" | "simple" | "lock-alpha" | "shading"; predeterminado context.ink) — copy reemplaza los píxeles, simple compone el alfa, lock-alpha recolorea solo los píxeles visibles, shading avanza los colores por shades. Lo ignora erase.
  • shades (a list of colors ("#rrggbb[aa]" or { r, g, b, a }), in ramp order; predeterminado context.shades) — La rampa por la que avanza shading. Un píxel cuyo color no está en la lista no se toca; un píxel al final de la lista se queda ahí.
  • shadeReverse (boolean; predeterminado false) — Shading retrocede por shades (el botón derecho del mouse en la interfaz) en lugar de avanzar.

En Markdown: option-groups.md.