1 | package org.expeditee.gio.javafx;
|
---|
2 |
|
---|
3 | import javafx.scene.paint.CycleMethod;
|
---|
4 | import javafx.scene.paint.Stop;
|
---|
5 |
|
---|
6 | public 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().getX(),
|
---|
46 | fill.getFromPoint().getY(),
|
---|
47 | fill.getToPoint().getX(),
|
---|
48 | fill.getToPoint().getY(),
|
---|
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 | }
|
---|