diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
| commit | e1e781bb2135ef78592226f1a3eaba4925702f1f (patch) | |
| tree | 8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/WidgetButton.java | |
| download | worlds.jar-main.tar.xz worlds.jar-main.zip | |
Diffstat (limited to 'NET/worlds/scape/WidgetButton.java')
| -rw-r--r-- | NET/worlds/scape/WidgetButton.java | 163 |
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 |