SDL_PropertiesID SDL_GetDisplayProperties(SDL_DisplayID displayID);
| SDL_DisplayID | displayID | 問い合わせるディスプレイ |
SDLから次の読取専用プロパティが提供されている:
KMS/DRMの場合:
On Waylandの場合:
この関数を呼べるのはメインスレッドのみである.
// サンプルプログラム:
// SDL3でディスプレイのHDRが有効かをチェックする
#include <SDL3/SDL_log.h>
#include <SDL3/SDL_main.h>
#include <SDL3/SDL_stdinc.h>
#include <SDL3/SDL_video.h>
int
main(int argc, char** argv)
{
if (!SDL_Init(SDL_INIT_VIDEO)) {
SDL_Log("SDLの初期化に失敗した: %s", SDL_GetError());
return 0;
}
SDL_Log("SDL初期化");
int num_displays;
SDL_DisplayID *displays = SDL_GetDisplays(&num_displays);
for(int i = 0; i < num_displays; i++) {
SDL_PropertiesID prop_id = SDL_GetDisplayProperties(displays[i]);
if(!SDL_GetBooleanProperty(prop_id, SDL_PROP_DISPLAY_HDR_ENABLED_BOOLEAN, false)) {
SDL_Log("ディスプレイID %"SDL_PRIu32 " には有効なHDRが存在しない", displays[i]);
} else {
SDL_Log("ディスプレイID %"SDL_PRIu32 " のHDRは有効.", displays[i]);
}
}
SDL_free(displays);
return 0;
}