Difference between revisions of "P2D/source"
< P2D
Jump to navigation
Jump to search
J Litewski (talk | contribs) (added new revision to David Alves, who created DrawingBot) |
J Litewski (talk | contribs) m (→Source: small bugfix) |
||
Line 8: | Line 8: | ||
//Point2D Pluggable Resource | //Point2D Pluggable Resource | ||
− | //Version 1.0. | + | //Version 1.0.1 |
public class P2D { | public class P2D { | ||
− | public static Vector renderables; | + | public static Vector renderables = new Vector(); |
private static abstract class Renderable { | private static abstract class Renderable { | ||
Line 116: | Line 116: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
==Revisions== | ==Revisions== | ||
;Core --[[User:David Alves]] | ;Core --[[User:David Alves]] |
Revision as of 18:19, 23 May 2009
Source
package Resources; import java.util.*; import java.awt.*; import java.awt.geom.Point2D; import java.io.*; //Point2D Pluggable Resource //Version 1.0.1 public class P2D { public static Vector renderables = new Vector(); private static abstract class Renderable { public abstract void render(Graphics2D g); private static class Circle extends Renderable { Point2D.Double center; double radius; Color color; public Circle(Point2D.Double center, double radius, Color color) { this.center = center; this.radius = radius; this.color = color; } public void render(Graphics2D g) { g.setColor(color); g.drawOval( (int)Math.round(center.x - radius), (int)Math.round(center.y - radius), (int)Math.round(2 * radius), (int)Math.round(2 * radius)); } } private static class Dot extends Renderable { Point2D.Double point; double radius; Color color; public Dot(Point2D.Double point, Color color) { this.point = point; this.radius = 2; this.color = color; } public void render(Graphics2D g) { g.setColor(color); g.drawOval( (int)Math.round(point.x - radius), (int)Math.round(point.y - radius), (int)Math.round(2 * radius), (int)Math.round(2 * radius)); } } private static class Line extends Renderable { Point2D.Double p1, p2; double radius; Color color; public Line(Point2D.Double p1, Point2D.Double p2, Color color) { this.p1 = p1; this.p2 = p2; this.color = color; } public void render(Graphics2D g) { g.setColor(color); g.drawLine( (int)Math.round(p1.x), (int)Math.round(p1.y), (int)Math.round(p2.x), (int)Math.round(p2.y)); } } private static class Text extends Renderable { String text; double x, y; double radius; Color color; public Text(String text, double x, double y, Color color) { this.text = text; this.x = x; this.y = y; this.color = color; } public void render(Graphics2D g) { g.setColor(color); g.drawString(text, (float)x, (float)y); } } } public void onPaint(Graphics2D g) { Iterator i = renderables.iterator(); while(i.hasNext()) { Renderable r = (Renderable) i.next(); r.render(g); } renderables.clear(); } public static void drawLine(Point2D.Double p1, Point2D.Double p2, Color color){ renderables.add(new Renderable.Line(p1, p2, color)); } public static void drawCircle(Point2D.Double center, double radius, Color color){ renderables.add(new Renderable.Circle(center, radius, color)); } public static void drawPoint(Point2D.Double p1, Color color){ renderables.add(new Renderable.Dot(p1, color)); } public static void drawText(String text, double x, double y, Color color){ renderables.add(new Renderable.Text(text, x, y, color)); } }
Revisions
- Core --User:David Alves
- Created DrawingBot
- 1.0.0 --HACKhalo2
- First Version