Initial commit of newLISP.
[newlisp.git] / guiserver / java / ImageShape.java
blob11d42c335d415d8619dd8e62b03d233fe4b0a36c
1 //
2 // ImageShape.java
3 // guiserver
4 //
5 // Created by Lutz Mueller on 6/24/07.
6 //
7 //
8 // Copyright (C) 2007 Lutz Mueller
9 //
10 // This program is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with this program. If not, see <http://www.gnu.org/licenses/>.
25 import java.lang.*;
26 import java.awt.*;
27 import java.awt.color.*;
28 import java.awt.geom.*;
29 import java.util.*;
31 @SuppressWarnings("unchecked")
32 public class ImageShape extends Shape {
34 Image image;
35 int width;
36 int height;
38 boolean hasDimensions = false;
41 public ImageShape(StringTokenizer tokens)
43 tag = tokens.nextToken();
44 String path = Base64Coder.decodeString(tokens.nextToken());
45 X = Integer.parseInt(tokens.nextToken());
46 Y = Integer.parseInt(tokens.nextToken());
48 if(tokens.hasMoreTokens())
50 width = Integer.parseInt(tokens.nextToken());
51 height = Integer.parseInt(tokens.nextToken());
52 hasDimensions = true;
55 image = guiserver.getImageFromPath(path, this.getClass());
57 CanvasWidget.currentCanvas.drawobjects.add(this);
60 MediaTracker mt = new MediaTracker(imageObserver);
61 Image splashImage = Toolkit.getDefaultToolkit().getImage(
62 frame.getClass().getResource("/quids/unilever.jpg"));
63 mt.addImage(splashImage, 0);
65 try { mt.waitForID(0); }
66 catch(InterruptedException ie) {}
68 SplashWindow sw = new SplashWindow(frame, splashImage);
69 try { Thread.sleep(1500); }
70 catch(InterruptedException ie) {}
75 public void drawShape(Graphics2D g2)
77 //g2.setStroke(stroke);
78 //g2.setPaint(paintColor);
79 //g2.setComposite(currentComposite);
80 //int realW = image.getWidth(imageObserver);
81 //int realH = image.getWidth(imageObserver);
82 if(hasDimensions)
83 g2.drawImage(image, X, Y, width, height, CanvasWidget.currentCanvas.component);
84 else
85 g2.drawImage(image, X, Y, CanvasWidget.currentCanvas.component);
89 public boolean hasPoint(int x, int y)
91 return(new Rectangle(X, Y, width, height).contains(x, y));
97 // eof //