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