[squeak-dev] The Trunk: Morphic-mt.1419.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Apr 23 06:53:15 UTC 2018
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1419.mcz
==================== Summary ====================
Name: Morphic-mt.1419
Author: mt
Time: 23 April 2018, 8:52:51.282883 am
UUID: 661d960f-f307-fa4f-be9f-ac5f7e818b55
Ancestors: Morphic-dtl.1418
Some API clean-up for drawing border styles via Canvas to improve code readability.
=============== Diff against Morphic-dtl.1418 ===============
Item was changed:
----- Method: Canvas>>fillRectangle:fillStyle:borderStyle: (in category 'drawing-rectangles') -----
fillRectangle: aRectangle fillStyle: aFillStyle borderStyle: aBorderStyle
+ "For convenience and historical reasons only. Try to use the more explicit 'frameAndFill..' calls if you want to draw borders."
+
+ self frameAndFillRectangle: aRectangle fillStyle: aFillStyle borderStyle: aBorderStyle.!
- "Fill the given rectangle."
- aFillStyle isTransparent ifFalse:[
- self fillRectangle: (aRectangle insetBy: aBorderStyle inset) fillStyle: aFillStyle].
- aBorderStyle ifNil:[^self].
- aBorderStyle width <= 0 ifTrue:[^self].
- aBorderStyle frameRectangle: aRectangle on: self.!
Item was added:
+ ----- Method: Canvas>>fillRoundRect:radius:fillStyle:borderStyle: (in category 'drawing-rectangles') -----
+ fillRoundRect: aRectangle radius: radius fillStyle: fillStyle borderStyle: borderStyle
+ "For convenience only. Try to use 'frameAndFill...' messages."
+
+ self
+ frameAndFillRoundRect: aRectangle
+ radius: radius
+ fillStyle: fillStyle
+ borderStyle: borderStyle.!
Item was added:
+ ----- Method: Canvas>>frameAndFillRectangle:fillStyle:borderStyle: (in category 'drawing-rectangles') -----
+ frameAndFillRectangle: aRectangle fillStyle: aFillStyle borderStyle: aBorderStyle
+
+ aFillStyle isTransparent ifFalse: [
+ self fillRectangle: (aRectangle insetBy: aBorderStyle inset) fillStyle: aFillStyle].
+
+ aBorderStyle width > 0 ifTrue: [
+ self frameRectangle: aRectangle borderStyle: aBorderStyle].!
Item was added:
+ ----- Method: Canvas>>frameAndFillRoundRect:radius:fillStyle:borderStyle: (in category 'drawing-rectangles') -----
+ frameAndFillRoundRect: aRectangle radius: cornerRadius fillStyle: fillStyle borderStyle: borderStyle
+
+ self
+ frameAndFillRectangle: aRectangle
+ fillColor: fillStyle asColor
+ borderWidth: borderStyle width
+ borderColor: borderStyle color.!
Item was added:
+ ----- Method: Canvas>>frameRectangle:borderStyle: (in category 'drawing-rectangles') -----
+ frameRectangle: aRectangle borderStyle: aBorderStyle
+ "Double dispatch."
+
+ aBorderStyle frameRectangle: aRectangle on: self.!
Item was changed:
----- Method: Morph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
self wantsRoundedCorners
ifTrue: [aCanvas frameAndFillRoundRect: self bounds radius: self cornerRadius fillStyle: self fillStyle borderWidth: self borderStyle width borderColor: self borderStyle color]
+ ifFalse: [aCanvas frameAndFillRectangle: self bounds fillStyle: self fillStyle borderStyle: self borderStyle].
- ifFalse: [aCanvas fillRectangle: self bounds fillStyle: self fillStyle borderStyle: self borderStyle].
!
Item was changed:
----- Method: NewBalloonMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
self fillStyle isColor
ifFalse: [self fillStyle isGradientFill
ifTrue: [self fillStyle direction: 0 @ self height]].
"Bubble."
self wantsRoundedCorners
ifTrue: [aCanvas
frameAndFillRoundRect: self bubbleBounds
radius: self cornerRadius fillStyle: self fillStyle borderWidth: self borderStyle width borderColor: self borderStyle color]
ifFalse: [aCanvas
+ frameAndFillRectangle: self bubbleBounds
+ fillStyle: self fillStyle
+ borderStyle: self borderStyle].
- fillRectangle: self bubbleBounds
- fillStyle: self fillStyle borderStyle: self borderStyle].
"Tail."
self hasTail ifTrue: [
self verticesForTail in: [:points |
| pixelOffset |
pixelOffset := points first y < points second y
ifFalse: [points first x < points second x
ifTrue: [self borderStyle width negated @ self borderStyle width] "bottomLeft"
ifFalse: [self borderStyle width @ self borderStyle width]] "bottomRight"
ifTrue: [points first x < points second x
ifTrue: [self borderStyle width negated @ self borderStyle width negated] "topLeft"
ifFalse: [self borderStyle width @ self borderStyle width negated]]. "topRight"
aCanvas
drawPolygon: points
fillStyle: self fillStyle.
aCanvas
line: points first
to: points second + pixelOffset
width: self borderStyle width
color: self borderStyle color.
aCanvas
line: points first
to: points third + pixelOffset
width: self borderStyle width
color: self borderStyle color]]!
Item was changed:
----- Method: SystemProgressBarMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
| area fill |
super drawOn: aCanvas.
self barSize > 0 ifTrue: [
area := self innerBounds.
area := area origin extent: (self barSize min: area extent x)@area extent y.
fill := self barColor isColor
ifTrue: [SolidFillStyle color: self barColor]
ifFalse: [self barColor].
fill isGradientFill ifTrue: [
fill origin: area origin.
fill direction: 0@ area height].
aCanvas
+ frameAndFillRectangle: area
- fillRectangle: area
fillStyle: fill
borderStyle: (SimpleBorder new width: 1; color: fill asColor muchDarker).
].
!
More information about the Squeak-dev
mailing list
|