Hi Graydon, graydon hoare <[EMAIL PROTECTED]> wrote on Tue, 2 Sep 2003 20:25:19 -0400:
>http://gcc.gnu.org/ml/java-patches/2003-q3/msg00493.html Some more observations... (1) Shouldn't rotate, scale & friends install new AffineTransforms if transform == null? Otherwise, getTransform() will return wrong values. Why don't you simply create an identity transform in the constructor? The code would become cleaner (no checks for null transforms), and constructing an AffineTransform should be a rather inexpensive operation. (2) getTransform() should return a clone. (3) setClip(Shape) should replace the current clip, while clip(Shape) should set the new clip to the intersection of the current clip with the specified shape. The current assignment 'clip = s' in clip(Shape) is not correct. public void clip(Shape s) { Area area; area = new Area(s); if (clip != null) area.intersect(new Area(clip)); setClip(area); } However, there is the unfortunate problem that Classpath does not yet provide java.awt.geom.Area. (4) clipRect can be implemented by passing a java.awt.Rectangle to clip(Shape). The current implementation seems incorrect if the current clip is not rectangular. Best regards, -- Sascha Sascha Brawer, [EMAIL PROTECTED], http://www.dandelis.ch/people/brawer/ _______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/classpath

