Soporte de alta resolución (HighDPI)
Velneo dispone de soporte de alta resolución para todos sus componentes, llamado comercialmente Retina Display o soporte HighDpi.
Todos los componentes, y en especial Velneo vClient y las aplicaciones que ejecuta, permiten su ejecución en entornos con alta resolución y se adaptan a la resolución, mostrándose las aplicaciones con el mismo tamaño aparente pero con mayor resolución.
Este soporte está disponible para Windows, Linux, OS X, Android e iOS, permitiendo que los tipos de letra de sistema se adapten a la resolución, alto de cabeceras y filas en rejillas, y algunos otros elementos.
En el soporte de alta resolución tenemos el concepto de Ratio de píxeles del dispositivo (device pixel ratio) que tiene valor 1 cuando el dispositivo tiene un DPI normal, y valor 2 cuando es de alta resolución.
En éste último caso, la resolución física es el doble de la resolución lógica. Esto quiere decir que se escalará la representación, mostrando los elementos con el doble de tamaño físico, pero el tamaño lógico se mantendrá.
Cualquier cambio de configuración de pantalla requiere cerrar sesión del usuario para aplicar los cambios totalmente, ya que pueden que se apliquen parcialmente.
En el caso de varias pantallas, manda la configurada como pantalla principal. Si la pantalla principal soporta highdpi, al resto aplicará highdpi, si lo soportan, o zoom, si no es así. Si la pantalla principal no soporta highdpi, aplicará zoom a las pantallas que sí soporten highdpi y configuración normal a las que no soporten highdpi.
Variables de entorno de sistemas operativos para highDPI
Es posible configurar en los sistemas operativos variables de entorno que nos permitirán establecer cómo se comportarán las aplicaciones de Velneo en dispositivos highDPI.
Habitualmente no tendremos que definirlas, salvo que trabajemos en sistemas en las que haya aplicaciones highDPI y no highDPI cuando queremos que la adaptación de los componentes de Velneo sea distinta al escalado que esté configurado en el sistema operativo o cuando trabajemos con más de una pantalla y con distintos valores.
Son estas:
QT_AUTO_SCREEN_SCALE_FACTOR [boolean]: habilita el escalado automático, basado en la densidad de píxels del monitor. Esto no cambiará el tamaño de las fuentes con tamaño en puntos, ya que el punto es una unidad física de medida. Múltiples pantallas podrán tener diferentes factures de escala. Su valor por defecto es true, lo que quiere decir que se va a aplicar ese valor de escala en función de la pantalla.
En el caso de asignarle un valor false simplemente no se aplicará ningún factor de escala.
En el caso de que queramos definir manualmente el factor de escala, además de establecer el valor false a esta variable y configurar alguna de las dos variables de entorno siguientes:
QT_SCALE_FACTOR [numeric]: define una escala global para toda la aplicación, incluyendo las fuentes con tamaño en puntos.
QT_SCREEN_SCALE_FACTORS [list]: permite especificar los factores de escala para cada pantalla. Esto no cambiará el tamaño de las fuentes con tamaño en puntos. En la lista de pantallas el formato podrá ser, o bien un punto y coma separando los factores de escala o parejas de nombres y valores.
Ejemplo: un ordenador con 4 pantallas, en las que estableceremos distintos factores de escala:
QT_SCREEN_SCALE_FACTORS = 1;2;2;1.5
Ejemplo: un ordenador con 3 pantallas, en las que estableceremos distintos factores de escala:
QT_SCREEN_SCALE_FACTORS = pantalla1=1;pantalla2=2;pantalla3=1.5
Para Velneo vClient: en el caso de Linux, la adaptación requiere configurar manualmente el valor de las variables de sistema operativo QT_AUTO_SCREEN_SCALE_FACTOR=false y QT_SCALE_FACTOR o QT_SCREEN_SCALE_FACTORS con el valor que deban tener.
Dibujos
En los dibujos o campos objeto dibujo, en la propiedad aspecto de dibujo recomendamos usar siempre el valor proporcionar o proporcionar sin ampliar, para que éstos se vean correctamente, nunca la propiedad tamaño original.
Así mismo, recomendamos usar del doble de tamaño del sitio donde vayan a ir para soportar highdpi con ratio 2, o más para ratios mayores, tanto en Velneo como en QML.