Nicolas Cellier uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-nice.141.mcz ==================== Summary ==================== Name: MorphicExtras-nice.141 Author: nice Time: 14 December 2013, 6:26:03.616 pm UUID: c72b0543-89d3-47d1-9b39-a272cedc52bf Ancestors: MorphicExtras-nice.140 Finish the PaintBoxMorph cleaning. This will build a new Prototype. =============== Diff against MorphicExtras-nice.140 =============== Item was changed: ImageMorph subclass: #PaintBoxMorph instanceVariableNames: 'action tool currentCursor thumbnail currentColor currentBrush colorMemory stampHolder rotationTabForm scaleTabForm colorMemoryThin brushes focusMorph weakDependents recentColors' + classVariableNames: 'ColorChart ImageLibrary Prototype RecentColors UseLargeColorPicker' - classVariableNames: 'AllOffImage AllOnImage AllPressedImage ColorChart ImageLibrary OriginalBounds Prototype RecentColors UseLargeColorPicker' poolDictionaries: '' category: 'MorphicExtras-Support'! Item was changed: ----- Method: PaintBoxMorph class>>initialize (in category 'class initialization') ----- initialize "PaintBoxMorph initialize" + Prototype := ColorChart := ImageLibrary := nil. - self prototype eventHandler: nil. - self prototype focusMorph: nil. - self prototype stampHolder clear. "clear stamps" - self prototype delete. "break link to world, if any" - AllOnImage := AllOffImage := AllPressedImage := nil. - OriginalBounds := nil. - ! Item was changed: ----- Method: PaintBoxMorph class>>paletteOnImage (in category 'resources') ----- (excessive size, no diff calculated) Item was changed: ----- Method: PaintBoxMorph class>>stampsOnImage (in category 'resources') ----- stampsOnImage ^self imageLibrary at: #stampsOnImage ifAbsentPut: [Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: + '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' readStream)]! - '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' readStream)]! Item was removed: - ----- Method: PaintBoxMorph>>fixupButtons (in category 'initialization') ----- - fixupButtons - self flag: #toRemove! Item was removed: - ----- Method: PaintBoxMorph>>loadOffForm: (in category 'initialization') ----- - loadOffForm: pic16Bit - "Prototype loadOffForm: (Smalltalk imageImports at: #offPaletteJapanese)" - - | blt | - OriginalBounds := pic16Bit boundingBox. - AllOffImage := Form extent: OriginalBounds extent depth: 16. - blt := BitBlt toForm: AllOffImage. - blt sourceForm: pic16Bit; - combinationRule: Form over; - sourceRect: OriginalBounds; - destOrigin: 0 @ 0; - copyBits. - AllOffImage mapColor: Color blue to: Color transparent. - self image: AllOffImage. - AllOffImage := nil. - self invalidRect: bounds - ! Item was removed: - ----- Method: PaintBoxMorph>>loadPressedForm: (in category 'initialization') ----- - loadPressedForm: pic16Bit - "Prototype loadPressedForm: (Smalltalk imageImports at: #pressedPaletteJapanese)" - - | blt | - AllPressedImage := AllPressedImage := Form extent: OriginalBounds extent depth: 16. - blt := BitBlt toForm: AllPressedImage. - blt sourceForm: pic16Bit; - combinationRule: Form over; - sourceRect: OriginalBounds; - destOrigin: 0 @ 0; - copyBits. - AllPressedImage mapColor: Color black to: Color transparent. - self - allMorphsDo: [:button | | on | - (button isKindOf: ThreePhaseButtonMorph) - ifTrue: [on := Form extent: button extent depth: 16. - on - copy: (0 @ 0 extent: button extent) - from: button topLeft - self topLeft - in: AllPressedImage - rule: Form over. - button pressedImage: on]]. - AllPressedImage := nil. - self invalidRect: bounds - ! Item was removed: - ----- Method: PaintBoxMorph>>noVeneer (in category 'initialization') ----- - noVeneer - "For a palette with a background (off) image, clear that image. - But first, for each button, cut that chunk out and save it in the offImage - part." - " self noVeneer. - AllOffImage := nil. 'save space. irreversible'. " - - | aa | - AllOffImage ifNil: [AllOffImage := image]. - aa := AllOffImage. - "Collect all the images for the buttons in the on state" - self allMorphsDo: [:button | | on | - (button isKindOf: ThreePhaseButtonMorph) ifTrue: [ - on := Form extent: button extent depth: 16. - on copy: (0@0 extent: button extent) - from: (button topLeft - self topLeft) in: - aa rule: Form over. - button offImage: on]]. - self image: (Form extent: AllOffImage extent depth: 1). - self invalidRect: bounds. - - - ! Item was changed: + ----- Method: PaintBoxMorph>>notifyWeakDependentsWith: (in category 'actions') ----- - ----- Method: PaintBoxMorph>>notifyWeakDependentsWith: (in category 'initialization') ----- notifyWeakDependentsWith: arguments weakDependents ifNil: [^self]. weakDependents do: [ :each | each ifNotNil: [ each paintBoxChanged: arguments. each paintBoxChanged: {#changed. arguments second. true}. ]. ].! Item was changed: ----- Method: SketchEditorMorph>>initializeFor:inBounds:pasteUpMorph:paintBoxPosition: (in category 'initialization') ----- initializeFor: aSketchMorph inBounds: boundsToUse pasteUpMorph: aPasteUpMorph paintBoxPosition: aPosition "NB: if aPosition is nil, then it's assumed that the paintbox is obtained from a flap or some such, so do nothing special regarding a palette in this case. The palette needs already to be in the world for this to work." | w | (w := aPasteUpMorph world) addMorphInLayer: self. "in back of palette" enclosingPasteUpMorph := aPasteUpMorph. hostView := aSketchMorph. "may be ownerless" self bounds: boundsToUse. palette := w paintBox focusMorph: self. palette beStatic. "give Nebraska whatever help we can" - palette fixupButtons. palette addWeakDependent: self. aPosition ifNotNil: [w addMorphFront: palette. "bring to front" palette position: aPosition]. paintingForm := Form extent: bounds extent depth: w assuredCanvas depth. self dimTheWindow. self addRotationScaleHandles. aSketchMorph ifNotNil: [ aSketchMorph form displayOn: paintingForm at: (hostView boundsInWorld origin - bounds origin - hostView form offset) clippingBox: (0@0 extent: paintingForm extent) rule: Form over fillColor: nil. "assume they are the same depth". undoBuffer := paintingForm deepCopy. rotationCenter := aSketchMorph rotationCenter]! |
Free forum by Nabble | Edit this page |