Crear un tema de Recalbox

45 páginas · 8 secciones
FRENESDE Mostrar todo Crear mi tema

Posición, tamaño, origen, rotación

Colocar un componente exactamente donde se quiere.

pos y origin van siempre juntos

Es el punto que hay que entender antes que nada, porque los dos no hablan de lo mismo:

posdónde, en la PANTALLA, se coloca el componente. originqué punto DEL COMPONENTE se coloca en ese sitio.

Uno es una posición en la pantalla, el otro un punto del componente. Es el encuentro de ambos lo que decide dónde aparece el componente.


pos — una posición en la pantalla

<pos>0.1 0.2</pos>

Estos dos números se miden desde la esquina superior izquierda de la pantalla: 0 0 es esa esquina, 1 1 la esquina inferior derecha.

Lo más sencillo es leerlos como porcentajes — es exactamente lo mismo: 0.1 = 10 %, 0.2 = 20 %, 0.5 = 50 %. Así que pos 0.1 0.2 es 10 % del ancho y 20 % de la altura.

la pantalla, sea cual sea su resolución 00 10 01 11 pos 0.1 0.2 0.1 → 10 % de la largeur 0.2 → 20 % de la hauteur todo se mide desde la esquina superior izquierda de la PANTALLA

pos no dice nada del componente en sí: es un simple punto en la pantalla. Lo que decide qué parte del componente se posa ahí es origin.


origin — qué punto DEL COMPONENTE

origin responde a la otra mitad de la pregunta: ahora que sabemos dónde en la pantalla, ¿qué parte del componente viene a posarse ahí?

Estos nueve valores son los más corrientes, pero cualquier pareja entre 0 y 1 funciona:

tu componente000.501000.50.50.510.5010.5111los nueve valores posibles de origin

Por defecto, origin vale 0 0 — la esquina superior izquierda del componente. Por eso un componente sin origin se extiende hacia la derecha y hacia abajo desde su pos.

El ejemplo que lo aclara todo

Tomemos una imagen apaisada en una pantalla 16:9:

<pos>0.5 0.5</pos>
<origin>1 1</origin>

pos 0.5 0.5 es el centro de la pantalla. Se podría creer que la imagen quedará centrada. No lo está: origin 1 1 designa la esquina inferior derecha de la imagen, y es esa esquina la que se posa en el centro.

la pantalla (16:9) tu imagen (horizontal) origin 1 1 la esquina inferior derecha de la imagen… pos 0.5 0.5 …colocado en el centro de la pantalla ➜ la imagen NO está centrada: queda arriba y a la izquierda del centro.

La imagen queda por tanto entera arriba a la izquierda del centro.

Para centrar de verdad

<pos>0.5 0.5</pos>
<origin>0.5 0.5</origin>

Esta vez es el centro de la imagen lo que se posa en el centro de la pantalla.

La tabla completa

originEl punto del componente posado sobre pos
0 0esquina superior izquierda — el valor por defecto
0.5 0centro del borde superior
1 0esquina superior derecha
0 0.5centro del borde izquierdo
0.5 0.5el centro
1 0.5centro del borde derecho
0 1esquina inferior izquierda
0.5 1centro del borde inferior
1 1esquina inferior derecha

Para qué sirve realmente

Sin origin, todo componente se coloca por su esquina superior izquierda: para centrar algo habría que calcular 0.5 − ancho/2, y recalcular cada vez que el ancho cambia.

Con origin, ya no se calcula nada:

Lo que se quiereposorigin
centrado en pantalla0.5 0.50.5 0.5
pegado al borde derecho1 …1 …
pegado al borde inferior… 1… 1
centrado abajo0.5 10.5 1

Es especialmente útil para un logotipo de sistema, cuyo ancho cambia de una máquina a otra: con origin, queda alineado pase lo que pase.


size — el tamaño impuesto

<size>0.3 0.2</size>

El componente hace exactamente ese tamaño. Para una imagen, eso significa que se deforma para llenar la caja.

Dar solo uno

Pon 0 en el otro: la dimensión que falta se calcula para conservar las proporciones.

<size>0.3 0</size>   <!-- 30 % de ancho, altura proporcional -->

⚠️ No es lo mismo que keepratio o maxSize, aunque ambos conserven las proporciones:

EscrituraLo que se garantiza
size 0.3 0el ancho hace exactamente 30 %; la altura sigue, sea cual sea — puede desbordar
maxSize 0.3 0.2la imagen cabe en la caja: gana la dimensión más restrictiva, el ancho puede por tanto reducirse

Dicho de otro modo: size con un cero impone una restricción, maxSize impone dos.

maxSize — el tamaño máximo, sin deformar

<maxSize>0.3 0.2</maxSize>
size 0.3 0.2 la imagen LLENA la caja… imagen estirada ➜ deformada maxSize 0.3 0.2 …la imagen CABE en la caja imagen entera ➜ proporciones conservadas queda hueco arriba y abajo el marco punteado amarillo = la caja pedida, en ambos casos

La imagen se agranda o se reduce conservando sus proporciones para caber en la caja. Por tanto rara vez ocupa toda su superficie.

Para un logotipo de sistema, casi siempre lo que hace falta es maxSize. Los logotipos no tienen la misma forma de una máquina a otra: con size, algunos quedarían aplastados.

size acompañado de keepratio da el mismo resultado que maxSize — y suele ser la escritura preferida, porque dice el tamaño deseado en lugar de un límite:

<size>0.3 0.2</size>
<keepratio>true</keepratio>   <!-- ⚠️ todo en minúsculas -->

maxSize solo existe en image y video.

rotation y rotationOrigin

<rotation>90</rotation>
<rotationOrigin>0.5 0.5</rotationOrigin>

rotation está en grados, sentido horario. rotationOrigin designa el punto alrededor del cual pivota el componente, en sus propias proporciones. Sin rotationOrigin, el pivote es la esquina superior izquierda (0 0) — escribe 0.5 0.5 para girar alrededor del centro.

La rotación se aplica a las imágenes, los bloques de color, los vídeos y los bloques Markdown. Un texto girado se dibuja con inclinaciones pequeñas pero desaparece a 90°; un texto deslizante girado solo dibuja su fondo, nunca su texto. Para un título vertical, pasa por una imagen o un bloque Markdown.

rotationOrigin 0.5 0.5 gira sobre su centro rotationOrigin 0 0 gira sobre su esquina superior izquierda rotation 20 — en grados, sentido horario

La profundidad (zIndex) y el apagado (disabled) tienen su propia página: Profundidad y visibilidad.