Virtueller Screen Support

Ein virtueller Bildschirm mittels einer Ausstellungsfläche größer als die physische Größe des Displays. Es erfordert zusätzlichen Speicher und ermöglicht sofortige Umschalten zwischen verschiedenen Bildschirmen sogar auf langsamen CPUs. Wenn eine virtuelle Ausstellungsfläche ist so konfiguriert, kann der sichtbare Teil des Displays, indem die Herkunft verändert werden.

Der uC / GUI virtuellen Bildschirm-Unterstützung kann für Panning oder zum Umschalten zwischen verschiedenen Video-Seiten verwendet werden.

Panning

Wenn die Anwendung einen Bildschirm, der größer als das Display ist, kann der virtuelle Bildschirm-API-Funktionen verwendet werden, um den gewünschten Bereich sichtbar werden.

Virtual Seiten

Virtuelle Seiten sind eine Möglichkeit, die Display-RAM als mehrere Seiten zu verwenden. Wenn eine Anwendung beispielsweise braucht 3 verschiedene Bildschirme, kann jedes Bild seine eigene Seite im Display RAM zu verwenden. In diesem Fall kann die Anwendung zeichnen die zweite und die dritte Seite, bevor sie verwendet werden. Danach kann die Applikation sehr schnell zwischen den verschiedenen Seiten mit dem uC / GUI virtuellen Bildschirm-API-Funktionen. Die einzige Sache, die Funktionen zu tun haben, ist die richtige Einstellung Display zeigt Startadresse für den gewünschten Bildschirm. In diesem Fall wird die virtuelle Y-Größe in der Regel ein Vielfaches der Display-Größe in Y.

Bedarf

Der virtuelle Bildschirm Feature erfordert Hardware mit mehr RAM als Display für einen einzigen Bildschirm und die Fähigkeit der Hardware, um die Startposition der Bildschirmausgabe Änderung erforderlich.

Video RAM
Das verwendete Display-Controller-Video-RAM sollte für den virtuellen Bereich zu unterstützen. Beispiels-weise, wenn das Display hat eine Auflösung von 320x240 und einer Farbtiefe von 16 Bit pro Pixel und 2 Bildschirme unterstützt werden sollte, kann die erforderliche Größe des Video-RAM wie folgt berechnet: Size = LCD_XSIZE * * LCD_YSIZE LCD_BITSPERPIXEL / 8 * NUM_SCREENS Size = 320 x 240 x 16 / 8 x 2 Size = 307.200 Bytes

Konfigurierbare Anzeige Startposition
Das verwendete Display-Controller braucht eine konfigurierbare Anzeige Startposition. Damit ist das Display-Treiber hat sogar ein Register für die Einstellung der Display-Startadresse oder sie hat einen Befehl an den oberen linken Ecke des Displays Startposition gesetzt.

Konfigurationsoptionen
Der virtuelle Bildschirm Support Konfiguration sollte in der Datei LCDConf.h getan werden. Die Tabelle unten zeigt alle verfügbaren Konfigurationsoptionen: Typ Macro Standard Beschreibung
F LCD_SET_ORG --- Makro verwendet, um die Anzeige Startposition der linken oberen Ecke gesetzt.
N LCD_VXSIZE LCD_XSIZE Horizontale Auflösung der virtuellen Darstellung.
N LCD_VYSIZE LCD_YSIZE Vertikale Auflösung der virtuellen Darstellung.

LCD_SET_ORG

Beschreibung
Dieses Makro wird durch die Display-Treiber verwendet, um die Anzeige zu starten Position der oberen linken Ecke des Displays eingestellt.

Typ
Funktion ersetzt werden.

Prototyp

# Define LCD_SET_ORG (x, y)
Parameter Bedeutung
x X-Position des sichtbaren Bereichs.
Y Y-Position des sichtbaren Bereichs.

Beispiel

# Define LCD_SET_ORG (x, y) SetDisplayOrigin (x, y) / * Aufruf zur Einstellung der Display Startposition * /

LCD_VXSIZE, LCD_VYSIZE
Beschreibung

Die virtuelle Bildschirmgröße wird von den Makros konfiguriert LCD_VXSIZE und LCD_VYSIZE. LCD_VXSIZE sollte immer> LCD_XSIZE und LCD_VYSIZE sein sollte> LCD_YSIZE werden. Wenn eine virtuelle Umgebung ist so konfiguriert, der uC / GUI Clipping-Bereich hängt von dem virtuellen Bildschirm und nicht auf die Display-Größe. Drawing Operationen außerhalb des LCD_XSIZE und LCD_YSIZE aber innerhalb der virtuellen Bildschirm durchgeführt werden.

Typ

Numerische Werte.

Beispielkonfiguration

Der folgende Auszug der Datei LCDConf.h, wie uC / GUI für den Einsatz einer virtuellen Fläche von 640x480 Pixel auf einem QVGA-Display mit 320x240 Pixeln zeigt konfigurieren:

# Define LCD_SET_ORG (x, y) SetDisplayOrigin (x, y) / * Aufruf zur Einstellung der Display Startposition * /
# Define LCD_XSIZE 320 / * X-Auflösung des LCD * /
# Define LCD_YSIZE 240 / * Y-Auflösung von LCD * /
# Define LCD_VXSIZE 640 / * Virtual X-Auflösung * /
# Define LCD_VYSIZE 480 / * Virtual Y-Auflösung * /

Mit virtuellen Bildschirmen

Basic Probe

Das folgende Beispiel zeigt, wie ein virtueller Bildschirm von 128x192 und eine Anzeige von 128x64 für blitzschnelle Umschalten zwischen 3 verschiedenen Bildschirmen nutzen.

Konfiguration

# LCD_XSIZE 128 define
# 64 define LCD_YSIZE
# LCD_VYSIZE 192 define

Anwendung

GUI_SetColor (GUI_RED);
GUI_FillRect (0, 0, 127, 63);
GUI_SetColor (GUI_GREEN);
GUI_FillRect (0, 64, 127, 127);
GUI_SetColor (GUI_BLUE);
GUI_FillRect (0, 127, 127, 191);
GUI_SetColor (GUI_WHITE);
GUI_SetTextMode (GUI_TM_TRANS);
GUI_DispStringAt ("Screen 0", 0, 0);
GUI_DispStringAt ("Screen 1", 0, 64);
GUI_DispStringAt ("Screen 2", 0, 128);
GUI_SetOrg (0, 64); / * Set Herkunft zu 1 * Bildschirm /
GUI_SetOrg (0, 128); / * Set Herkunft zu 2 * Bildschirm /

Ausgang

Die nachstehende Tabelle zeigt die Ausgabe der Anzeige:
Erläuterung Display Output Inhalt der virtuellen Umgebung
Vor der Ausführung GUI_SetOrg (0, 240)

Nach dem Ausführen GUI_SetOrg (0, 240)
Nach dem Ausführen GUI_SetOrg (0, 480)
Advanced Probe mit den Window-Manager
Der uC / GUI Sendung enthält eine Probe, die wie virtuelle Bildschirme in einer Anwendung zeigen. Es kann unter Sample \ GUI \ BASIC_VirtualScreens.c gefunden werden:
Screen 0 Screen 1

Nach einer kurzen Einführung zeigt das Beispiel erstellt 2 Bildschirme auf 2 separate Seiten, wie oben gezeigt. Das erste Bild zeigt einen Dialog, der eine grafische Darstellung von 2 Temperatur-Kurven enthält. Beim Drücken der "Set-Farben 'Taste schaltet die Anwendung sofort auf dem zweiten Bildschirm sogar auf langsamen CPUs. Nach dem Drücken der "OK"-Button der "Adjust Farbe 'Dialog, schaltet die Anwendung wieder zum ersten Bildschirm.
Viewer Screenshot des obigen Beispiels

Wenn Sie den Betrachter beide Bildschirme gleichzeitig angezeigt werden können. Der Screenshot oben zeigt die sichtbare Anzeige auf der linken Seite und die Inhalte des gesamten konfigurierten virtuellen Display-RAM auf der rechten Seite.
Dialog Probe mit den Window-Manager
Hauptbildschirm / Page 0 Hauptbildschirm / Seite 1

Bildschirm-Kalibrierung / Page 2 Über-Bildschirm / Seite 2

Nach einem kurzen Intro-Bildschirm die "Main Screen 'auf dem Display mit Seite 0 angezeigt wird. Nach dem 'Setup' Taste gedrückt wird, die 'Setup' Bildschirm ist auf Seite 1 erstellt. Nach dem Bildschirm erstellt worden ist, macht die Anwendung des Bildschirms sichtbar durch die Umstellung auf Seite 1. Die "Kalibrierung" und der "Über"-Bildschirm verwenden beide Seite 2. Drückt der Benutzer auf eine der Schaltflächen "Calibration" oder "Über" die Anwendung schaltet auf Seite 2 und zeigt den Dialog.
Der Betrachter kann alle Seiten gleichzeitig. Der Screenshot oben zeigt die sichtbare Anzeige auf der linken Seite und der Inhalt der gesamten Schicht (Virtual Display RAM) mit den Seiten 0-2 auf der rechten Seite.

Members Login
username
password
New MemberRegister Here
Newsletter Signup