Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_GetClosestDisplayMode

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_GetClosestDisplayMode

Użyj tej funkcji, aby uzyskać najbliższe dopasowanie z zażądanym trybem wyświetlania.

Składnia

SDL_DisplayMode* SDL_GetClosestDisplayMode(int                    displayIndex,
                                           const SDL_DisplayMode* mode,
                                           SDL_DisplayMode*       closest)

Parametry funkcji

displayIndex indeks wyświetlacza do sprawdzenia.
mode struktura SDL_DisplayMode zawierająca pożądany tryb wyświetlania.
closest struktura SDL_DisplayMode wypełniana najbliższym trybem wyświetlania o najlepszej zgodności z pożądanym.

Wartość zwracana

Zwraca wskaźnik struktury przekazany w parametrze closest lub NULL, jeśli nie ma pasującego do wymagań trybu wideo; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

// Użycie SDL_GetClosestDisplayMode()w SDL

#include "SDL.h"
#include <stdio.h>

int main(int argc, char* argv[])
{

  // Deklaracja struktur do wypełnienia.
  SDL_DisplayMode target, closest;

  SDL_Init(SDL_INIT_VIDEO);

  // Ustaw pożądaną rozdzielczość, itp.
  target.w = 600;
  target.h = 500;
  target.format = 0;  // tym się nie przejmujemy
  target.refresh_rate = 0; // tym się nie przejmujemy
  target.driverdata   = 0; // ustaw na 0
  printf("Requesting: \t%dx%dpx @ %dhz \n", target.w, target.h, target.refresh_rate);

  // Przekaż przez referencję struktury trybu wyświetlania do SDL_GetClosestDisplay
  // i sprawdź, czy wynik nie jest wskaźnikiem zerowym.
  if (SDL_GetClosestDisplayMode(0, &target, &closest) == NULL)

    // Jeśli zwrócony wskaźnik ma wartość NULL, to nie znaleziono dopasowania.
    printf("\nNo suitable display mode was found!\n\n");

  else
    // W przeciwnym razie dostępny jest tryb wideo bliski pożądanemu.
    // Przejrzyj strukturę SDL_DisplayMode, aby sprawdzić, co dostałeś.
    printf("  Received: \t%dx%dpx @ %dhz \n", closest.w, closest.h, closest.refresh_rate);

  // Posprzątaj i wyjdź z programu.
  SDL_Quit();
  return 0;

}

Uwagi

Dostępne tryby wyświetlania są przeglądane i najbliższy z pożądanym zostaje umieszczony w przekazanej funkcji strukturze. Format trybu oraz częstotliwość odświeżania są standardowo ustawiane na wartości trybu pulpitu, jeśli ustawiono je na 0. Tryby są przeglądane z priorytetem rozmiaru ekranu jako pierwszym, następnie z priorytetem formatu jako drugim, a na koniec sprawdzana jest częstotliwość odświeżania. Jeśli wszystkie dostępne tryby są zbyt małe, zwracana jest wartość NULL.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.