Wiki source for ioSetDisplayMode
======**sqInt ioSetDisplayMode( sqInt width, sqInt height, sqInt depth, sqInt fullscreenFlag) **======
**Parms**:
width pixels wide
height pixels high
dept depth of pixel 1,2,4,8,16,32
**return**: 1 or 0, to return true or false object
**From**: Interpreter
**Why**:
Set the pixel depth, and extent for the display
**Responsibility**:
Sometimes a game developer wants to set a particular screen size (640x480) and color depth 8 bit.
This optional api attempts to ask the operating system to modify the display mode.
**MacIntosh**
//os-9/OSXCarbon//
If headless or browser drawing context isn't ok then fail
Get the dominate screen for the squeak window, then attempt to set the display mode following Apples rules for CGDisplayBestModeForParameters:
This function tries to find an optimal display mode for the specified display. The function first tries to find a mode with the specified pixel depth and dimensions equal to or greater than the specified width and height. If no depth match is found, it tries to find a mode with greater depth and the same or greater dimensions. If a suitable display mode is not found, this function simply returns the current display mode.
After this we attempt to set the display to the best mode, if failure return 0
Then call ioSetFullScreen and return 1
We note that os-x will restore the display back to the setting in the display control panel when Squeak terminates
//Cocoa://
Got funding?
**iPhone**
not supported, return 0 (false)
**Unix**
Not supported, fprintf to syserr and return 0 (false)
**Windows**
Not supported for _WIN32_WCE.
Attempt to set the DirectXSetDisplayMode watch out for being in a browser window
if headless or it fails then return 0
then call ioSetFullScreen
then return 1
**BUGS**
macintosh on failure to find the exact match for mode is not an error, but it is on windows.
On macintosh if QDGetCGDirectDisplayID does not exist the function causes a recursive call
**Parms**:
width pixels wide
height pixels high
dept depth of pixel 1,2,4,8,16,32
**return**: 1 or 0, to return true or false object
**From**: Interpreter
**Why**:
Set the pixel depth, and extent for the display
**Responsibility**:
Sometimes a game developer wants to set a particular screen size (640x480) and color depth 8 bit.
This optional api attempts to ask the operating system to modify the display mode.
**MacIntosh**
//os-9/OSXCarbon//
If headless or browser drawing context isn't ok then fail
Get the dominate screen for the squeak window, then attempt to set the display mode following Apples rules for CGDisplayBestModeForParameters:
This function tries to find an optimal display mode for the specified display. The function first tries to find a mode with the specified pixel depth and dimensions equal to or greater than the specified width and height. If no depth match is found, it tries to find a mode with greater depth and the same or greater dimensions. If a suitable display mode is not found, this function simply returns the current display mode.
After this we attempt to set the display to the best mode, if failure return 0
Then call ioSetFullScreen and return 1
We note that os-x will restore the display back to the setting in the display control panel when Squeak terminates
//Cocoa://
Got funding?
**iPhone**
not supported, return 0 (false)
**Unix**
Not supported, fprintf to syserr and return 0 (false)
**Windows**
Not supported for _WIN32_WCE.
Attempt to set the DirectXSetDisplayMode watch out for being in a browser window
if headless or it fails then return 0
then call ioSetFullScreen
then return 1
**BUGS**
macintosh on failure to find the exact match for mode is not an error, but it is on windows.
On macintosh if QDGetCGDirectDisplayID does not exist the function causes a recursive call