目次 - API(機能別) - ディスプレイとウィンドウ - SDL_GetDisplayDPI

SDL_GetDisplayDPI

ディスプレイの1インチあたりのドット/ピクセル数を得る

構文

int SDL_GetDisplayDPI(int displayIndex, float* ddpi, float* hdpi, float* vdpi)

引数

displayIndexDPI情報を求めるディスプレイの番号
ddpi斜め方向のDPIを代入するポインタ. NULLも可
hdpi水平方向ののDPIを代入するポインタ. NULLも可
vdpi垂直方向ののDPIを代入するポインタ. NULLも可

戻り値

成功のとき0, 失敗のとき-1を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

斜め, 水平, 垂直DPIは, それぞれ引数をNULLにしないことで求める情報を選択できる.

一般的にこの関数が失敗するのは, DPI情報がないか, displayIndexが範囲外のときである.

注意: このDPIはハードウェアが報告したものである. そして常に信用できるものではない! ほとんどの場合, SDL_GetWindowSize()を使うと物理ピクセル数ではなく論理ピクセル数のウィンドウのサイズが得られ, その後SDL_GL_GetDrawableSize(), SDL_Vulkan_GetDrawableSize(), SDL_Metal_GetDrawableSize(), SDL_GetRendererOutputSize()を使い, 2つの値を比較して実際の拡大率を求める方がよい. SDL3では高DPIについてより一貫性, 信頼性があり明確なものになるように検討している.

バージョン

2.0.4以降

関連項目(関数)

SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetDisplayDPI - SDL Wiki