'From Pharo0.1 of 16 May 2008 [Latest update: #10309] on 19 May 2009 at 10:05:11 pm'! !TransformMorph methodsFor: '*FreeType-override' stamp: 'Henrik Sperre Johansen 5/19/2009 21:48'! drawSubmorphsOn: aCanvas aCanvas transformBy: transform clippingTo: (aCanvas clipRect intersect: self clippingBounds) during: [:myCanvas | (self angle ~= 0.0 or: [self scale ~= 1.0]) ifTrue:[ FreeTypeSettings current forceNonSubPixelDuring:[ submorphs reverseDo:[:m | myCanvas fullDrawMorph: m] ] ] ifFalse:[ submorphs reverseDo:[:m | myCanvas fullDrawMorph: m] ] ] smoothing: smoothing! ! !LazyMorphListMorph methodsFor: 'as yet unclassified' stamp: 'Henrik Sperre Johansen 5/19/2009 21:59'! drawSubmorphsOn: aCanvas "Display submorphs back to front" |drawBlock i| submorphs isEmpty ifTrue: [^self]. drawBlock := [:canvas | (self topVisibleRowForCanvas: aCanvas) to: (self bottomVisibleRowForCanvas: aCanvas) do: [ :row | i := self item: row. canvas fullDrawMorph: i]]. self clipSubmorphs ifTrue: [aCanvas clipBy: (aCanvas clipRect intersect: self clippingBounds) during: drawBlock] ifFalse: [drawBlock value: aCanvas]! ! !PasteUpMorph methodsFor: 'painting' stamp: 'Henrik Sperre Johansen 5/19/2009 21:59'! drawSubmorphsOn: aCanvas "Display submorphs back to front, but skip my background sketch." | drawBlock | submorphs isEmpty ifTrue: [^self]. drawBlock := [:canvas | submorphs reverseDo: [:m | m ~~ backgroundMorph ifTrue: [ canvas fullDrawMorph: m ]]]. self clipSubmorphs ifTrue: [aCanvas clipBy: (aCanvas clipRect intersect: self clippingBounds) during: drawBlock] ifFalse: [drawBlock value: aCanvas]! ! !TabSelectorMorph methodsFor: 'as yet unclassified' stamp: 'Henrik Sperre Johansen 5/19/2009 22:00'! drawSubmorphsOn: aCanvas "Display submorphs back to front. Draw the focus here since we are using inset bounds for the focus rectangle." super drawSubmorphsOn: aCanvas. self hasKeyboardFocus ifTrue: [ self selectedTab ifNotNilDo: [:t | self clipSubmorphs ifTrue: [aCanvas clipBy: (aCanvas clipRect intersect: self clippingBounds) during: [:c | t drawKeyboardFocusOn: c]] ifFalse: [t drawKeyboardFocusOn: aCanvas]]]! ! !Morph methodsFor: 'drawing' stamp: 'Henrik Sperre Johansen 5/19/2009 21:48'! drawSubmorphsOn: aCanvas "Display submorphs back to front" | drawBlock | submorphs isEmpty ifTrue: [^self]. drawBlock := [:canvas | submorphs reverseDo: [:m | canvas fullDrawMorph: m]]. self clipSubmorphs ifTrue: [aCanvas clipBy: (aCanvas clipRect intersect: self clippingBounds) during: drawBlock] ifFalse: [drawBlock value: aCanvas]! !