TranslationTransform.st
changeset 7058 086498ec51e4
parent 6696 ccbc45b4b691
child 8595 7f9b84978a2e
child 8714 43b1fe994982
--- a/TranslationTransform.st	Fri Nov 13 11:57:30 2015 +0100
+++ b/TranslationTransform.st	Fri Nov 13 11:57:45 2015 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1992 by Claus Gittinger
 	      All Rights Reserved
@@ -11,6 +13,8 @@
 "
 "{ Package: 'stx:libview' }"
 
+"{ NameSpace: Smalltalk }"
+
 DisplayTransform variableFloatSubclass:#TranslationTransform
 	instanceVariableNames:'translation'
 	classVariableNames:''
@@ -292,6 +296,15 @@
         ^ p
     ].
     ^ p + translation
+!
+
+transformRectangle:aRectangle 
+    "Apply the receiver to a rectangle, returning a new rectangle."
+
+    translation isNil ifTrue:[
+        ^ aRectangle.
+    ].
+    ^ aRectangle translatedBy:translation.
 ! !
 
 !TranslationTransform methodsFor:'printing & storing'!
@@ -308,12 +321,12 @@
 !TranslationTransform methodsFor:'private'!
 
 inverseTranslation
-    "return with a Point representing the inverse of my translation."
+    "return with a Point or Number representing the inverse of my translation."
 
-    |trans|
-
-    trans := translation asPoint.
-    ^ Point x:(trans x negated) y:trans y negated
+    translation isNil ifTrue:[
+        ^ nil.
+    ].
+    ^ translation negated.
 ! !
 
 !TranslationTransform methodsFor:'testing'!
@@ -376,10 +389,10 @@
 !TranslationTransform class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/TranslationTransform.st,v 1.1 2014-12-21 22:24:09 cg Exp $'
+    ^ '$Header$'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview/TranslationTransform.st,v 1.1 2014-12-21 22:24:09 cg Exp $'
+    ^ '$Header$'
 ! !