source: trunk/src/org/expeditee/gio/javafx/JavaFXConversions.java@ 1097

Last change on this file since 1097 was 1097, checked in by davidb, 6 years ago

Newly structured files from Corey's work on logic/graphics separation

File size: 6.1 KB
Line 
1package org.expeditee.gio.javafx;
2
3import javafx.scene.paint.CycleMethod;
4import javafx.scene.paint.Stop;
5
6public class JavaFXConversions {
7
8 public static org.expeditee.core.Colour fromJavaFXColor(javafx.scene.paint.Color color)
9 {
10 if (color == null) return null;
11
12 return new org.expeditee.core.Colour((float) color.getRed(), (float) color.getGreen(), (float) color.getBlue(), (float) color.getOpacity());
13 }
14
15 public static javafx.scene.paint.Color toJavaFXColor(org.expeditee.core.Colour colour)
16 {
17 if (colour == null) return null;
18
19 return new javafx.scene.paint.Color(colour.getRedFloat(), colour.getGreenFloat(), colour.getBlueFloat(), colour.getAlphaFloat());
20 }
21
22 public static org.expeditee.core.bounds.AxisAlignedBoxBounds fromJavaFXRectangle2D(javafx.geometry.Rectangle2D rectangle)
23 {
24 if (rectangle == null) return null;
25
26 return new org.expeditee.core.bounds.AxisAlignedBoxBounds((int) rectangle.getMinX(), (int) rectangle.getMinY(), (int) rectangle.getWidth(), (int) rectangle.getHeight());
27 }
28
29 public static javafx.geometry.Rectangle2D toJavaFXRectangle2D(org.expeditee.core.bounds.AxisAlignedBoxBounds box)
30 {
31 if (box == null) return null;
32
33 return new javafx.geometry.Rectangle2D(box.getMinX(), box.getMinY(), box.getWidth(), box.getHeight());
34 }
35
36 public static javafx.scene.paint.LinearGradient toJavaFXLinearGradient(org.expeditee.core.GradientFill fill)
37 {
38 if (fill == null) return null;
39
40 Stop[] stops = new Stop[2];
41 stops[0] = new Stop(0, toJavaFXColor(fill.getFromColour()));
42 stops[1] = new Stop(1, toJavaFXColor(fill.getToColour()));
43 CycleMethod cyclic = fill.isAcyclic() ? CycleMethod.NO_CYCLE : CycleMethod.REFLECT;
44 return new javafx.scene.paint.LinearGradient(
45 fill.getFromPoint().x,
46 fill.getFromPoint().y,
47 fill.getToPoint().x,
48 fill.getToPoint().y,
49 false,
50 cyclic,
51 stops
52 );
53 }
54
55 public static javafx.scene.shape.StrokeLineCap toJavaFXStrokeLineCap(org.expeditee.core.Stroke.CAP cap)
56 {
57 switch (cap) {
58 case BUTT:
59 return javafx.scene.shape.StrokeLineCap.BUTT;
60 case ROUND:
61 return javafx.scene.shape.StrokeLineCap.ROUND;
62 case SQUARE:
63 return javafx.scene.shape.StrokeLineCap.SQUARE;
64 default:
65 return null;
66 }
67 }
68
69 public static javafx.scene.shape.StrokeLineJoin toJavaFXStrokeLineJoin(org.expeditee.core.Stroke.JOIN join)
70 {
71 switch (join) {
72 case BEVEL:
73 return javafx.scene.shape.StrokeLineJoin.BEVEL;
74 case MITER:
75 return javafx.scene.shape.StrokeLineJoin.MITER;
76 case ROUND:
77 return javafx.scene.shape.StrokeLineJoin.ROUND;
78 default:
79 return null;
80 }
81 }
82
83 public static org.expeditee.gio.input.KBMInputEvent.Key fromJavaFXKeyCode(javafx.scene.input.KeyCode key)
84 {
85 switch (key) {
86 case SHIFT: return org.expeditee.gio.input.KBMInputEvent.Key.SHIFT;
87 case CONTROL: return org.expeditee.gio.input.KBMInputEvent.Key.CTRL;
88 case ALT: return org.expeditee.gio.input.KBMInputEvent.Key.ALT;
89 case ESCAPE: return org.expeditee.gio.input.KBMInputEvent.Key.ESC;
90 case F1: return org.expeditee.gio.input.KBMInputEvent.Key.F1;
91 case F2: return org.expeditee.gio.input.KBMInputEvent.Key.F2;
92 case F3: return org.expeditee.gio.input.KBMInputEvent.Key.F3;
93 case F4: return org.expeditee.gio.input.KBMInputEvent.Key.F4;
94 case F5: return org.expeditee.gio.input.KBMInputEvent.Key.F5;
95 case F6: return org.expeditee.gio.input.KBMInputEvent.Key.F6;
96 case F7: return org.expeditee.gio.input.KBMInputEvent.Key.F7;
97 case F8: return org.expeditee.gio.input.KBMInputEvent.Key.F8;
98 case F9: return org.expeditee.gio.input.KBMInputEvent.Key.F9;
99 case F10: return org.expeditee.gio.input.KBMInputEvent.Key.F10;
100 case F11: return org.expeditee.gio.input.KBMInputEvent.Key.F11;
101 case F12: return org.expeditee.gio.input.KBMInputEvent.Key.F12;
102 case UP: return org.expeditee.gio.input.KBMInputEvent.Key.UP_ARROW;
103 case DOWN: return org.expeditee.gio.input.KBMInputEvent.Key.DOWN_ARROW;
104 case LEFT: return org.expeditee.gio.input.KBMInputEvent.Key.LEFT_ARROW;
105 case RIGHT: return org.expeditee.gio.input.KBMInputEvent.Key.RIGHT_ARROW;
106 case HOME: return org.expeditee.gio.input.KBMInputEvent.Key.HOME;
107 case END: return org.expeditee.gio.input.KBMInputEvent.Key.END;
108 case DELETE: return org.expeditee.gio.input.KBMInputEvent.Key.DELETE;
109 case PAGE_UP: return org.expeditee.gio.input.KBMInputEvent.Key.PAGE_UP;
110 case PAGE_DOWN: return org.expeditee.gio.input.KBMInputEvent.Key.PAGE_DOWN;
111 case BACK_SPACE: return org.expeditee.gio.input.KBMInputEvent.Key.BACKSPACE;
112 case TAB: return org.expeditee.gio.input.KBMInputEvent.Key.TAB;
113 case A: return org.expeditee.gio.input.KBMInputEvent.Key.A;
114 case B: return org.expeditee.gio.input.KBMInputEvent.Key.B;
115 case C: return org.expeditee.gio.input.KBMInputEvent.Key.C;
116 case D: return org.expeditee.gio.input.KBMInputEvent.Key.D;
117 case E: return org.expeditee.gio.input.KBMInputEvent.Key.E;
118 case F: return org.expeditee.gio.input.KBMInputEvent.Key.F;
119 case G: return org.expeditee.gio.input.KBMInputEvent.Key.G;
120 case H: return org.expeditee.gio.input.KBMInputEvent.Key.H;
121 case I: return org.expeditee.gio.input.KBMInputEvent.Key.I;
122 case J: return org.expeditee.gio.input.KBMInputEvent.Key.J;
123 case K: return org.expeditee.gio.input.KBMInputEvent.Key.K;
124 case L: return org.expeditee.gio.input.KBMInputEvent.Key.L;
125 case M: return org.expeditee.gio.input.KBMInputEvent.Key.M;
126 case N: return org.expeditee.gio.input.KBMInputEvent.Key.N;
127 case O: return org.expeditee.gio.input.KBMInputEvent.Key.O;
128 case P: return org.expeditee.gio.input.KBMInputEvent.Key.P;
129 case Q: return org.expeditee.gio.input.KBMInputEvent.Key.Q;
130 case R: return org.expeditee.gio.input.KBMInputEvent.Key.R;
131 case S: return org.expeditee.gio.input.KBMInputEvent.Key.S;
132 case T: return org.expeditee.gio.input.KBMInputEvent.Key.T;
133 case U: return org.expeditee.gio.input.KBMInputEvent.Key.U;
134 case V: return org.expeditee.gio.input.KBMInputEvent.Key.V;
135 case W: return org.expeditee.gio.input.KBMInputEvent.Key.W;
136 case X: return org.expeditee.gio.input.KBMInputEvent.Key.X;
137 case Y: return org.expeditee.gio.input.KBMInputEvent.Key.Y;
138 case Z: return org.expeditee.gio.input.KBMInputEvent.Key.Z;
139 default: return null;
140 }
141 }
142}
Note: See TracBrowser for help on using the repository browser.