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@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@y Returns the abstract Color at this location displayAt: x@y shows this form on the screen displayOn: aMedium at: x@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@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]].!
packages@lists.squeakfoundation.org