]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.g2d/src/org/simantics/g2d/chassis/DebugGraphics.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / chassis / DebugGraphics.java
index e35e7818c1656dfb1d5d5b729f04f957e8c7a69a..2d10cf5c654af176d0d26b9818c6789a2030dc38 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-/*\r
- *\r
- * @author Toni Kalajainen\r
- */\r
-package org.simantics.g2d.chassis;\r
-\r
-import java.awt.Color;\r
-import java.awt.Composite;\r
-import java.awt.Font;\r
-import java.awt.FontMetrics;\r
-import java.awt.Graphics;\r
-import java.awt.Graphics2D;\r
-import java.awt.GraphicsConfiguration;\r
-import java.awt.Image;\r
-import java.awt.Paint;\r
-import java.awt.Rectangle;\r
-import java.awt.RenderingHints;\r
-import java.awt.Shape;\r
-import java.awt.Stroke;\r
-import java.awt.RenderingHints.Key;\r
-import java.awt.font.FontRenderContext;\r
-import java.awt.font.GlyphVector;\r
-import java.awt.geom.AffineTransform;\r
-import java.awt.image.BufferedImage;\r
-import java.awt.image.BufferedImageOp;\r
-import java.awt.image.ImageObserver;\r
-import java.awt.image.RenderedImage;\r
-import java.awt.image.renderable.RenderableImage;\r
-import java.io.PrintStream;\r
-import java.text.AttributedCharacterIterator;\r
-import java.util.Arrays;\r
-import java.util.Map;\r
-\r
-public class DebugGraphics extends GraphicsAdapter {\r
-\r
-    public final PrintStream o;\r
-    \r
-    public DebugGraphics(Graphics2D g, PrintStream out)\r
-    {\r
-        super(g);\r
-        this.o = out;\r
-    }\r
-\r
-    public DebugGraphics(Graphics2D g)\r
-    {\r
-        super(g);\r
-        this.o = System.out;\r
-    }\r
-\r
-    public void print(Object ... args)\r
-    {\r
-        StackTraceElement[] e = Thread.currentThread().getStackTrace();\r
-        o.print( e[2].getMethodName() );\r
-        if (args!=null && args.length>0) {\r
-            o.print(Arrays.toString(args));\r
-        }\r
-        o.println();\r
-    }\r
-    \r
-    @Override\r
-    public void addRenderingHints(Map<?, ?> hints) {\r
-        print();\r
-        super.addRenderingHints(hints);\r
-    }\r
-\r
-    @Override\r
-    public void clip(Shape s) {\r
-        print();\r
-        super.clip(s);\r
-    }\r
-\r
-    @Override\r
-    public void draw(Shape s) {\r
-        print(s);\r
-        super.draw(s);\r
-    }\r
-\r
-    @Override\r
-    public void drawGlyphVector(GlyphVector g, float x, float y) {\r
-        super.drawGlyphVector(g, x, y);\r
-        print(g, x, y);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {\r
-        print(img, xform, obs);\r
-        return g.drawImage(img, xform, obs);\r
-    }\r
-\r
-    @Override\r
-    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {\r
-        print(img, op, x, y);\r
-        super.drawImage(img, op, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {\r
-        print(img, xform);\r
-        super.drawRenderableImage(img, xform);\r
-    }\r
-\r
-    @Override\r
-    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {\r
-        print(img, xform);\r
-        super.drawRenderedImage(img, xform);\r
-    }\r
-\r
-    @Override\r
-    public void drawString(String str, int x, int y) {\r
-        print(str, x, y);\r
-        super.drawString(str, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void drawString(String str, float x, float y) {\r
-        print(str, x, y);\r
-        super.drawString(str, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void drawString(AttributedCharacterIterator iterator, int x, int y) {\r
-        print(iterator, x, y);\r
-        super.drawString(iterator, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void drawString(AttributedCharacterIterator iterator, float x, float y) {\r
-        print(iterator, x, y);\r
-        super.drawString(iterator, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void fill(Shape s) {\r
-        print(s);\r
-        super.fill(s);\r
-    }\r
-\r
-    @Override\r
-    public Color getBackground() {\r
-        print();\r
-        return g.getBackground();\r
-    }\r
-\r
-    @Override\r
-    public Composite getComposite() {\r
-        print();\r
-        return g.getComposite();\r
-    }\r
-\r
-    @Override\r
-    public GraphicsConfiguration getDeviceConfiguration() {\r
-        print();\r
-        return g.getDeviceConfiguration();\r
-    }\r
-\r
-    @Override\r
-    public FontRenderContext getFontRenderContext() {\r
-        print();\r
-        return g.getFontRenderContext();\r
-    }\r
-\r
-    @Override\r
-    public Paint getPaint() {\r
-        print();\r
-        return g.getPaint();\r
-    }\r
-\r
-    @Override\r
-    public Object getRenderingHint(Key hintKey) {\r
-        print(hintKey);\r
-        return g.getRenderingHint(hintKey);\r
-    }\r
-\r
-    @Override\r
-    public RenderingHints getRenderingHints() {\r
-        print();\r
-        return g.getRenderingHints();\r
-    }\r
-\r
-    @Override\r
-    public Stroke getStroke() {\r
-        print();\r
-        return g.getStroke();\r
-    }\r
-\r
-    @Override\r
-    public AffineTransform getTransform() {\r
-        print();\r
-        return g.getTransform();\r
-    }\r
-\r
-    @Override\r
-    public boolean hit(Rectangle rect, Shape s, boolean onStroke) {\r
-        print(rect, s, onStroke);\r
-        return g.hit(rect, s, onStroke);\r
-    }\r
-\r
-    @Override\r
-    public void rotate(double theta) {\r
-        print(theta);\r
-        super.rotate(theta);\r
-    }\r
-\r
-    @Override\r
-    public void rotate(double theta, double x, double y) {\r
-        print(theta, x, y);\r
-        super.rotate(theta, x, y);\r
-    }\r
-\r
-    @Override\r
-    public void scale(double sx, double sy) {\r
-        print(sx, sy);\r
-        super.scale(sx, sy);\r
-    }\r
-\r
-    @Override\r
-    public void setBackground(Color color) {\r
-        print(color);\r
-        super.setBackground(color);\r
-    }\r
-\r
-    @Override\r
-    public void setComposite(Composite comp) {\r
-        print(comp);\r
-        super.setComposite(comp);\r
-    }\r
-\r
-    @Override\r
-    public void setPaint(Paint paint) {\r
-        print(paint);\r
-        super.setPaint(paint);\r
-    }\r
-\r
-    @Override\r
-    public void setRenderingHint(Key hintKey, Object hintValue) {\r
-        print(hintKey, hintValue);\r
-        super.setRenderingHint(hintKey, hintValue);\r
-    }\r
-\r
-    @Override\r
-    public void setRenderingHints(Map<?, ?> hints) { \r
-        print(hints);\r
-        super.setRenderingHints(hints);\r
-    }\r
-\r
-    @Override\r
-    public void setStroke(Stroke s) {\r
-        print(s);\r
-        super.setStroke(s);\r
-    }\r
-\r
-    @Override\r
-    public void setTransform(AffineTransform Tx) {\r
-        print(Tx);\r
-        super.setTransform(Tx);\r
-    }\r
-\r
-    @Override\r
-    public void shear(double shx, double shy) {\r
-        print(shx, shy);\r
-        super.shear(shx, shy);\r
-    }\r
-\r
-    @Override\r
-    public void transform(AffineTransform Tx) {\r
-        print(Tx);\r
-        super.transform(Tx);\r
-    }\r
-\r
-    @Override\r
-    public void translate(int x, int y) {\r
-        print(x, y);\r
-        super.translate(x, y);\r
-    }\r
-\r
-    @Override\r
-    public void translate(double tx, double ty) {\r
-        print(tx, ty);\r
-        super.translate(tx, ty);\r
-    }\r
-\r
-    @Override\r
-    public void clearRect(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.clearRect(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void clipRect(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.clearRect(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void copyArea(int x, int y, int width, int height, int dx, int dy) {\r
-        print(x, y, width, height, dx, dy);\r
-        super.copyArea(x, y, width, height, dx, dy);\r
-    }\r
-\r
-    @Override\r
-    public Graphics create() {\r
-        print();\r
-        return new DebugGraphics((Graphics2D) g.create());\r
-    }\r
-\r
-    @Override\r
-    public void dispose() {\r
-        print();\r
-        super.dispose();\r
-    }\r
-\r
-    @Override\r
-    public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {\r
-        print(x, y, width, height, startAngle, arcAngle);\r
-        super.drawArc(x, y, width, height, startAngle, arcAngle);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int x, int y, ImageObserver observer) {\r
-        print(img, x, y, observer);\r
-        return g.drawImage(img, x, y, observer);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) {\r
-        print(img, x, y, bgcolor, observer);\r
-        return g.drawImage(img, x, y, bgcolor, observer);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) {\r
-        print(img, x, y, width, height, observer);\r
-        return g.drawImage(img, x, y, width, height, observer);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) {\r
-        print(img, x, y, width, height, bgcolor, observer);\r
-        return g.drawImage(img, x, y, width, height, bgcolor, observer);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,\r
-            ImageObserver observer) {        \r
-        print(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);\r
-        return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);\r
-    }\r
-\r
-    @Override\r
-    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,\r
-            Color bgcolor, ImageObserver observer) {\r
-        print(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);\r
-        return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);\r
-    }\r
-\r
-    @Override\r
-    public void drawLine(int x1, int y1, int x2, int y2) {\r
-        print(x1, y1, x2, y2);\r
-        super.drawLine(x1, y1, x2, y2);\r
-    }\r
-\r
-    @Override\r
-    public void drawOval(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.drawOval(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void drawPolygon(int[] points, int[] points2, int points3) {\r
-        print(points, points2, points3);\r
-        super.drawPolygon(points, points2, points3);\r
-    }\r
-\r
-    @Override\r
-    public void drawPolyline(int[] points, int[] points2, int points3) {\r
-        print(points, points2, points3);\r
-        super.drawPolyline(points, points2, points3);\r
-    }\r
-\r
-    @Override\r
-    public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {\r
-        print(x, y, width, height, arcWidth, arcHeight);\r
-        super.drawRoundRect(x, y, width, height, arcWidth, arcHeight);\r
-    }\r
-\r
-    @Override\r
-    public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {\r
-        print(x, y, width, height, startAngle, arcAngle);\r
-        super.fillArc(x, y, width, height, startAngle, arcAngle);\r
-    }\r
-\r
-    @Override\r
-    public void fillOval(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.fillOval(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void fillPolygon(int[] points, int[] points2, int points3) {\r
-        print(points, points2, points3);\r
-        super.fillPolygon(points, points2, points3);\r
-    }\r
-\r
-    @Override\r
-    public void fillRect(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.fillRect(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {\r
-        print(x, y, width, height, arcWidth, arcHeight);\r
-        super.fillRoundRect(x, y, width, height, arcWidth, arcHeight);\r
-    }\r
-\r
-    @Override\r
-    public Shape getClip() {\r
-        print();\r
-        return g.getClip();\r
-    }\r
-\r
-    @Override\r
-    public Rectangle getClipBounds() {\r
-        print();\r
-        return g.getClipBounds();\r
-    }\r
-\r
-    @Override\r
-    public Color getColor() {\r
-        print();\r
-        return g.getColor();\r
-    }\r
-\r
-    @Override\r
-    public Font getFont() {\r
-        print();\r
-        return g.getFont();\r
-    }\r
-\r
-    @Override\r
-    public FontMetrics getFontMetrics(Font f) {\r
-        print();\r
-        return g.getFontMetrics(f);\r
-    }\r
-\r
-    @Override\r
-    public void setClip(Shape clip) {\r
-        print(clip);\r
-        super.setClip(clip);\r
-    }\r
-\r
-    @Override\r
-    public void setClip(int x, int y, int width, int height) {\r
-        print(x, y, width, height);\r
-        super.setClip(x, y, width, height);\r
-    }\r
-\r
-    @Override\r
-    public void setColor(Color c) {\r
-        print(c);\r
-        super.setColor(c);\r
-    }\r
-\r
-    @Override\r
-    public void setFont(Font font) {\r
-        print(font);\r
-        super.setFont(font);\r
-    }\r
-\r
-    @Override\r
-    public void setPaintMode() {\r
-        print();\r
-        super.setPaintMode();\r
-    }\r
-\r
-    @Override\r
-    public void setXORMode(Color c1) {\r
-        print(c1);\r
-        super.setXORMode(c1);\r
-    }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+/*
+ *
+ * @author Toni Kalajainen
+ */
+package org.simantics.g2d.chassis;
+
+import java.awt.Color;
+import java.awt.Composite;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.GraphicsConfiguration;
+import java.awt.Image;
+import java.awt.Paint;
+import java.awt.Rectangle;
+import java.awt.RenderingHints;
+import java.awt.Shape;
+import java.awt.Stroke;
+import java.awt.RenderingHints.Key;
+import java.awt.font.FontRenderContext;
+import java.awt.font.GlyphVector;
+import java.awt.geom.AffineTransform;
+import java.awt.image.BufferedImage;
+import java.awt.image.BufferedImageOp;
+import java.awt.image.ImageObserver;
+import java.awt.image.RenderedImage;
+import java.awt.image.renderable.RenderableImage;
+import java.io.PrintStream;
+import java.text.AttributedCharacterIterator;
+import java.util.Arrays;
+import java.util.Map;
+
+public class DebugGraphics extends GraphicsAdapter {
+
+    public final PrintStream o;
+    
+    public DebugGraphics(Graphics2D g, PrintStream out)
+    {
+        super(g);
+        this.o = out;
+    }
+
+    public DebugGraphics(Graphics2D g)
+    {
+        super(g);
+        this.o = System.out;
+    }
+
+    public void print(Object ... args)
+    {
+        StackTraceElement[] e = Thread.currentThread().getStackTrace();
+        o.print( e[2].getMethodName() );
+        if (args!=null && args.length>0) {
+            o.print(Arrays.toString(args));
+        }
+        o.println();
+    }
+    
+    @Override
+    public void addRenderingHints(Map<?, ?> hints) {
+        print();
+        super.addRenderingHints(hints);
+    }
+
+    @Override
+    public void clip(Shape s) {
+        print();
+        super.clip(s);
+    }
+
+    @Override
+    public void draw(Shape s) {
+        print(s);
+        super.draw(s);
+    }
+
+    @Override
+    public void drawGlyphVector(GlyphVector g, float x, float y) {
+        super.drawGlyphVector(g, x, y);
+        print(g, x, y);
+    }
+
+    @Override
+    public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
+        print(img, xform, obs);
+        return g.drawImage(img, xform, obs);
+    }
+
+    @Override
+    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
+        print(img, op, x, y);
+        super.drawImage(img, op, x, y);
+    }
+
+    @Override
+    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
+        print(img, xform);
+        super.drawRenderableImage(img, xform);
+    }
+
+    @Override
+    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
+        print(img, xform);
+        super.drawRenderedImage(img, xform);
+    }
+
+    @Override
+    public void drawString(String str, int x, int y) {
+        print(str, x, y);
+        super.drawString(str, x, y);
+    }
+
+    @Override
+    public void drawString(String str, float x, float y) {
+        print(str, x, y);
+        super.drawString(str, x, y);
+    }
+
+    @Override
+    public void drawString(AttributedCharacterIterator iterator, int x, int y) {
+        print(iterator, x, y);
+        super.drawString(iterator, x, y);
+    }
+
+    @Override
+    public void drawString(AttributedCharacterIterator iterator, float x, float y) {
+        print(iterator, x, y);
+        super.drawString(iterator, x, y);
+    }
+
+    @Override
+    public void fill(Shape s) {
+        print(s);
+        super.fill(s);
+    }
+
+    @Override
+    public Color getBackground() {
+        print();
+        return g.getBackground();
+    }
+
+    @Override
+    public Composite getComposite() {
+        print();
+        return g.getComposite();
+    }
+
+    @Override
+    public GraphicsConfiguration getDeviceConfiguration() {
+        print();
+        return g.getDeviceConfiguration();
+    }
+
+    @Override
+    public FontRenderContext getFontRenderContext() {
+        print();
+        return g.getFontRenderContext();
+    }
+
+    @Override
+    public Paint getPaint() {
+        print();
+        return g.getPaint();
+    }
+
+    @Override
+    public Object getRenderingHint(Key hintKey) {
+        print(hintKey);
+        return g.getRenderingHint(hintKey);
+    }
+
+    @Override
+    public RenderingHints getRenderingHints() {
+        print();
+        return g.getRenderingHints();
+    }
+
+    @Override
+    public Stroke getStroke() {
+        print();
+        return g.getStroke();
+    }
+
+    @Override
+    public AffineTransform getTransform() {
+        print();
+        return g.getTransform();
+    }
+
+    @Override
+    public boolean hit(Rectangle rect, Shape s, boolean onStroke) {
+        print(rect, s, onStroke);
+        return g.hit(rect, s, onStroke);
+    }
+
+    @Override
+    public void rotate(double theta) {
+        print(theta);
+        super.rotate(theta);
+    }
+
+    @Override
+    public void rotate(double theta, double x, double y) {
+        print(theta, x, y);
+        super.rotate(theta, x, y);
+    }
+
+    @Override
+    public void scale(double sx, double sy) {
+        print(sx, sy);
+        super.scale(sx, sy);
+    }
+
+    @Override
+    public void setBackground(Color color) {
+        print(color);
+        super.setBackground(color);
+    }
+
+    @Override
+    public void setComposite(Composite comp) {
+        print(comp);
+        super.setComposite(comp);
+    }
+
+    @Override
+    public void setPaint(Paint paint) {
+        print(paint);
+        super.setPaint(paint);
+    }
+
+    @Override
+    public void setRenderingHint(Key hintKey, Object hintValue) {
+        print(hintKey, hintValue);
+        super.setRenderingHint(hintKey, hintValue);
+    }
+
+    @Override
+    public void setRenderingHints(Map<?, ?> hints) { 
+        print(hints);
+        super.setRenderingHints(hints);
+    }
+
+    @Override
+    public void setStroke(Stroke s) {
+        print(s);
+        super.setStroke(s);
+    }
+
+    @Override
+    public void setTransform(AffineTransform Tx) {
+        print(Tx);
+        super.setTransform(Tx);
+    }
+
+    @Override
+    public void shear(double shx, double shy) {
+        print(shx, shy);
+        super.shear(shx, shy);
+    }
+
+    @Override
+    public void transform(AffineTransform Tx) {
+        print(Tx);
+        super.transform(Tx);
+    }
+
+    @Override
+    public void translate(int x, int y) {
+        print(x, y);
+        super.translate(x, y);
+    }
+
+    @Override
+    public void translate(double tx, double ty) {
+        print(tx, ty);
+        super.translate(tx, ty);
+    }
+
+    @Override
+    public void clearRect(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.clearRect(x, y, width, height);
+    }
+
+    @Override
+    public void clipRect(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.clearRect(x, y, width, height);
+    }
+
+    @Override
+    public void copyArea(int x, int y, int width, int height, int dx, int dy) {
+        print(x, y, width, height, dx, dy);
+        super.copyArea(x, y, width, height, dx, dy);
+    }
+
+    @Override
+    public Graphics create() {
+        print();
+        return new DebugGraphics((Graphics2D) g.create());
+    }
+
+    @Override
+    public void dispose() {
+        print();
+        super.dispose();
+    }
+
+    @Override
+    public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
+        print(x, y, width, height, startAngle, arcAngle);
+        super.drawArc(x, y, width, height, startAngle, arcAngle);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
+        print(img, x, y, observer);
+        return g.drawImage(img, x, y, observer);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) {
+        print(img, x, y, bgcolor, observer);
+        return g.drawImage(img, x, y, bgcolor, observer);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) {
+        print(img, x, y, width, height, observer);
+        return g.drawImage(img, x, y, width, height, observer);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) {
+        print(img, x, y, width, height, bgcolor, observer);
+        return g.drawImage(img, x, y, width, height, bgcolor, observer);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,
+            ImageObserver observer) {        
+        print(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);
+        return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);
+    }
+
+    @Override
+    public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,
+            Color bgcolor, ImageObserver observer) {
+        print(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);
+        return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);
+    }
+
+    @Override
+    public void drawLine(int x1, int y1, int x2, int y2) {
+        print(x1, y1, x2, y2);
+        super.drawLine(x1, y1, x2, y2);
+    }
+
+    @Override
+    public void drawOval(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.drawOval(x, y, width, height);
+    }
+
+    @Override
+    public void drawPolygon(int[] points, int[] points2, int points3) {
+        print(points, points2, points3);
+        super.drawPolygon(points, points2, points3);
+    }
+
+    @Override
+    public void drawPolyline(int[] points, int[] points2, int points3) {
+        print(points, points2, points3);
+        super.drawPolyline(points, points2, points3);
+    }
+
+    @Override
+    public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
+        print(x, y, width, height, arcWidth, arcHeight);
+        super.drawRoundRect(x, y, width, height, arcWidth, arcHeight);
+    }
+
+    @Override
+    public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
+        print(x, y, width, height, startAngle, arcAngle);
+        super.fillArc(x, y, width, height, startAngle, arcAngle);
+    }
+
+    @Override
+    public void fillOval(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.fillOval(x, y, width, height);
+    }
+
+    @Override
+    public void fillPolygon(int[] points, int[] points2, int points3) {
+        print(points, points2, points3);
+        super.fillPolygon(points, points2, points3);
+    }
+
+    @Override
+    public void fillRect(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.fillRect(x, y, width, height);
+    }
+
+    @Override
+    public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
+        print(x, y, width, height, arcWidth, arcHeight);
+        super.fillRoundRect(x, y, width, height, arcWidth, arcHeight);
+    }
+
+    @Override
+    public Shape getClip() {
+        print();
+        return g.getClip();
+    }
+
+    @Override
+    public Rectangle getClipBounds() {
+        print();
+        return g.getClipBounds();
+    }
+
+    @Override
+    public Color getColor() {
+        print();
+        return g.getColor();
+    }
+
+    @Override
+    public Font getFont() {
+        print();
+        return g.getFont();
+    }
+
+    @Override
+    public FontMetrics getFontMetrics(Font f) {
+        print();
+        return g.getFontMetrics(f);
+    }
+
+    @Override
+    public void setClip(Shape clip) {
+        print(clip);
+        super.setClip(clip);
+    }
+
+    @Override
+    public void setClip(int x, int y, int width, int height) {
+        print(x, y, width, height);
+        super.setClip(x, y, width, height);
+    }
+
+    @Override
+    public void setColor(Color c) {
+        print(c);
+        super.setColor(c);
+    }
+
+    @Override
+    public void setFont(Font font) {
+        print(font);
+        super.setFont(font);
+    }
+
+    @Override
+    public void setPaintMode() {
+        print();
+        super.setPaintMode();
+    }
+
+    @Override
+    public void setXORMode(Color c1) {
+        print(c1);
+        super.setXORMode(c1);
+    }
+
+}