======**sqInt ioScreenSize(void)**====== **Parms**: NONE **return**: (w < < 16) | (h & 0xFFFF); /* w Width is high 16 bits; h height is low 16 bits */ **From**: Interpreter **Why**: To get size of screen. However this really is the size of the display surface within the operating system window. Not the size of the physical screen. **Responsibility**: Get the saved window size If there is no screen by default it returns ((16 < < 16) | 16), or some other number. **MacIntosh** //os-9/OSXCarbon// Handle case of being tied to a browser window, since we must report the browser's frame size that contains the squeak window. If there is no window set, and the user must not explicitly open the window (global in info.plist) , then make the new window. if the user has to explicitly open a window, then return the saved window size from the image data. //Cocoa:// Same logic as the iPhone, we get the bounds of the mainView which is attached to window with index of 1. **iPhone** The iPhone currently supports only one window, the screen size is the bounds of the mainView which could be the size of the device minus the status bar, or the size of a scrolling window view if the vm is configured to use a scrolling view, which usually is 2x the device screens size. **Unix** Asks the diplay logic for the size of the window, or returns ((64 < < 16) | 64) if headless **Windows** returns the GetClientRect of the browser or native window, if iconified then return size remembered from last call. **BUGS** For multiple host windows we infer which window based on which window is active. Obviously you need to use the proper primitive to get the window size, not the screen size