2013-08-31 34 views
8

我一直在玩SDL 2.0,但搜索後我還沒有找到任何關於如何支持視網膜mac的信息。使用以下代碼創建窗口時。SDL 2.0視網膜mac

gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, 
      SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN); 

它創建一個具有1000 * 1000的實際大小這是不是一個真正的問題,因爲它的應用程序應該如何使用hidpi屏幕工作的窗口。但是,當加載圖像時,我似乎無法找到加載圖像的方式,這些圖像的大小是視網膜屏幕的2倍,而且圖像總是看起來模糊不清。

回答

13

當前版本的SDL2支持視網膜。

要創建視網膜窗口,請將標記SDL_WINDOW_ALLOW_HIGHDPI傳遞到SDL_CreateWindow()

調整大小事件後,您可以使用API​​調用SDL_GL_GetDrawableSize()檢查實際的緩衝區分辨率。

0

目前,SDL不支持Mac上的視網膜顯示(或Windows機器上的高DPI顯示)。

有一個關於如何最好地添加這些功能的討論,並在SDL的bug跟蹤系統,這裏的幾個原型補丁:https://bugzilla.libsdl.org/show_bug.cgi?id=1934

想必我們將在以後的SDL2釋放見官方視網膜支持。或者,如果您願意編譯自己的SDL庫,那些補丁可爲我工作。

相關問題