Squeak Class Documentation category index | class index  
 
DisplayScreen
  category: Graphics-Display Objects
  superclass: Form
  subclasses: ExternalScreen

There is only one instance of me, Display. It is a global and is used to handle general user requests to deal with the whole display screen.
Although I offer no protocol, my name provides a way to distinguish this special instance from all other Forms. This is useful, for example, in dealing with saving and restoring the system.
To change the depth of your Display...
Display newDepth: 16.
Display newDepth: 8.
Display newDepth: 1.
Valid display depths are 1, 2, 4, 8, 16 and 32. It is suggested that you run with your monitors setting the same, for better speed and color fidelity. Note that this can add up to 4Mb for the Display form. Finally, note that newDepth: ends by executing a 'ControlManager restore' which currently terminates the active process, so nothing that follows in the doit will get executed.

Depths 1, 2, 4 and 8 bits go through a color map to put color on the screen, but 16 and 32-bit color use the pixel values directly for RGB color (5 and 8 bits per, respectivlely). The color choice an be observed by executing Color fromUser in whatever depth you are using.

instance methods
  OBSOLETE
 

  blitter defaults
  defaultBitBltClass
defaultCanvasClass
defaultWarpBltClass

  disk I/O
  objectForDataStream:

  displaying
  addExtraRegion:for:
copyBits:from:at:clippingBox:rule:fillColor:
copyBits:from:at:clippingBox:rule:fillColor:map:
flash:
flash:andWait:
forceDamageToScreen:

  initialize-release
  release
shutDown

  other
  boundingBox
clippingTo:do:
deferUpdates:
deferUpdatesIn:while:
displayChangeSignature
forceDisplayUpdate
forceToScreen
forceToScreen:
fullBoundingBox
fullScreen
height
newDepth:
primitiveDeferUpdates:
replacedBy:do:
restore
restoreAfter:
supportedDisplayDepths
supportsDisplayDepth:
usableArea
width

  private
  beDisplay
copyFrom:
findAnyDisplayDepth
findAnyDisplayDepthIfNone:
newDepthNoRestore:
primRetryShowRectLeft:right:top:bottom:
primShowRectLeft:right:top:bottom:
setExtent:depth:

  testing
  isDisplayScreen

class methods
  display box access
  boundingBox
checkForNewScreenSize
depth:width:height:fullscreen:

  snapshots
  actualScreenDepth
actualScreenSize
shutDown
startUp

instance methods
  OBSOLETE top  

  blitter defaults top  
 

defaultBitBltClass

Return the BitBlt version to use when I am active


 

defaultCanvasClass

Return the WarpBlt version to use when I am active


 

defaultWarpBltClass

Return the WarpBlt version to use when I am active


  disk I/O top  
 

objectForDataStream:

I am about to be written on an object file. Write a reference to the Display in the other system instead.


  displaying top  
 

addExtraRegion:for:

Register the given rectangle as a region which is drawn by the specified region drawer. The region will be excluded from any updates when #forceDamageToScreen: is called. Note that the rectangle is only valid for a single update cycle; once #forceDamageToScreen: has been called, the region drawer and its region are being removed from the list


 

copyBits:from:at:clippingBox:rule:fillColor:

Make up a BitBlt table and copy the bits.


 

copyBits:from:at:clippingBox:rule:fillColor:map:

Make up a BitBlt table and copy the bits. Use a colorMap.


 

flash:

Flash the area of the screen defined by the given rectangle.


 

flash:andWait:

Flash the area of the screen defined by the given rectangle.


 

forceDamageToScreen:

Force all the damage rects to the screen.


  initialize-release top  
 

release

I am no longer Display. Release any resources if necessary


 

shutDown

Minimize Display memory saved in image


  other top  
 

boundingBox

Answer the rectangular area that represents the boundaries of the
receiver's space of information.


 

clippingTo:do:

Display clippingTo: Rectangle fromUser do:
[ScheduledControllers restore: Display fullBoundingBox]


 

deferUpdates:

Set the deferUpdates flag in the virtual machine. When this flag is true, BitBlt operations on the Display are not automatically propagated to the screen. If this underlying platform does not support deferred updates, this primitive will fail. Answer whether updates were deferred before if the primitive succeeds, nil if it fails.


 

deferUpdatesIn:while:

DisplayScreen overrides with something more involved...


 

displayChangeSignature


 

forceDisplayUpdate

On platforms that buffer screen updates, force the screen to be updated immediately. On other platforms, or if the primitive is not implemented, do nothing.


 

forceToScreen

Force the entire display area to the screen


 

forceToScreen:

Force the given rectangular section of the Display to be copied to the screen. The primitive call does nothing if the primitive is not implemented. Typically used when the deferUpdates flag in the virtual machine is on; see deferUpdates:.


 

fullBoundingBox


 

fullScreen

Display fullScreen


 

height

Answer the number that represents the height of the receiver's
bounding box.


 

newDepth:


Display newDepth: 8.
Display newDepth: 1.


 

primitiveDeferUpdates:

Set the deferUpdates flag in the virtual machine. When this flag is true, BitBlt operations on the Display are not automatically propagated to the screen. If this underlying platform does not support deferred updates, this primitive will fail. Answer the receiver if the primitive succeeds, nil if it fails.


 

replacedBy:do:

Permits normal display to draw on aForm instead of the display.


 

restore


 

restoreAfter:

Evaluate the block, wait for a mouse click, and then restore the screen.


 

supportedDisplayDepths

Return all pixel depths supported on the current host platform.


 

supportsDisplayDepth:

Return true if this pixel depth is supported on the current host platform.
Primitive. Optional.


 

usableArea

Answer the usable area of the receiver. 5/22/96 sw.


 

width

Answer the number that represents the width of the receiver's bounding
box.


  private top  
 

beDisplay

Primitive. Tell the interpreter to use the receiver as the current display
image. Fail if the form is too wide to fit on the physical display.
Essential. See Object documentation whatIsAPrimitive.


 

copyFrom:

Take on all state of aForm, with complete sharing


 

findAnyDisplayDepth

Return any display depth that is supported on this system.


 

findAnyDisplayDepthIfNone:

Return any display depth that is supported on this system.
If there is none, evaluate aBlock.


 

newDepthNoRestore:

Change depths. Check if there is enough space! , di


 

primRetryShowRectLeft:right:top:bottom:

Copy the given rectangular section of the Display to to the screen. This primitive is not implemented on all platforms. Do nothing if it fails.


 

primShowRectLeft:right:top:bottom:

Copy the given rectangular section of the Display to to the screen. This primitive is not implemented on all platforms. If this fails, retry integer coordinates.


 

setExtent:depth:

DisplayScreen startUp


  testing top  
 

isDisplayScreen


class methods
  display box access top  
 

boundingBox

Answer the bounding box for the form representing the current display
screen.


 

checkForNewScreenSize

Check whether the screen size has changed and if so take appropriate actions


 

depth:width:height:fullscreen:

Force Squeak's window (if there's one) into a new size and depth.


  snapshots top  
 

actualScreenDepth


 

actualScreenSize


 

shutDown

Minimize Display memory saved in image


 

startUp

DisplayScreen startUp