he user wants it and not just aligned with the cliprect"
(patternForm
isForm) ifFalse: [
"patternForm is
a Pattern or Color; just Nothing more expected ->use it
as a mask for BitBlt"
^ aPort fill:
aPort clipRect fillColor: patternForm rule: Form over].
"do it
iteratively"
targetBox _
aPort clipRect.
patternBox _
patternForm boundingBox.
savedMap _
aPort colorMap.
aPort
sourceForm: patternForm;
fillColor:
nil;
combinationRule:
Form paint;
sourceRect:
(0@0 extent: patternBox extent);
colorMap:
(patternForm colormapIfNeededFor: aPort destForm).
top _
(targetBox top truncateTo: patternBox height) + offset y.
left _
(targetBox left truncateTo: patternBox width) + offset x.
left to:
(targetBox right - 1) by: patternBox width do:
[:x | top to:
(targetBox bottom - 1) by: patternBox height do:
[:y | aPort
destOrigin: x@y; copyBits]].
aPort
colorMap: savedMap.