ui
Interfaz inmediata (immediate-mode): declara la UI de cada cuadro (botones, casillas, texto) dentro de un contexto en árbol de filas, columnas y paneles.
usar std/pincel/uiTipos
ui.Alineacion
Cómo alinear los hijos de un contenedor de interfaz dentro del espacio sobrante: .Inicio, .Centro o .Final.
Valores:
.Centro.Final.Inicioui.AmbitoUI
Un contenedor abierto de la interfaz (fila, columna, panel...), devuelto por funciones como ui.fila para usarse con `con`.
AmbitoUI.entrar()
Entra al ámbito de este contenedor; se usa automáticamente al abrir un bloque `con` sobre él.
AmbitoUI.salir()
Sale del ámbito de este contenedor; se usa automáticamente al cerrar el bloque `con`.
ui.Bordes
Un relleno (padding) con un valor distinto por lado: izquierda, derecha, arriba y abajo.
izquierda decimalderecha decimalarriba decimalabajo decimalui.Contexto
El estado de la interfaz inmediata entre cuadros; se crea una vez con ui.crear y se reutiliza en cada uno.
ui.Medida
Cómo debe calcularse el tamaño de un elemento de interfaz: fijo, según su contenido, expandiendo o como porcentaje del espacio disponible.
ui.Tema
Los colores, fuente y espaciado que usa la interfaz al dibujarse; ver ui.retro y ui.fuente para temas listos para usar.
fondo Colornormal Colorsobre Colorpresionado Colorfoco Colordeshabilitado Colortexto Colorespacio decimalFunciones
ui.crear() ui.Contexto
Crea un nuevo Contexto de interfaz. Se llama una sola vez; el mismo contexto se reutiliza en cada cuadro.
ui.cuadro(contexto ui.Contexto) ui.AmbitoUI
Empieza a declarar la interfaz de este cuadro dentro de `contexto`. Úsalo con `con` para delimitar el árbol de la UI.
ui.pintar(contexto ui.Contexto)al pintar
Dibuja la interfaz declarada este cuadro. Llámalo al final, después de cerrar el bloque de ui.cuadro.
ui.captura_raton(contexto ui.Contexto) bool
verdadero si la interfaz está usando el ratón en este cuadro (útil para no mover también la cámara del juego, por ejemplo).
ui.captura_teclado(contexto ui.Contexto) bool
verdadero si la interfaz está usando el teclado en este cuadro (por ejemplo, un campo de texto con foco).
ui.fijo(valor decimal) ui.Medida
Una Medida de tamaño exacto en píxeles.
ui.contenido(minimo decimal = 0, maximo decimal = 1000000000) ui.Medida
Una Medida que se ajusta al contenido, opcionalmente acotada entre `minimo` y `maximo`.
ui.expandir(minimo decimal = 0, maximo decimal = 1000000000) ui.Medida
Una Medida que crece para llenar el espacio disponible del contenedor padre.
ui.porcentaje(fraccion decimal) ui.Medida
Una Medida como fracción del espacio disponible del contenedor padre (0 a 1).
ui.fila(id cadena, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), espacio decimal = -1, relleno ui.Bordes = {}, horizontal ui.Alineacion = .Inicio, vertical ui.Alineacion = .Inicio, desplazar bool = falso) ui.AmbitoUI
Un contenedor que acomoda a sus hijos en fila (uno junto al otro, horizontalmente). Ábrelo con `con`.
ui.columna(id cadena, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), espacio decimal = -1, relleno ui.Bordes = {}, horizontal ui.Alineacion = .Inicio, vertical ui.Alineacion = .Inicio, desplazar bool = falso) ui.AmbitoUI
Un contenedor que acomoda a sus hijos en columna (uno debajo del otro, verticalmente). Ábrelo con `con`.
ui.panel(id cadena, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), espacio decimal = -1, relleno ui.Bordes = {}, horizontal ui.Alineacion = .Inicio, vertical ui.Alineacion = .Inicio, desplazar bool = falso) ui.AmbitoUI
Un contenedor visual (con fondo) que agrupa a sus hijos como una columna.
ui.texto(valor cadena, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), color color.Color = .Transparente)
Muestra una etiqueta de texto no interactiva.
ui.imagen(imagen graficos.Imagen, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), tinte color.Color = .Blanco)
Muestra una imagen dentro de la interfaz.
ui.boton(id cadena, etiqueta cadena, ancho ui.Medida = contenido(), alto ui.Medida = contenido(), habilitado bool = verdadero) bool
Un botón con `etiqueta`; devuelve verdadero en el cuadro en que se hace clic sobre él. `id` debe ser único dentro de su contenedor.
ui.casilla(id cadena, valor bool, etiqueta cadena = "", ancho ui.Medida = contenido(), alto ui.Medida = contenido(), habilitado bool = verdadero) bool
Una casilla de verificación; devuelve el nuevo valor de `valor` tras el clic (o el mismo si no cambió).
ui.deslizador(id cadena, valor decimal, minimo decimal = 0, maximo decimal = 1, ancho ui.Medida = fijo(120), alto ui.Medida = fijo(16), habilitado bool = verdadero) decimal
Un control deslizante entre `minimo` y `maximo`; devuelve el valor actual tras la interacción del usuario.
ui.barra(valor decimal, minimo decimal = 0, maximo decimal = 1, ancho ui.Medida = fijo(120), alto ui.Medida = fijo(10))
Una barra de progreso no interactiva que muestra `valor` entre `minimo` y `maximo`.
ui.separador(ancho ui.Medida = expandir(), alto ui.Medida = fijo(1))
Una línea delgada para separar visualmente secciones de la interfaz.
ui.espacio(ancho ui.Medida = expandir(), alto ui.Medida = expandir())
Un hueco vacío, útil para empujar otros elementos o dejar aire entre ellos.
ui.campo_texto(id cadena, valor cadena, ancho ui.Medida = contenido(0, 200), alto ui.Medida = contenido(), habilitado bool = verdadero) cadena
Un campo de texto editable; devuelve el contenido actual tras la edición del usuario.
ui.retro(escala entero = 1) ui.Tema
Un Tema con la paleta y fuente de std/pincel/retro, listo para pasar a ui.tema.
ui.fuente(fuente graficos.Fuente, tamano decimal = 20) ui.Tema
Un Tema que usa `fuente` (y el `tamano` dado) para todo el texto de la interfaz.
ui.tema(tema ui.Tema) ui.AmbitoUI
Aplica `tema` a los elementos declarados dentro de este bloque `con`.