Skalierung

Auto-Adjust

Diese Funktionalität wurde von dem Mobile UI auf die anderen UIs ausgeweitet. Ihr Ziel ist es, alle Bedienelemente innerhalb des sichtbaren Bereichs anzuzeigen.

Beim Öffnen eines Panels wird geprüft, ob das Panel im verfügbaren Bereich dargestellt werden kann. Hierbei wird der Skalierungsfaktor berechnet:

Bitte beachten Sie die Unterschiede zwischen den Modulen:

  • Wird ein Panel in einem Toplevel Modul geöffnet, ist das Resultat daraus der gesamte Skalierungsfaktor.
  • Wird das Panel in einem Eingebetteten Modul geöffnet, wird hier noch der Zoomfaktor des Hauptpanels hinzugefügt.

Die resultierende Panelgröße ist dann die gespeicherte Panelgröße mal dem errechneten Gesamtfaktor. Zusätzlich wird die maximale Größe des verfügbaren Bereichs ermittelt (z.B.: Größe des Bildschirms minus Taskbar, Fensterrahmen, Iconbar/Menubar).

Wenn das Panel kein Layout hat und nicht als Vollbildschirm oder in einem Eingebetteten Modul dargestellt wird, kommt die Auto Downscale Funktionalität zur Anwendung:

Wenn das Panel kleiner als der sichtbare Bereich mal dem[ui] autoDownscaleThreshold Faktor ist (mit Default 2, also nicht doppelt so groß wie der sichtbare Bereich) wird das Panel (mit der längeren Seite) in den sichtbaren Bereich eingepasst (verkleinert).

Diese Funktionalität kann zur gänze deaktiviert werden, wenn [ui] autoDownscaleThreshold auf 1 gesetzt wird.

Auto Upscale Funktion:

In einem eingebetteten Modul, oder wenn das Modul-Fenster maximiert oder im Vollbildschirm ist, kann das Panel auch vergrößert werden, wenn der verfügbare Platz größer ist, als das Panel selbst. Dies gilt nicht wenn das Panel ein Layout hat. Es wird auch nur angewendet, wenn das Modul im Modus SCALE_ZOOM (setScaleStyle()) ist. Dies ist bei eingebetteten Modulen die Standardeinstellung, muss aber für VISION Module gesetzt werden.

DPI Scaling

Ziel ist es, das Panel auf allen Geräten physikalisch exakt so groß (z.B. in cm) darzustellen, wie auf dem ursprünglichen Bildschirm, auf dem es zum ersten Mal gezeichnet wurde. Das kann einen Zoomfaktor bewirken der größer aber auch kleiner als 1 sein kann.

Physikalische DPI werden nur bei der Ersterstellung im Panel gespeichert. Wenn diese Speicherung noch nicht erfolgt ist (z.B.: bei älteren Panels) wird 96 DPI angenommen.

Wenn der Unterschied zwischen Ersterstellung und derzeitigem Anzeigebereich größer als das [ui] scalePanelsDPIDeadband ist, wird DPI Scaling angewendet.