[squeak-dev] The Trunk: MorphicExtras-hjh.210.mcz
H. Hirzel
hannes.hirzel at gmail.com
Sat Sep 30 16:23:45 UTC 2017
Thank you for the commit, David.
This test now nicely shows what happens if you move
FlattenEncoder subclass: #Canvas
to
Object subclass: Canvas
thus separating the Canvas hierarchy from the NullEncoder -
FlattenEncoder hierarchy.
-------------------------
The fix just needs a class CanvasWithEncoder [1] with three methods
inserted as a subclass of Canvas and as a superclass of
PostscriptCanvas.
Maybe there are more methods needed for other test cases.
And I do not understand yet where #filterSelector comes into action.
See thread 'NullEncoder'.
--Hannes
---------------------------
[1] Class CanvasWithEncoder inserted between under Canvas and above
PostScriptCanvas
'From Squeak6.0alpha of 28 September 2017 [latest update: #17405] on
30 September 2017 at 6:17:59 pm'!
Canvas subclass: #CanvasWithEncoder
instanceVariableNames: 'target filterSelector'
classVariableNames: ''
poolDictionaries: ''
category: 'Morphic-Support'!
!CanvasWithEncoder commentStamp: 'hjh 9/30/2017 15:58' prior: 0!
A CanvasWithEncoder maintains a target to keep an Encoder which is
used by subclasses to execute drawing commands.
Instance Variables
filterSelector: <Object>
target: <Object>
filterSelector
- xxxxx
target
- xxxxx
!
!CanvasWithEncoder methodsFor: 'as yet unclassified' stamp: 'hjh
9/30/2017 15:02'!
contents
^target contents.! !
!CanvasWithEncoder methodsFor: 'as yet unclassified' stamp: 'hjh
9/30/2017 15:00'!
initWithTarget:aTarget
target := aTarget.
filterSelector := self class filterSelector.
^self.! !
!CanvasWithEncoder methodsFor: 'as yet unclassified' stamp: 'hjh
9/30/2017 14:59'!
reset
"Reset the canvas."
self initWithTarget: self class defaultTarget.! !
On Sat, 30 Sep 2017 16:11:48 0000, commits at source.squeak.org
<commits at source.squeak.org> wrote:
> David T. Lewis uploaded a new version of MorphicExtras to project The Trunk:
> http://source.squeak.org/trunk/MorphicExtras-hjh.210.mcz
>
> ==================== Summary ====================
>
> Name: MorphicExtras-hjh.210
> Author: hjh
> Time: 30 September 2017, 11:55:17.310454 am
> UUID: 3a05acb5-0d83-424c-8471-b7b5af288d35
> Ancestors: MorphicExtras-tpr.209
>
> A smoke test for Postscript support.
>
> =============== Diff against MorphicExtras-tpr.209 ===============
>
> Item was added:
> + TestCase subclass: #EPSCanvasTest
> + instanceVariableNames: ''
> + classVariableNames: ''
> + poolDictionaries: ''
> + category: 'MorphicExtras-Postscript Canvases'!
>
> Item was added:
> + ----- Method: EPSCanvasTest>>testSmokeTest (in category 'as yet
> unclassified') -----
> + testSmokeTest
> + | epsCode |
> + epsCode := (RectangleMorph new asEPS).
> +
> + self assert: epsCode lines first = '%!!PS-Adobe-2.0 EPSF-2.0'.
> +
> + self assert: (epsCode lines detect: [:line | line beginsWith: '%start
> morph: a RectangleMorph'] ifNone: [nil]) notNil.
> +
> + self assert: epsCode lines last = '%%EOF'
> + !
>
>
>
More information about the Squeak-dev
mailing list
|