SDL 2.0.3 創建超過屏幕分辨率大小的窗口.


本想通過 SDL_CreateWindow 創建一個 超大窗口(2000,800). 按原比例顯示一張圖片. 但是一旦設置寬度或高度超過屏幕分辨率.就參數無效,變成屏幕大小窗口.


通過跟蹤SDL 代碼: SDL_windowswindow.c SetupWindowData函數中有如下代碼:

	
/* We tried to create a window larger than the desktop and Windows didn't allow it.  Override! */
WIN_SetWindowPositionInternal(_this, window, SWP_NOCOPYBITS | SWP_NOZORDER | SWP_NOACTIVATE );


註釋希望 生成一個大窗口但是 其實這個函數沒有達到目的:. 修改如下:


WIN_SetWindowPositionInternal(_this, window, SWP_NOCOPYBITS | SWP_NOZORDER | SWP_NOACTIVATE );


一旦通過這個方法修改:

此時系統所以調用 WIN_SetWindowPositionInternal的函數都要修改,否則還是無效, 類似:

SDL_SetWindowSize(screen, 2000, 800);   調用導致無效.

通過下載最新的SDL 2.0.4 發現這裏還是未做修改,不知是否是個bug.

參考;

http://stackoverflow.com/questions/445893/create-window-larger-than-desktop-display-resolution





發佈了67 篇原創文章 · 獲贊 21 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章