SDL ListModes: Unterschied zwischen den Versionen
Aus DGL Wiki
I0n0s (Diskussion | Beiträge) () |
I0n0s (Diskussion | Beiträge) (→Beispiel: funktioniert jetzt :)) |
||
Zeile 40: | Zeile 40: | ||
== Beispiel == | == Beispiel == | ||
<pascal>var modes : PPSDL_Rect; | <pascal>var modes : PPSDL_Rect; | ||
− | |||
begin | begin | ||
− | |||
− | |||
− | |||
// Bekomme mögliche Vollbild/Hardwaremodi | // Bekomme mögliche Vollbild/Hardwaremodi | ||
modes := SDL_ListModes( nil, SDL_FULLSCREEN or SDL_HWSURFACE ); | modes := SDL_ListModes( nil, SDL_FULLSCREEN or SDL_HWSURFACE ); | ||
Zeile 51: | Zeile 47: | ||
begin | begin | ||
WriteLn( 'Kein Modus verfügbar!' ); | WriteLn( 'Kein Modus verfügbar!' ); | ||
− | |||
end; | end; | ||
− | // Überprüfung ob die Auflösung | + | // Überprüfung ob die Auflösung beschränkt ist |
− | if ( modes = PPSDL_Rect(-1) ) then | + | if ( modes = PPSDL_Rect(-1) ) then |
begin | begin | ||
WriteLn( 'Alle Auflösungen möglich.' ); | WriteLn( 'Alle Auflösungen möglich.' ); | ||
end | end | ||
else | else | ||
− | begin | + | begin |
// Ausgabe der möglichen Modi | // Ausgabe der möglichen Modi | ||
WriteLn( 'mögliche Modi' ); | WriteLn( 'mögliche Modi' ); | ||
− | + | repeat | |
− | WriteLn | + | WriteLn( 'Auflösung: w: '+InttoStr((modes^)^.w)+' h: '+InttoStr((modes^)^.h)); |
+ | Inc(modes); | ||
+ | //Überprüfung auf den nil-Pointer | ||
+ | until (modes^)=nil; | ||
end; | end; | ||
− | |||
− | |||
− | |||
end;</pascal> | end;</pascal> | ||
− | |||
== Siehe auch == | == Siehe auch == |
Version vom 9. Oktober 2005, 16:55 Uhr
Inhaltsverzeichnis
SDL_ListModes
Name
SDL_ListModes - Gibt einen Pointer auf ein Array alles möglichen Modi zurück
Delphi-Spezifikation
function SDL_ListModes(format: PSDL_PixelFormat; flags: UInt32): PPSDL_Rect;
Parameter
format | Siehe SDL_PixelFormat |
---|---|
flags | Siehe SDL_SetVideoMode |
Beschreibung
Gibt einen Pointer auf ein Array mit verfügbaren Monitorauflösungen für das übergebene format und flags. Array ist sortiert von Grösster zur Kleinsten.
Hinweise
Wenn format=nil ist, wird das Format aus SDL_GetVideoInfo genommen.
Zugehörige Wertrückgaben
nil wenn nichts passendes gefunden wurde. -1 wenn alle Auflösungen zutreffen.
Beispiel
var modes : PPSDL_Rect; begin // Bekomme mögliche Vollbild/Hardwaremodi modes := SDL_ListModes( nil, SDL_FULLSCREEN or SDL_HWSURFACE ); // Überprüfung ob es mögliche Modi gibt if (modes = PPSDL_Rect( 0 ) ) then begin WriteLn( 'Kein Modus verfügbar!' ); end; // Überprüfung ob die Auflösung beschränkt ist if ( modes = PPSDL_Rect(-1) ) then begin WriteLn( 'Alle Auflösungen möglich.' ); end else begin // Ausgabe der möglichen Modi WriteLn( 'mögliche Modi' ); repeat WriteLn( 'Auflösung: w: '+InttoStr((modes^)^.w)+' h: '+InttoStr((modes^)^.h)); Inc(modes); //Überprüfung auf den nil-Pointer until (modes^)=nil; end; end;
Siehe auch
SDL_SetVideoMode, SDL_GetVideoInfo, SDL_Rect, SDL_PixelFormat