SDL ListModes: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
 
K (Tippfehler)
 
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{deprecated|SDL2|SDL_GetDisplayMode|SDL_GetNumDisplayModes}}
 
= SDL_ListModes =
 
= SDL_ListModes =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
'''SDL_ListModes''' - Gibt einen Pointer auf ein Array alles möglichen Modi zurück
+
'''SDL_ListModes''' - Gibt einen Pointer auf ein Array aller möglichen Modi zurück
  
<br>
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  function '''SDL_ListModes'''(''format'': PSDL_PixelFormat; ''flags'': UInt32): PPSDL_Rect;
 
  function '''SDL_ListModes'''(''format'': PSDL_PixelFormat; ''flags'': UInt32): PPSDL_Rect;
  
<br>
+
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 21: Zeile 23:
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Zeile 27: Zeile 30:
 
Array ist sortiert von Grösster zur Kleinsten.
 
Array ist sortiert von Grösster zur Kleinsten.
  
<br>
+
 
 +
 
 
== Hinweise ==
 
== Hinweise ==
 
Wenn ''format''='''nil''' ist, wird das Format aus [[SDL_GetVideoInfo]] genommen.
 
Wenn ''format''='''nil''' ist, wird das Format aus [[SDL_GetVideoInfo]] genommen.
  
<br>
 
  
== Zugehörige Wertrückgaben ==
+
 
 +
 
 +
== Rückgabewert ==
 
'''nil''' wenn nichts passendes gefunden wurde. -1 wenn alle Auflösungen zutreffen.
 
'''nil''' wenn nichts passendes gefunden wurde. -1 wenn alle Auflösungen zutreffen.
  
<br>
+
 
 +
 
  
 
== Beispiel ==
 
== Beispiel ==
<pascal>var modes : PPSDL_Rect;
+
<source lang="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 53:
 
   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;</source>
  .
 
  .
 
end;</pascal>
 
 
 
  
 
== Siehe auch ==
 
== Siehe auch ==

Aktuelle Version vom 21. August 2013, 11:06 Uhr

Info DGL.png Diese Funktion wurde in SDL2 durch SDL_GetDisplayMode und SDL_GetNumDisplayModes ersetzt

SDL_ListModes

Name

SDL_ListModes - Gibt einen Pointer auf ein Array aller 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.



Rückgabewert

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