[squeak-dev] The Trunk: Graphics-mt.488.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Feb 28 08:57:59 UTC 2022


Marcel Taeumel uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-mt.488.mcz

==================== Summary ====================

Name: Graphics-mt.488
Author: mt
Time: 28 February 2022, 9:57:52.349504 am
UUID: 6a3701f5-fea3-4e1f-9d66-005169bbfb5e
Ancestors: Graphics-mt.487

Make it a preference whether to compress all graphics data or not when snapshotting but not quitting. Keep the default as it always was: compress graphics data to reduce .image file size.

=============== Diff against Graphics-mt.487 ===============

Item was changed:
  DisplayMedium subclass: #Form
  	instanceVariableNames: 'bits width height depth offset'
+ 	classVariableNames: 'CompressOnSnapshot'
- 	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'Graphics-Display Objects'!
  
  !Form commentStamp: 'cbc 5/5/2017 10:07' prior: 0!
  A rectangular array of pixels, used for holding images.  All pictures, including character images are Forms.  The depth of a Form is how many bits are used to specify the color at each pixel.  The actual bits are held in a Bitmap, whose internal structure is different at each depth.  Class Color allows you to deal with colors without knowing how they are actually encoded inside a Bitmap.
  	  The supported depths (in bits) are 1, 2, 4, 8, 16, and 32.  The number of actual colors at these depths are: 2, 4, 16, 256, 32768, and 16 million.
  	Forms are indexed starting at 0 instead of 1; thus, the top-left pixel of a Form has coordinates 0 at 0.
  	Forms are combined using BitBlt.  See the comment in class BitBlt.  Forms that repeat many times to fill a large destination are InfiniteForms.
  
  	colorAt: x at y		Returns the abstract Color at this location
  	displayAt: x at y		shows this form on the screen
  	displayOn: aMedium at: x at y	shows this form in a Window, a Form, or other DisplayMedium
  	fillColor: aColor		Set all the pixels to the color.
  	edit		launch an editor to change the bits of this form.
  	pixelValueAt: x at y	The encoded color.  The encoding depends on the depth.
  
  Note: If you want to hook up other external forms/displayScreens, please look at the (successful) Graphics-External package in http://www.squeaksource.com/Balloon3D.!

Item was added:
+ ----- Method: Form class>>compressOnSnapshot (in category 'preferences') -----
+ compressOnSnapshot
+ 	<preference: 'Always compress graphics data on snapshot'
+ 		categoryList: #(performance Graphics)
+ 		description: 'When enabled, graphics data such as all instances of Form are compressed during image snapshots -- even when the image will not quit after the snapshot. This includes cache clean-up such as the TrueType glyph cache. Disable to avoid render lags after snapshots at the cost of a bigger footprint of your .image file. Note that snapshot-and-quit always compresses graphics data.'
+ 		type: #Boolean>
+ 
+ 	^ CompressOnSnapshot ifNil: [true]!

Item was added:
+ ----- Method: Form class>>compressOnSnapshot: (in category 'preferences') -----
+ compressOnSnapshot: aBoolean
+ 
+ 	CompressOnSnapshot := aBoolean.!

Item was changed:
  ----- Method: Form class>>shutDown: (in category 'shut down') -----
  shutDown: quitting
+ 	"When quitting, compress all instances in the system.  Will decompress on demand after start-up. Note that #compressOnShapshot can avoid hibernating forms during no-quit snapshotting to keep the system as responsive as possible directly after."
- 	"When quitting, compress all instances in the system.  Will decompress on demand after start-up. Note that we avoid hibernating forms during no-quit snapshotting to keep the system as responsive as possible directly after."
  
  	"Form shutDown: true"
+ 	(quitting or: [self compressOnSnapshot]) ifTrue: [
- 	quitting ifTrue: [
  		Form allInstancesDo: [:f | f hibernate].
  		ColorForm allInstancesDo: [:f | f hibernate]].!



More information about the Squeak-dev mailing list