1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
14 * @author Toni Kalajainen
\r
16 package org.simantics.g2d.chassis;
\r
18 import java.awt.Color;
\r
19 import java.awt.Composite;
\r
20 import java.awt.Font;
\r
21 import java.awt.FontMetrics;
\r
22 import java.awt.Graphics;
\r
23 import java.awt.Graphics2D;
\r
24 import java.awt.GraphicsConfiguration;
\r
25 import java.awt.Image;
\r
26 import java.awt.Paint;
\r
27 import java.awt.Rectangle;
\r
28 import java.awt.RenderingHints;
\r
29 import java.awt.Shape;
\r
30 import java.awt.Stroke;
\r
31 import java.awt.RenderingHints.Key;
\r
32 import java.awt.font.FontRenderContext;
\r
33 import java.awt.font.GlyphVector;
\r
34 import java.awt.geom.AffineTransform;
\r
35 import java.awt.image.BufferedImage;
\r
36 import java.awt.image.BufferedImageOp;
\r
37 import java.awt.image.ImageObserver;
\r
38 import java.awt.image.RenderedImage;
\r
39 import java.awt.image.renderable.RenderableImage;
\r
40 import java.text.AttributedCharacterIterator;
\r
41 import java.util.Map;
\r
43 public class GraphicsAdapter extends Graphics2D {
\r
45 public final Graphics2D g;
\r
47 public GraphicsAdapter(Graphics2D g)
\r
54 public void addRenderingHints(Map<?, ?> hints) {
\r
55 g.addRenderingHints(hints);
\r
59 public void clip(Shape s) {
\r
64 public void draw(Shape s) {
\r
69 public void drawGlyphVector(GlyphVector g, float x, float y) {
\r
70 this.g.drawGlyphVector(g, x, y);
\r
74 public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
\r
75 return g.drawImage(img, xform, obs);
\r
79 public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {
\r
80 g.drawImage(img, op, x, y);
\r
84 public void drawRenderableImage(RenderableImage img, AffineTransform xform) {
\r
85 g.drawRenderableImage(img, xform);
\r
89 public void drawRenderedImage(RenderedImage img, AffineTransform xform) {
\r
90 g.drawRenderedImage(img, xform);
\r
94 public void drawString(String str, int x, int y) {
\r
95 g.drawString(str, x, y);
\r
99 public void drawString(String str, float x, float y) {
\r
100 g.drawString(str, x, y);
\r
104 public void drawString(AttributedCharacterIterator iterator, int x, int y) {
\r
105 g.drawString(iterator, x, y);
\r
109 public void drawString(AttributedCharacterIterator iterator, float x, float y) {
\r
110 g.drawString(iterator, x, y);
\r
114 public void fill(Shape s) {
\r
119 public Color getBackground() {
\r
120 return g.getBackground();
\r
124 public Composite getComposite() {
\r
125 return g.getComposite();
\r
129 public GraphicsConfiguration getDeviceConfiguration() {
\r
130 return g.getDeviceConfiguration();
\r
134 public FontRenderContext getFontRenderContext() {
\r
135 return g.getFontRenderContext();
\r
139 public Paint getPaint() {
\r
140 return g.getPaint();
\r
144 public Object getRenderingHint(Key hintKey) {
\r
145 return g.getRenderingHint(hintKey);
\r
149 public RenderingHints getRenderingHints() {
\r
150 return g.getRenderingHints();
\r
154 public Stroke getStroke() {
\r
155 return g.getStroke();
\r
159 public AffineTransform getTransform() {
\r
160 return g.getTransform();
\r
164 public boolean hit(Rectangle rect, Shape s, boolean onStroke) {
\r
165 return g.hit(rect, s, onStroke);
\r
169 public void rotate(double theta) {
\r
174 public void rotate(double theta, double x, double y) {
\r
175 g.rotate(theta, x, y);
\r
179 public void scale(double sx, double sy) {
\r
184 public void setBackground(Color color) {
\r
185 g.setBackground(color);
\r
189 public void setComposite(Composite comp) {
\r
190 g.setComposite(comp);
\r
194 public void setPaint(Paint paint) {
\r
199 public void setRenderingHint(Key hintKey, Object hintValue) {
\r
200 g.setRenderingHint(hintKey, hintValue);
\r
204 public void setRenderingHints(Map<?, ?> hints) {
\r
205 g.setRenderingHints(hints);
\r
209 public void setStroke(Stroke s) {
\r
214 public void setTransform(AffineTransform Tx) {
\r
215 g.setTransform(Tx);
\r
219 public void shear(double shx, double shy) {
\r
224 public void transform(AffineTransform Tx) {
\r
229 public void translate(int x, int y) {
\r
234 public void translate(double tx, double ty) {
\r
235 g.translate(tx, ty);
\r
239 public void clearRect(int x, int y, int width, int height) {
\r
240 g.clearRect(x, y, width, height);
\r
244 public void clipRect(int x, int y, int width, int height) {
\r
245 g.clearRect(x, y, width, height);
\r
249 public void copyArea(int x, int y, int width, int height, int dx, int dy) {
\r
250 g.copyArea(x, y, width, height, dx, dy);
\r
254 public Graphics create() {
\r
259 public void dispose() {
\r
263 public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
\r
264 g.drawArc(x, y, width, height, startAngle, arcAngle);
\r
268 public boolean drawImage(Image img, int x, int y, ImageObserver observer) {
\r
269 return g.drawImage(img, x, y, observer);
\r
273 public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) {
\r
274 return g.drawImage(img, x, y, bgcolor, observer);
\r
278 public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer) {
\r
279 return g.drawImage(img, x, y, width, height, observer);
\r
283 public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) {
\r
284 return g.drawImage(img, x, y, width, height, bgcolor, observer);
\r
288 public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,
\r
289 ImageObserver observer) {
\r
290 return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer);
\r
294 public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2,
\r
295 Color bgcolor, ImageObserver observer) {
\r
296 return g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, bgcolor, observer);
\r
300 public void drawLine(int x1, int y1, int x2, int y2) {
\r
301 g.drawLine(x1, y1, x2, y2);
\r
305 public void drawOval(int x, int y, int width, int height) {
\r
306 g.drawOval(x, y, width, height);
\r
310 public void drawPolygon(int[] points, int[] points2, int points3) {
\r
311 g.drawPolygon(points, points2, points3);
\r
315 public void drawPolyline(int[] points, int[] points2, int points3) {
\r
316 g.drawPolyline(points, points2, points3);
\r
320 public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
\r
321 g.drawRoundRect(x, y, width, height, arcWidth, arcHeight);
\r
325 public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
\r
326 g.fillArc(x, y, width, height, startAngle, arcAngle);
\r
330 public void fillOval(int x, int y, int width, int height) {
\r
331 g.fillOval(x, y, width, height);
\r
335 public void fillPolygon(int[] points, int[] points2, int points3) {
\r
336 g.fillPolygon(points, points2, points3);
\r
340 public void fillRect(int x, int y, int width, int height) {
\r
341 g.fillRect(x, y, width, height);
\r
345 public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) {
\r
346 g.fillRoundRect(x, y, width, height, arcWidth, arcHeight);
\r
350 public Shape getClip() {
\r
351 return g.getClip();
\r
355 public Rectangle getClipBounds() {
\r
356 return g.getClipBounds();
\r
360 public Color getColor() {
\r
361 return g.getColor();
\r
365 public Font getFont() {
\r
366 return g.getFont();
\r
370 public FontMetrics getFontMetrics(Font f) {
\r
371 return g.getFontMetrics(f);
\r
375 public void setClip(Shape clip) {
\r
380 public void setClip(int x, int y, int width, int height) {
\r
381 g.setClip(x, y, width, height);
\r
385 public void setColor(Color c) {
\r
390 public void setFont(Font font) {
\r
395 public void setPaintMode() {
\r
400 public void setXORMode(Color c1) {
\r