• Aucun résultat trouvé

system-display operations blackOnWhite

Dans le document TEKTRONIX SMALLTALK (Page 34-41)

Normal video.

cursorOff

Turn off the cursor.

AimSystemCall OS-Interface

cursorOn

Turn on the cursor.

dlsableCursorPannlng

Disables panning when the cursor reaches any viewport boundary.

dlsableJoydlskPannfng

Disables panning with the joydisk.

enableCursorPannfng

Enables panning when the cursor reaches any viewport boundary.

enableJoydfskPannfng

Enables panning with the joydisk.

getDisplayState: buff

Return the 36 word status report of the display system.

getMouseBounds

Get the limits of mouse movement as a rectangle - upper left in DO, lower right in 01.

getVlewport

Return the upper left position of the viewport within the display bitmap.

setMouseBounds: upperXY 10werRight: 10werXY

Set the limits of mouse movement to a rectangle - upper left in 01, lower right in 02.

setVlewport: xyCoord

Set the upper left position of the viewport in the display bitmap.

timeOutOff

Disables automatic screen saver.

timeOutOn

Enables automatic screen saver.

turn Dlsp layOff

Sets the display to be blanked.

turn DisplayOn

Sets the display to be visible.

whiteOnBlack Inverse video.

AimSystemCall OS-Interface

system-environment

configurationAddress

Get the address of the configuration block of the machine running this Smalltalk.

copyrightAddress

Get the address of the copyright string for this Smalltalk interpreter.

InterpreterVerslonAddress

Get the address of the string identifying the version of this Smalltalk interpreter.

invocationArgumentsAddress

Get the address of the argument array for this invocation of Smalltalk.

InvocationEnvironmentAddress

Get the address of the environment array for this invocation of Smalltalk.

machinelDAddress

Get the address of a string that identifies the operating system and machine upon which Smalltalk is running.

timeCorrectionDifference

Get a Smalllnteger representing the number of seconds difference between UTek time (GMT) and local time.

system-event operations clearAlarm

Clear the alarm used by the graphics.

eventsDlsable Turn off events.

events Enable

Turn on events. A side effect of this call is to set keyboard code to zero.

eventSignalOn

Produce event signals.

getAlarmTime

Get the millisecond timer.

Aim System Call OS-Interface

setAlarmTlme: time

Set the millisecond timer to the desired time.

setKeyboardCode: aCode

Set the keyboard code - 0 sets keyboard to output event codes and 1 sets the keyboard to output ANSI terminal code. Event codes are what Smalltalk expects.

termlnalOff

Turn off the terminal emulator.

terminal On

Turn on the terminal emulator.

Rationale

AimSystemCall is an abstract class that implements protocol related to the display subsystem of Tektronix 4000 series bitmapped workstations. These display operations are implemented at this level to be inherited by concrete subclasses for various operating systems. Other system call protocol that concrete subclasses have in common has been implemented at this level. Instance variables are defined for data passed in registers when making a system call. A class variable is defined for the string terminator that subclass operating systems have in common.

Discussion

The protocol here is a template for subclasses. There is no occasion upon which you should send a message to this class. To make a system call, create an instance of a subclass. Read about the system call class for your operating system in this manual. It will implement the protocol found here, plus additional protocol which is operating system dependent.

Class Protocol

Class initialization

contains one method which sets the value of the class variable. It calls the abstract superclass method of the same name, which returns self. The major work of initializing is done in a subclass method.

Environment variables

methods are implemented by a subclass.

File names

methods answer information about file and directory names, including the complete path from root, the path relative to Disk, the character which separates levels of the path, the backup file suffix, and concatenates or separates file and directory names. These methods are generally used for parsing.

AimSystemCall OS-Interface

General inquiries

methods are implemented by a subclass, except for

stringTerminator, which returns the character the operating systems expect at the end of strings, pack:intoRegisterWith:, which packs two integers into a 32 bit word, and smalltalklnterpreterVersionStrlng, which returns the version number of the interpreter in a String.

Portable file operations

methods are implemented by a subclass, except for

closeFile:, which closes a file, and remove:, which removes a file from its directory.

Those two operations are implemented here because subclasses use the same selector to achieve the result of each portable message.

Portable subtask operations

are operations that Smalltalk requires from the operating system in order to run a Subtask, a spawned child process from the operating system's point of view. AimSystemCall implements the "execute Utility" methods which start a subtask. The other methods in this message category are

implemented by a subclass.

System-display operations

are methods which enable or disable display attributes.

They are implemented here because they are applicable for all immediate subclasses.

System-environment

methods return the address of environment variables at the time Smalltalk was invoked, the address of command line arguments, and information about the software, including the copyright address, the address of the interpreter version, and the adjustment amount between UTek and Smalltalk time. An address returned by one of these methods can be converted to a String by sending the address as the argument to the String

instance creation

message fromCStrlng:.

System-event operations

are methods which enable or disable event attributes. Events are user-interface occurrences, such as a key-press, mouse movement, and joydisk movement. The built-in alarm (timer) and terminal emulator are also included in the category of events. Events are implemented here because they are applicable for all immediate subclasses.

Instance Protocol

Initialize-release

has three methods which set the values of the register instance variables plus several methods, overridden by subclasses, which set up the operation and arguments to a system call.

Accessing

methods return the values of the "out" instance variables.

AimSystemCali OS-Interface

Errors

has one method that returns the value of errno.

Execution

has two methods. displaylnvoke and invoke. which call the proper primitive to communicate with the operating system. and systemlnvoke which calls a subclass method to make a primitive call.

Operation type

has methods to set the operationType instance variable and a method that sets and one that returns the value of operation.

Portable subtask operations

are operations which an instance of a subclass would perform for a Subtask. such as answer the exit code. the interrupt ID. or the task ID of the Subtask. The methods are implemented by a subclass. except

terminatedSubtasklD. which returns the value of DOOut.

Related Classes

Subclasses:

UniflexSystemCa" (UniFLEX only) UTekSystemCa" (UTek only)

You might also want to look at the superclass. AbstractSystemCal1.

Dans le document TEKTRONIX SMALLTALK (Page 34-41)