AT&T Home | AT&T Labs | Research
AT&T Labs, Inc. - Research

The Yoix® Scripting Language

Home | What's New | Grammar | Documentation | Download | License | YChart | YDAT | YWAIT | Byzgraf | FAQs
Screen typedict
 
A Screen is an object that describes a monitor that is connected to the user's system. It was introduced in release 2.3.1 as part of our support for multiple monitors, and at that time it replaced the VM.screen dictionary that all previous Yoix applications used when they wanted access to the one monitor that the Yoix interpreter supported. Fields in that dictionary were preserved so existing applications can run without any modifications, but that means that some information is duplicated (e.g., width, height, and bounds).

Yoix applications rarely create Screen objects, but instead use they usually use predefined screens that are defined in VM and interact with them by reading or writing the following fields:
background The Color used as a Swing or AWT component's background when that component does not explicitly or implicitly pick the color for itself. Reading returns a snapshot of the color. All Screen objects share this field, so changing the value in any screen (e.g., VM.screens[0]) automatically updates the value stored in every screen.
bounds A Rectangle that represents the location and dimensions of this screen in the virtualbounds rectangle using a coordinate system that has its origin at the upper left corner of that rectangle and uses 72 units per inch to measure its width and height. Reading returns a snapshot of the rectangle. Writing is not allowed and will result in an invalidaccess error.
defaultmatrix A Matrix that describes the default Yoix coordinate system, which has its origin in the upper left corner of an object (e.g., a Canvas, Frame, Image, JFrame, or your entire screen), positive x to the right, positive y down, and a resolution of 72 dots per inch. All Screen objects share this field. Reading returns a snapshot of the matrix. Writing is not allowed and will result in an invalidaccess error.
diagonal A read-only double that is the length, measured in inches, of this screen's diagonal. The value of the default screen's diagonal can be set using the -D or --diagonal command line option.
doublebuffered An Object that should be NULL (the default) or an int and is used to decide how the corresponding field in a Swing component is initialized when the field is not explicitly set by that Swing component. A non-zero value enables double buffering and a zero value disables it whenever a Swing component does not have a preference. The default value, which is NULL, means use whatever Java decides is the best default value for each component. All Screen objects share this field, so changing the value in any screen (e.g., VM.screens[0]) automatically updates the value stored in every screen.
font A String that is the name of the font used by any Swing or AWT component that does not explicitly or implicitly pick its own font. Right now the Yoix interpreter's font machinery does not use this field to set the font in a component, like a Button, JButton, or JLabel, until that component is installed in a top level container, like a Frame, JFrame, or JWindow. Reading returns a snapshot of the font. All Screen objects share this field, so changing the value in any screen (e.g., VM.screens[0]) automatically updates the value stored in every screen.
foreground The Color used as a Swing or AWT component's foreground when that component does not explicitly or implicitly pick the color for itself. Reading returns a snapshot of the color. All Screen objects share this field, so changing the value in any screen (e.g., VM.screens[0]) automatically updates the value stored in every screen.
fullscreensupported A read-only int that is non-zero if the system supports full-screen exclusive mode and zero if it does not. Full-screen exclusive mode, when supported, means the full-screen window (there can only be one at a time) completely covers the screen and implies low level graphics device changes that can improve painting performance. If full-screen exclusive mode is not supported it is automatically simulated (by Java) whenever a screen (e.g., a JFrame, JDialog, or JWindow) has its fullscreen set to a non-zero value. Simulated full-screen exclusive mode leaves much to be desired and Java documentation about it suggests that applications may be better off simulating it on their own in normal "windowed" mode.
headless A read-only int that is zero when the graphics environment supports a monitor, keyboard, and mouse and non-zero when it does not. All Screen objects share this field.
height A read-only double that is the height of this screen in units of 72 per inch, which is the same value stored in the height field in the bounds rectangle.
id A read-only String generated by the Java Virtual Machine that identifies this screen.
index An int that is the index of this screen in the VM.screens array. The default monitor always has 0 for its index. The value can be set when the screen is declared, but after that any change will result in an invalidaccess error. A negative index is replaced by 0 and an index that is too big is replaced by an index that references the last element in the VM.screens array.
insets An Insets that accounts for objects that are displayed by the native windowing system on this screen, like menu or task bars, with all distances given in units of 72 per inch. You may have to use Java 1.7 to get the correct insets on some operating systems (e.g., Linux). Reading returns a snapshot of the insets. Writing is not allowed and will result in an invalidaccess error.
pixelheight A read-only double that is the height of a pixel on this screen in units of 72 per inch.
pixelwidth A read-only double that is the width of a pixel on this screen in units of 72 per inch.
resolution A read-only double with a value of 72 that represents the number of units per inch in the default Yoix coordinate system.
uimanager A UIManager that can be used to access and manage the look-and-feel of Swing components. There is nothing special about uimanager except for the fact that it is always available. Reading returns a snapshot of the uimanager. Writing is not allowed and will result in an invalidaccess error.
virtualbounds A Rectangle that covers all monitors that are attached to the system in a coordinate system that has its origin at this screen's upper left corner and uses 72 units per inch to measure its width and height. Reading returns a snapshot of the rectangle. Writing is not allowed and will result in an invalidaccess error.
width A read-only double that is the width of this screen in units of 72 per inch, which is the same value stored in the width field in the bounds rectangle.
 
 See Also:   VM

 

Yoix is a registered trademark of AT&T Inc.