[squeak-dev] The Trunk: MorphicExtras-mt.314.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed May 4 10:07:28 UTC 2022
Marcel Taeumel uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-mt.314.mcz
==================== Summary ====================
Name: MorphicExtras-mt.314
Author: mt
Time: 4 May 2022, 12:07:19.435048 pm
UUID: 21980273-a7ba-0749-b4a9-e7b5c65b79d2
Ancestors: MorphicExtras-tpr.313
Complements Morphic-mt.1982.
=============== Diff against MorphicExtras-tpr.313 ===============
Item was removed:
- ImageMorph subclass: #AnimatedImageMorph
- instanceVariableNames: 'images delays stepTime nextTime imageIndex'
- classVariableNames: ''
- poolDictionaries: ''
- category: 'MorphicExtras-AdditionalMorphs'!
-
- !AnimatedImageMorph commentStamp: '<historical>' prior: 0!
- I am an ImageMorph that can hold more than one image. Each image has its own delay time.!
Item was removed:
- ----- Method: AnimatedImageMorph class>>fileReaderServicesForFile:suffix: (in category 'fileIn/Out') -----
- fileReaderServicesForFile: fullName suffix: suffix
-
- ^((AnimatedGIFReadWriter typicalFileExtensions asSet
- add: '*'; add: 'form'; yourself)
- includes: suffix)
- ifTrue: [ self services ]
- ifFalse: [#()]
- !
Item was removed:
- ----- Method: AnimatedImageMorph class>>fromGIFFileNamed: (in category 'instance creation') -----
- fromGIFFileNamed: fileName
- | reader |
- reader := AnimatedGIFReadWriter formsFromFileNamed: fileName.
- ^reader forms size = 1
- ifTrue: [ ImageMorph new image: reader forms first ]
- ifFalse: [ self new fromReader: reader ]!
Item was removed:
- ----- Method: AnimatedImageMorph class>>fromStream: (in category 'instance creation') -----
- fromStream: aStream
- | reader |
- reader := AnimatedGIFReadWriter formsFromStream: aStream.
- ^reader forms size = 1
- ifTrue: [ ImageMorph new image: reader forms first ]
- ifFalse: [ self new fromReader: reader ]!
Item was removed:
- ----- Method: AnimatedImageMorph class>>initialize (in category 'class initialization') -----
- initialize
- "register the receiver in the global registries"
- self environment
- at: #FileServices
- ifPresent: [:cl | cl registerFileReader: self]!
Item was removed:
- ----- Method: AnimatedImageMorph class>>openGIFInWindow: (in category 'instance creation') -----
- openGIFInWindow: aStream
- ^(self fromStream: aStream binary) openInWorld!
Item was removed:
- ----- Method: AnimatedImageMorph class>>serviceOpenGIFInWindow (in category 'fileIn/Out') -----
- serviceOpenGIFInWindow
- "Answer a service for opening a gif graphic in a window"
- ^ (SimpleServiceEntry
- provider: self
- label: 'open the graphic as a morph'
- selector: #openGIFInWindow:
- description: 'open a GIF graphic file as a morph'
- buttonLabel: 'open')
- argumentGetter: [:fileList | fileList readOnlyStream]!
Item was removed:
- ----- Method: AnimatedImageMorph class>>services (in category 'fileIn/Out') -----
- services
- ^ Array
- with: self serviceOpenGIFInWindow
- "with: Form serviceImageImports"
- with: Form serviceImageAsBackground!
Item was removed:
- ----- Method: AnimatedImageMorph class>>unload (in category 'class initialization') -----
- unload
- "Unload the receiver from global registries"
- self environment
- at: #FileServices
- ifPresent: [:cl | cl unregisterFileReader: self]!
Item was removed:
- ----- Method: AnimatedImageMorph>>delays (in category 'accessing') -----
- delays
-
- ^ delays!
Item was removed:
- ----- Method: AnimatedImageMorph>>fromGIFFileNamed: (in category 'private') -----
- fromGIFFileNamed: fileName
- self fromReader: (AnimatedGIFReadWriter formsFromFileNamed: fileName)!
Item was removed:
- ----- Method: AnimatedImageMorph>>fromImages: (in category 'private') -----
- fromImages: anArray
-
- images := anArray.
- self setUniformDelay: 10.
- self isOpaque: true.
- self reset.!
Item was removed:
- ----- Method: AnimatedImageMorph>>fromImages:delay: (in category 'private') -----
- fromImages: anArray delay: anInteger
-
- images := anArray.
- self setUniformDelay: anInteger.
- self isOpaque: true.
- self reset.!
Item was removed:
- ----- Method: AnimatedImageMorph>>fromReader: (in category 'private') -----
- fromReader: reader
- images := reader forms.
- delays := reader delays.
- (images anySatisfy:[:each|(each colors includes: Color transparent)]) ifTrue:[self isOpaque: true].
- self reset.!
Item was removed:
- ----- Method: AnimatedImageMorph>>fromStream: (in category 'private') -----
- fromStream: aStream
- self fromReader: (AnimatedGIFReadWriter formsFromStream: aStream)!
Item was removed:
- ----- Method: AnimatedImageMorph>>images (in category 'accessing') -----
- images
- ^images!
Item was removed:
- ----- Method: AnimatedImageMorph>>initialize (in category 'private') -----
- initialize
- nextTime := Time millisecondClockValue.
- imageIndex := 1.
- stepTime := 10.
- super initialize!
Item was removed:
- ----- Method: AnimatedImageMorph>>reset (in category 'private') -----
- reset
-
- imageIndex := 0.
- self image: (Form extent: images first extent depth: 32).
- self step.!
Item was removed:
- ----- Method: AnimatedImageMorph>>setUniformDelay: (in category 'private') -----
- setUniformDelay: anInteger
- "set delay to a uniform value for all images"
- delays := Array new: images size withAll: anInteger.!
Item was removed:
- ----- Method: AnimatedImageMorph>>step (in category 'stepping and presenter') -----
- step
- | d form |
- images isEmpty ifTrue: [^ self].
-
- nextTime > Time millisecondClockValue
- ifTrue: [^self].
- " self changed."
- imageIndex > 0 ifTrue: [
- form := images at: imageIndex.
- form displayOn: self image at: 0 at 0 rule: (self isOpaque ifTrue: [Form paint] ifFalse: [Form erase])].
- form := images at: (imageIndex := imageIndex \\ images size + 1).
- form displayOn: self image at: 0 at 0 rule: Form paint.
- self changed.
- d := (delays at: imageIndex) ifNil: [0].
- nextTime := Time millisecondClockValue + d
- !
Item was removed:
- ----- Method: AnimatedImageMorph>>stepTime (in category 'stepping and presenter') -----
- stepTime
- ^stepTime ifNil: [super stepTime]!
Item was removed:
- ----- Method: AnimatedImageMorph>>stepTime: (in category 'stepping and presenter') -----
- stepTime: anInteger
- stepTime := anInteger!
Item was removed:
- ----- Method: AnimatedImageMorph>>wantsSteps (in category 'stepping and presenter') -----
- wantsSteps
- ^(images size > 1)
- !
More information about the Squeak-dev
mailing list
|