[1097] | 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(
|
---|
[1144] | 45 | fill.getFromPoint().getX(),
|
---|
| 46 | fill.getFromPoint().getY(),
|
---|
| 47 | fill.getToPoint().getX(),
|
---|
| 48 | fill.getToPoint().getY(),
|
---|
[1097] | 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;
|
---|
[1415] | 139 | case ENTER: return org.expeditee.gio.input.KBMInputEvent.Key.ENTER;
|
---|
[1097] | 140 | default: return null;
|
---|
| 141 | }
|
---|
| 142 | }
|
---|
| 143 | }
|
---|