$Revision: 5.0.2.4 $
*system*
The goal for Common Graphics and the Development Environment is to have a single global variable called *system*. The global variable, *system*, is an instance of the system or development-system class.
All slots and other global information, are added as properties of *system*. That way, you can assess and change anything about the global state using the inspector.
The system object is a hierarchical object. Stored in a slot of the system object is a configuration object. The configuration object is used to store all options that will be saved and restored in the preferences file. Not all configuration options are displayed in the Tools | Options dialog but the commonly used ones are offered.
Like the system and development-system classes, there are configuration and development-configuration classes. The configuration class is used for Common Graphics and some Common Lisp configuration options. The development-configuration is used for the Development Environment configuration options.
All slots and configuration information should also be properties of the configuration class so that you can assess and change them using the inspector. Only properties are saved to the preferences file.
The app slot of the system object holds an instance of the app class. The app object holds Windows application information such as current program, command line options, hinst, wndow-proc-address, etc. This object is analogous to the app object offered by Visual Basic.
To start Common Graphics or the Development Environment, run the function cg:start-ide. System start up runs through the following steps:
Exiting the system causes similar process to occur.
After a dumplisp, the *system* variable remains bound. That way, all global state and configuration is saved in the new dxl. When the system is started after a dumplisp, reinitialize-system is called to clean up the values stored in *system*.
The slot cached-pixmaps on the *system* object holds a set of pixmaps. cached-pixmaps replaces *loaded-pixmaps*. The value of cached-pixmaps is a list of pixmap instances, but the interface does not require you to know that.
| Functions That Work with cached-pixmaps | |
| cached-pixmaps (pixmap) | Adds a pixmap to the cached pixmaps. |
| find-cached-pixmap (name) | Returns the cached pixmap based on its name or handle. If not already created, then creates the handle. |
| remove-cached-pixmap (name) | Removes the specified pixmap from the cache and destroys the handle. |
| invalidate-cached-pixmap (name) | Destroys the handle and pixmap so that it is reread from the .bmp file. |
| copy-to-stream (pixmap stream from-box to-box &optional mode) | Draws cached-pixmap
to stream. Similar to copy-pixels-to-stream when working with pixmaps |
In v. 3.0.2 there were several global variables related to pre-defined pixmaps. These have been replaced by zero argument functions that use find-cached-pixmap, such as default-leaf-pixmap.
|
|
The slot, cached-cursors, on the *system* object holds a set of cursors. A cached-cursors object has a name, cursor structure object, and a cursor-handle. The name of a cached-cursor is a symbol (not a string like cached-pixmaps) that should be unique among the set of cached-cursors.
| Functions that Work with cached-cursors. | |
| add-cached-cursor (name hot-spot pixmap mask &optional handle) | Adds a cursor description to the cached cursors.
|
| find-cached-cursor (name) | Returns the cached cursor based on its name or handle. If not already created, then creates the handle. |
| remove-cached-cursor (name) | Removes the specified cursor from the cache and destroys the handle |
There were global variables related to
pre-defined cursors. These have been replaced by zero argument functions that use find-cached-cursor, such as vertical-splitbar-cursor.
|
|
Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.