Aktivieren Sie JavaScript, um die Website anzuzeigen.

FALCON/EAGLE-Benutzerhandbuch 4.62

Syntax

INT is_SetDisplayMode (HIDS hf, INT Mode)

Beschreibung:

is_SetDisplayMode() bestimmt auf welche Art die Bilder auf dem Bildschirm dargestellt werden. Für echtes Live-Video plus Overlay wurde der DirectDraw Overlay-Surface-Modus eingeführt. Die Verfügbarkeit dieses Modus ist abhängig von der verwendeten VGA-Karte. Nur bestimmte VGA Controller unterstützen diesen Modus. Bekannt sind z.Zt.: S3 Virge VX (eingeschränkt), S3 Virge DX/GX/GX2 und der 3D RagePro Chip. Verwendet werden kann dieser Overlay-Modus mit diesen VGA-Chips im 8-,15- und 16-Bit VGA Modus. True Color (24Bit) wird nicht unterstützt. Im 8-Bit VGA-Modus muss der Farbmodus auf RGB15 eingestellt werden!

Der Speicherausbau der VGA-Karte sollte 4MB betragen, da der Overlay-Modus einen Speicherplatz bis zur Größe der aktuellen VGA-Auflösung für sich benötigt.

Beispiel: VGA mit 1024x768x16 = 1,5 MB -> Overlay-Buffer bis zu 1,5 MB (erfordert VGA-Karte mit 4MB)

Bei einer VGA-Auflösung 640x480 muss vor dem Einschalten eines DirectDraw-Modus die Bildgröße auf 640x480 Pixel beschränkt werden. Hierzu dient die Funktion is_SetImageSize().

Beispiel

is_SetDisplayMode (hf, Mode);

Bitmap-Modus (in Systemspeicher digitalisieren):
Mode = IS_SET_DM_DIB

DirectDraw Back-Buffer-Modus (Overlay möglich, siehe is_EnableDDOverlay()):
Mode = IS_SET_DM_DIRECTDRAW

Direct3D-Modus (Overlay möglich, siehe is_DirecRenderer()):
Mode = IS_SET_DM_DIRECT3D

Um Speicherauslagerung in den Systemspeicher zu erlauben:
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_SYSMEM

DirectDraw Primary-Surface-Modus (kein Overlay möglich):
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_PRIMARY

DirectDraw Overlay-Surface-Modus (bestes Live-Overlay):
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY

Um ein automatisches Skalieren auf die Fenstergröße zu erlauben:
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY | IS_SET_DM_ALLOW_SCALING

bzw. um den Interlaced Effekt bei y<288 zu verhindern:
Mode = IS_SET_DM_DIRECTDRAW | IS_SET_DM_ALLOW_OVERLAY | IS_SET_DM_ALLOW_SCALING | IS_SET_DM_ALLOW_FIELDSKIP

Andere Kombinationen für Mode sind ungültig!

Übergabeparameter

hf

Handle auf Frame Grabber

Mode

 

1
IS_SET_DM_DIB

Bild in Systemspeicher erfassen

(keine automatische Darstellung!)

2
IS_SET_DM_DIRECTDRAW

DirectDraw Modus (Back-Buffer Modus)

IS_SET_DM_DIRECT3D

Direct3D Modus

DirectDraw Back-Buffer-Erweiterung

 

0x40
IS_SET_DM_ALLOW_SYSMEM

DirectDraw-Buffer kann im PC angelegt werden, wenn VGA-Speicher nicht ausreicht

DirectDraw Primary-Surface-Erweiterung

 

0x80
IS_SET_DM_ALLOW_PRIMARY

Primary-Surface-Modus

(kein Overlay möglich)

DirectDraw Overlay-Surface-Erweiterung

 

0x100
IS_SET_DM_ALLOW_OVERLAY

Overlay-Surface-Modus

0x200
IS_SET_DM_ALLOW_SCALING

Echtzeit-Skalierung im Overlay-Surface-Modus

0x400
IS_SET_DM_ALLOW_FIELDSKIP

Field-Darstellung bei ysize ≤ PAL/2 (288)

Rücklesemodus

 

0x8000
IS_GET_DISPLAY_MODE

Rücklesen der aktuellen Einstellung

Rückgabewert

In Verbindung mit

IS_GET_DISPLAY_MODE

Aktuelle Einstellung

IS_SUCCESS

Allgemeine Erfolgsmeldung

IS_NO_SUCCESS

Allgemeine Fehlermeldung

IS_DR_LIBRARY_NOT_FOUND

Die DirectRenderer-Bibliothek konnte nicht gefunden werden.

IS_DR_DEVICE_OUT_OF_MEMORY

Nicht genügend Grafikspeicher verfügbar.

IS_DR_CANNOT_CREATE_SURFACE

Bild- oder Overlay-Surface konnten nicht angelegt werden.

IS_DR_CANNOT_CREATE_VERTEX_BUFFER

Der Vertex-Puffer konnte nicht angelegt werden.

IS_DR_CANNOT_CREATE_TEXTURE

Die Textur konnte nicht angelegt werden.

IS_DR_CANNOT_LOCK_OVERLAY_SURFACE

Das Overlay-Surface konnte nicht gesperrt werden.

IS_DR_CANNOT_UNLOCK_OVERLAY_SURFACE

Das Overlay-Surface konnte nicht entsperrt werden.

IS_DR_CANNOT_GET_OVERLAY_DC

Das Device-Context-Handle für das Overlay konnte nicht freigegeben werden.

IS_DR_CANNOT_RELEASE_OVERLAY_DC

Das Overlay-Surface konnte nicht freigegeben werden.

IS_DR_DEVICE_CAPS_INSUFFICIENT

Die Funktion wird von der Grafikhardware nicht unterstützt.

IS_DR_SURFACE_LOST

Das Overlay-Surface wurde verloren und musste neu erzeugt werden.

IS_DR_CANNOT_LOCK_IMAGE_SURFACE

Das Bild-Surface konnte nicht gesperrt werden.

IS_DR_CANNOT_UNLOCK_IMAGE_SURFACE

Das Bild-Surface konnte nicht entsperrt werden.