Documentation
¶
Overview ¶
Package geom define los tipos geométricos y de color compartidos por todas las capas de FlowCode. Es la única hoja del árbol de dependencias: no importa nada fuera de la stdlib y todo el mundo puede importarla.
Convención de coordenadas: origen arriba a la izquierda, Y crece hacia abajo, en píxeles lógicos (independientes del DPI). La conversión a píxeles físicos ocurre una sola vez, en la capa gpu.
Index ¶
- type Color
- type Point
- type Rect
- func (r Rect) Contains(p Point) bool
- func (r Rect) Height() float32
- func (r Rect) Inset(d float32) Rect
- func (r Rect) Intersect(s Rect) Rect
- func (r Rect) IsEmpty() bool
- func (r Rect) Round() Rect
- func (r Rect) Size() Size
- func (r Rect) Translate(d Point) Rect
- func (r Rect) Union(s Rect) Rect
- func (r Rect) Width() float32
- type Size
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Color ¶
type Color struct {
R, G, B, A uint8
}
Color es un color RGBA de 8 bits por canal, sin premultiplicar. El renderer premultiplica al construir los vértices; almacenarlo sin premultiplicar mantiene los temas legibles y editables a mano.
func Hex ¶
Hex interpreta "#rgb", "#rrggbb" o "#rrggbbaa" (con o sin almohadilla). Devuelve ok=false si la cadena no es un color válido; el llamante decide si eso es un error de configuración o un caso a ignorar.
func MustHex ¶
MustHex es Hex para constantes de tema conocidas en tiempo de compilación. Entra en pánico ante un color inválido, que en ese contexto es un bug.
func (Color) IsTransparent ¶
IsTransparent indica si el color es completamente invisible, en cuyo caso el renderer puede descartar la primitiva antes de generar vértices.
func (Color) Premultiplied ¶
Premultiplied devuelve los cuatro canales con el color multiplicado por alfa, que es el formato que espera el blending del renderer.
type Rect ¶
type Rect struct {
Min, Max Point
}
Rect es un rectángulo definido por su esquina superior izquierda (Min) y su esquina inferior derecha (Max), exclusiva.
func RectFromSize ¶
RectFromSize construye un Rect en el origen con el tamaño dado.
func (Rect) Inset ¶
Inset encoge el rectángulo por igual en los cuatro lados. Un valor negativo lo expande. El resultado nunca tiene dimensiones negativas.
func (Rect) Intersect ¶
Intersect devuelve la intersección de dos rectángulos, o un rectángulo vacío si no se solapan. Es la operación que sostiene el clipping del renderer.
func (Rect) Round ¶
Round ajusta el rectángulo a límites enteros de píxel, expandiéndolo. Se usa al convertir regiones lógicas en scissors de GPU, donde recortar de menos es correcto y recortar de más deja artefactos.