summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/WidgetButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/scape/WidgetButton.java')
-rw-r--r--NET/worlds/scape/WidgetButton.java163
1 files changed, 163 insertions, 0 deletions
diff --git a/NET/worlds/scape/WidgetButton.java b/NET/worlds/scape/WidgetButton.java
new file mode 100644
index 0000000..d51fca3
--- /dev/null
+++ b/NET/worlds/scape/WidgetButton.java
@@ -0,0 +1,163 @@
+/* */ package NET.worlds.scape;
+/* */
+/* */ import NET.worlds.console.Console;
+/* */ import NET.worlds.console.GammaFrame;
+/* */ import NET.worlds.console.ImageCanvas;
+/* */ import java.awt.Canvas;
+/* */ import java.awt.Dimension;
+/* */ import java.awt.Graphics;
+/* */ import java.awt.Image;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ abstract class WidgetButton
+/* */ extends Canvas
+/* */ {
+/* */ private static final long serialVersionUID = 1L;
+/* */ private String name;
+/* */ private Image image;
+/* */ private Dimension dim;
+/* */ private String prompt;
+/* */ private ToolBar toolbar;
+/* */ private boolean depressed;
+/* */
+/* */ WidgetButton(ToolBar toolbar, String name, String prompt)
+/* */ {
+/* 40 */ this.name = name;
+/* 41 */ this.toolbar = toolbar;
+/* 42 */ this.prompt = prompt;
+/* */ }
+/* */
+/* */ public WObject getWObject()
+/* */ {
+/* 47 */ return this.toolbar.getCurrentWObject();
+/* */ }
+/* */
+/* */ public String drag(boolean initialDrag, float deltax, float deltay)
+/* */ {
+/* 52 */ return null;
+/* */ }
+/* */
+/* */ protected ToolBar getToolBar()
+/* */ {
+/* 57 */ return this.toolbar;
+/* */ }
+/* */
+/* */ protected Point3Temp getWorldAxis(int ax, int ay, int az)
+/* */ {
+/* 62 */ Point3Temp p = new Point3(ax, ay, az)
+/* 63 */ .vectorTimes(Pilot.getActive());
+/* 64 */ float x = Math.abs(p.x);
+/* 65 */ float y = Math.abs(p.y);
+/* 66 */ float z = Math.abs(p.z);
+/* 67 */ if (x > y) {
+/* 68 */ if (x > z) {
+/* 69 */ return p.x > 0.0F ? Point3Temp.make(1.0F, 0.0F, 0.0F) :
+/* 70 */ Point3Temp.make(-1.0F, 0.0F, 0.0F);
+/* */ }
+/* 72 */ } else if (y > z)
+/* 73 */ return p.y > 0.0F ? Point3Temp.make(0.0F, 1.0F, 0.0F) :
+/* 74 */ Point3Temp.make(0.0F, -1.0F, 0.0F);
+/* 75 */ return p.z > 0.0F ? Point3Temp.make(0.0F, 0.0F, 1.0F) :
+/* 76 */ Point3Temp.make(0.0F, 0.0F, -1.0F);
+/* */ }
+/* */
+/* */ protected void applyWorldTransform(boolean initialDrag, Transform t)
+/* */ {
+/* 81 */ WObject wobj = getWObject();
+/* 82 */ if (initialDrag)
+/* 83 */ Console.getFrame().getEditTile().addUndoable(
+/* 84 */ new UndoablTransform(wobj));
+/* 85 */ Point3Temp pos = wobj.getPosition();
+/* 86 */ wobj.moveTo(0.0F, 0.0F, 0.0F).post(t).moveBy(pos);
+/* 87 */ wobj.markEdited();
+/* */ }
+/* */
+/* */ public void draw(boolean depressed)
+/* */ {
+/* 92 */ this.depressed = depressed;
+/* 93 */ Graphics g = getGraphics();
+/* 94 */ drawOutline(g);
+/* 95 */ g.dispose();
+/* */ }
+/* */
+/* */
+/* */ public void perform() {}
+/* */
+/* */
+/* */ public boolean usesDrag()
+/* */ {
+/* 104 */ return true;
+/* */ }
+/* */
+/* */ private void drawOutline(Graphics g)
+/* */ {
+/* 109 */ g.setColor(getBackground());
+/* 110 */ g.draw3DRect(0, 0, this.dim.width - 1, this.dim.height - 1, !this.depressed);
+/* */ }
+/* */
+/* */ public boolean available()
+/* */ {
+/* 115 */ return getWObject() != null;
+/* */ }
+/* */
+/* */ public void paint(Graphics g)
+/* */ {
+/* 120 */ super.paint(g);
+/* 121 */ if ((available()) && (this.dim.width != 0)) {
+/* 122 */ g.drawImage(this.image, 2, 2, this);
+/* 123 */ drawOutline(g);
+/* */ }
+/* */ }
+/* */
+/* */ private Dimension imageSize()
+/* */ {
+/* 129 */ if (this.image == null) {
+/* 130 */ this.image = ImageCanvas.getSystemImage(this.name, this);
+/* 131 */ if (this.image != null) {
+/* 132 */ int width = this.image.getWidth(this);
+/* 133 */ int height = this.image.getHeight(this);
+/* 134 */ if ((width != -1) && (height != -1)) {
+/* 135 */ return this.dim = new Dimension(width + 4, height + 4);
+/* */ }
+/* */ }
+/* 138 */ this.dim = new Dimension(0, 0);
+/* */ }
+/* 140 */ return this.dim;
+/* */ }
+/* */
+/* */ public Dimension getPreferredSize()
+/* */ {
+/* 145 */ return imageSize();
+/* */ }
+/* */
+/* */ public Dimension getMinimumSize()
+/* */ {
+/* 150 */ return imageSize();
+/* */ }
+/* */
+/* */ public String getPrompt()
+/* */ {
+/* 155 */ return this.prompt;
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\WidgetButton.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file