SDL ListModes: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
 
(Beispiel: funktioniert jetzt :))
Zeile 40: Zeile 40:
 
== Beispiel ==
 
== Beispiel ==
 
<pascal>var modes : PPSDL_Rect;
 
<pascal>var modes : PPSDL_Rect;
    i : integer;
 
 
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!' );
    halt(-1);
 
 
   end;
 
   end;
   // Überprüfung ob die Auflösung beschrenkt ist
+
   // Ü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' );
     for i := 0 to modes[i] - 1 do
+
     repeat
       WriteLn( Format( ' %d x %d', [ modes[i].w, modes[i].h ] ) );
+
       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, 17:55 Uhr

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