diff -r fb9b4f575a24 -r aed1314a2448 DisplaySurface.st --- a/DisplaySurface.st Mon Apr 25 06:59:28 2016 +0200 +++ b/DisplaySurface.st Mon Apr 25 20:34:59 2016 +0100 @@ -862,6 +862,7 @@ flags := flags bitOr:GotExposeFlagMask. ! ! + !DisplaySurface methodsFor:'button menus'! getMiddleButtonMenu @@ -1089,10 +1090,7 @@ ! fillDeviceRectangleWithPattern:aPixmap x:xIn y:yIn width:wIn height:hIn patternOffset:pattOffs - - "fill a rectangular area with some pattern. - A helper for devices which do not support pixmap drawing (i.e. win95). - This is never invoked with X11 or Win-NT/XP/Vista systems. + "Fill a rectangular area with some pattern. Caller must ensure that aPixmap is really a form" |r b @@ -1122,12 +1120,12 @@ pW := aPixmap width. pH := aPixmap height. - oldClip := self deviceClippingRectangle. + oldClip := gc deviceClippingRectangle. oldClip notNil ifTrue:[ - x := x max:oldClip left. - y := y max:oldClip top. - r := r min:oldClip right. - b := b min:oldClip bottom. + x := x max:oldClip left. + y := y max:oldClip top. + r := r min:oldClip right. + b := b min:oldClip bottom. ]. w := r-x+1. h := b-y+1. @@ -1143,16 +1141,16 @@ xR0 >= xE ifTrue:[^ self]. aPixmap depth == 1 ifTrue:[ - oldFg := self foreground. - oldBg := self background. - (clrMap := aPixmap colorMap) notNil ifTrue:[ - bg := clrMap at:1. - fg := clrMap at:2. - ] ifFalse:[ - bg := Color white. - fg := Color black. - ]. - self foreground:fg background:bg. + oldFg := self foreground. + oldBg := self background. + (clrMap := aPixmap colorMap) notNil ifTrue:[ + bg := clrMap at:1. + fg := clrMap at:2. + ] ifFalse:[ + bg := Color white. + fg := Color black. + ]. + self foreground:fg background:bg. ]. self deviceClippingRectangle:(Rectangle left:x top:y width:w height:h). @@ -1161,30 +1159,31 @@ oY := offsY. [yR < yE] whileTrue:[ - xR := xR0. - oX := offsX. - [xR < xE] whileTrue:[ - self - copyFrom:aPixmap - x:oX y:oY - toX:xR y:yR - width:(pW - oX) height:(pH - oY) - async:true. - xR := xR + pW - oX. - oX := 0. - ]. - yR := yR + pH - oY. - oY := 0. + xR := xR0. + oX := offsX. + [xR < xE] whileTrue:[ + self + copyFrom:aPixmap + x:oX y:oY + toX:xR y:yR + width:(pW - oX) height:(pH - oY) + async:true. + xR := xR + pW - oX. + oX := 0. + ]. + yR := yR + pH - oY. + oY := 0. ]. oldFg notNil ifTrue:[ - self foreground:oldFg background:oldBg. + self foreground:oldFg background:oldBg. ]. - self deviceClippingRectangle:oldClip. - - "Created: / 6.9.1998 / 14:00:50 / cg" - "Modified: / 4.5.1999 / 20:38:07 / ps" - "Modified: / 4.5.1999 / 20:40:12 / cg" + gc deviceClippingRectangle:oldClip. + + "Created: / 06-09-1998 / 14:00:50 / cg" + "Modified: / 04-05-1999 / 20:38:07 / ps" + "Modified: / 04-05-1999 / 20:40:12 / cg" + "Modified: / 25-04-2016 / 20:50:47 / jv" ! fillDeviceRectangleWithViewBackgroundX:xIn y:yIn width:wIn height:hIn @@ -1201,36 +1200,33 @@ ! fillRectangleWithPattern:aPixmap x:x y:y width:w height:h patternOffset:pattOffs - - "fill a rectangular area with aPixmap. - A helper for devices which do not support pixmap filling (i.e. win95 screens). - This is never invoked with X11 or Win-NT/XP/Vista systems. + "Fill a rectangular area with aPixmap. Caller must ensure that the aPixmap is really a form" |pX pY nW nH pO pC currentTransformation| currentTransformation := gc transformation. currentTransformation notNil ifTrue:[ - pO := currentTransformation transformPoint:x@y. - pC := currentTransformation transformPoint:(x+w-1)@(y+h-1). - pX := pO x. - pY := pO y. - nW := pC x - pX + 1. - nH := pC y - pY + 1. - - nW < 0 ifTrue:[ - nW := nW abs. - pX := pX - nW. - ]. - nH < 0 ifTrue:[ - nH := nH abs. - pY := pY - nH. - ]. + pO := currentTransformation transformPoint:x@y. + pC := currentTransformation transformPoint:(x+w-1)@(y+h-1). + pX := pO x. + pY := pO y. + nW := pC x - pX + 1. + nH := pC y - pY + 1. + + nW < 0 ifTrue:[ + nW := nW abs. + pX := pX - nW. + ]. + nH < 0 ifTrue:[ + nH := nH abs. + pY := pY - nH. + ]. ] ifFalse:[ - pX := x. - pY := y. - nW := w. - nH := h. + pX := x. + pY := y. + nW := w. + nH := h. ]. pX := pX rounded. pY := pY rounded. @@ -1238,24 +1234,24 @@ nH := nH rounded. self - fillDeviceRectangleWithPattern:aPixmap - x:pX y:pY width:nW height:nH - patternOffset:pattOffs - - "Modified: 4.6.1996 / 17:58:49 / cg" + fillDeviceRectangleWithPattern:aPixmap + x:pX y:pY width:nW height:nH + patternOffset:pattOffs + + "Modified: / 04-06-1996 / 17:58:49 / cg" + "Modified (comment): / 25-04-2016 / 20:48:49 / jv" ! fillRectangleWithViewBackgroundX:x y:y width:w height:h - - "fill a rectangular area with the viewBackground. - A helper for devices which do not support background pixmaps (i.e. win95 screens). - This is never invoked with X11 or Win-NT/XP/Vista systems. + "Fill a rectangular area with the viewBackground. Caller must ensure that the viewBackground is really a form" self - fillRectangleWithPattern:viewBackground - x:x y:y width:w height:h - patternOffset:self viewOrigin + fillRectangleWithPattern:viewBackground + x:x y:y width:w height:h + patternOffset:self viewOrigin + + "Modified (comment): / 25-04-2016 / 20:48:35 / jv" ! redraw @@ -2522,6 +2518,11 @@ version_CVS ^ '$Header$' +! + +version_HG + + ^ '$Changeset: $' ! !