picrate 0.5.0-java → 0.6.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.mvn/wrapper/maven-wrapper.properties +1 -1
- data/CHANGELOG.md +3 -1
- data/README.md +1 -1
- data/Rakefile +8 -6
- data/docs/_editors/geany.md +5 -4
- data/docs/_editors/vim.md +6 -0
- data/docs/_includes/head.html +1 -0
- data/docs/_libraries/control_panel.md +2 -2
- data/docs/_libraries/gl_video.md +21 -0
- data/docs/_posts/2018-05-06-getting_started.md +10 -9
- data/docs/_posts/2018-05-06-install_jruby.md +19 -2
- data/docs/_posts/2018-06-26-auto_install_picrate.md +19 -4
- data/docs/_posts/2018-11-18-building-gem.md +18 -0
- data/docs/_posts/2018-11-27-getting_started_geany.md +38 -0
- data/docs/about.md +21 -10
- data/docs/assets/android-chrome-192x192.png +0 -0
- data/docs/assets/android-chrome-512x512.png +0 -0
- data/docs/assets/favicon.ico +0 -0
- data/docs/assets/geany.png +0 -0
- data/docs/assets/jwishy_picrate.png +0 -0
- data/docs/assets/picrate.svg +251 -0
- data/docs/index.html +8 -14
- data/lib/picrate/runner.rb +6 -2
- data/lib/picrate/version.rb +1 -1
- data/library/boids/boids.rb +10 -13
- data/mvnw +234 -0
- data/picrate.gemspec +2 -1
- data/pom.rb +1 -1
- data/pom.xml +1 -1
- data/src/main/java/japplemenubar/JAppleMenuBar.java +10 -2
- data/src/main/java/monkstone/ColorUtil.java +11 -1
- data/src/main/java/monkstone/MathToolModule.java +1 -0
- data/src/main/java/monkstone/PicrateLibrary.java +1 -0
- data/src/main/java/monkstone/fastmath/Deglut.java +1 -0
- data/src/main/java/monkstone/noise/SimplexNoise.java +3 -3
- data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleSlider.java +8 -8
- data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/Slider.java +3 -3
- data/src/main/java/monkstone/slider/SliderBar.java +1 -1
- data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
- data/src/main/java/monkstone/vecmath/AppRender.java +1 -0
- data/src/main/java/monkstone/vecmath/JRender.java +1 -0
- data/src/main/java/monkstone/vecmath/ShapeRender.java +1 -0
- data/src/main/java/monkstone/vecmath/vec2/Vec2.java +8 -0
- data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -0
- data/src/main/java/processing/awt/PGraphicsJava2D.java +85 -16
- data/src/main/java/processing/awt/PSurfaceAWT.java +1 -1
- data/src/main/java/processing/core/PApplet.java +18 -12
- data/src/main/java/processing/core/PShape.java +1182 -305
- data/src/main/java/processing/core/PStyle.java +1 -1
- data/src/main/java/processing/core/PSurface.java +1 -1
- data/src/main/java/processing/data/FloatDict.java +196 -54
- data/src/main/java/processing/data/FloatList.java +167 -54
- data/src/main/java/processing/data/IntDict.java +211 -56
- data/src/main/java/processing/data/IntList.java +185 -52
- data/src/main/java/processing/data/JSONArray.java +69 -20
- data/src/main/java/processing/data/JSONObject.java +53 -12
- data/src/main/java/processing/data/Sort.java +40 -10
- data/src/main/java/processing/data/StringDict.java +159 -49
- data/src/main/java/processing/data/StringList.java +147 -42
- data/src/main/java/processing/data/Table.java +778 -223
- data/src/main/java/processing/data/TableRow.java +26 -2
- data/src/main/java/processing/data/XML.java +190 -50
- data/src/main/java/processing/event/Event.java +93 -0
- data/src/main/java/processing/event/KeyEvent.java +55 -13
- data/src/main/java/processing/event/MouseEvent.java +77 -1
- data/src/main/java/processing/event/TouchEvent.java +14 -1
- data/src/main/java/processing/javafx/PGraphicsFX2D.java +8 -0
- data/src/main/java/processing/opengl/FrameBuffer.java +228 -66
- data/src/main/java/processing/opengl/LinePath.java +131 -27
- data/src/main/java/processing/opengl/LineStroker.java +30 -5
- data/src/main/java/processing/opengl/PGL.java +4066 -865
- data/src/main/java/processing/opengl/PGraphics2D.java +38 -10
- data/src/main/java/processing/opengl/PGraphics3D.java +38 -6
- data/src/main/java/processing/opengl/PGraphicsOpenGL.java +1980 -474
- data/src/main/java/processing/opengl/PJOGL.java +1460 -248
- data/src/main/java/processing/opengl/PShader.java +904 -217
- data/src/main/java/processing/opengl/PShapeOpenGL.java +1811 -487
- data/src/main/java/processing/opengl/PSurfaceJOGL.java +278 -71
- data/src/main/java/processing/opengl/Texture.java +610 -135
- data/src/main/java/processing/opengl/VertexBuffer.java +45 -9
- data/src/main/resources/icon/icon-1024.png +0 -0
- data/src/main/resources/icon/icon-128.png +0 -0
- data/src/main/resources/icon/icon-16.png +0 -0
- data/src/main/resources/icon/icon-256.png +0 -0
- data/src/main/resources/icon/icon-32.png +0 -0
- data/src/main/resources/icon/icon-48.png +0 -0
- data/src/main/resources/icon/icon-512.png +0 -0
- data/src/main/resources/icon/icon-64.png +0 -0
- data/vendors/Rakefile +1 -1
- metadata +13 -6
- data/docs/assets/circle_collisions.png +0 -0
- data/docs/favicon.ico +0 -0
|
@@ -74,42 +74,112 @@ import processing.core.PSurface;
|
|
|
74
74
|
import processing.event.KeyEvent;
|
|
75
75
|
import processing.event.MouseEvent;
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @author Martin Prout
|
|
80
|
+
*/
|
|
78
81
|
public class PSurfaceJOGL implements PSurface {
|
|
79
82
|
/** Selected GL profile */
|
|
80
83
|
public static GLProfile profile;
|
|
81
84
|
|
|
82
|
-
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
public PJOGL pgl;
|
|
83
89
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
protected GLWindow window;
|
|
87
94
|
|
|
88
|
-
|
|
95
|
+
/**
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
protected FPSAnimator animator;
|
|
89
99
|
|
|
90
|
-
|
|
91
|
-
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
protected Rectangle screenRect;
|
|
92
104
|
|
|
93
|
-
|
|
94
|
-
protected int sketchHeight0;
|
|
95
|
-
protected int sketchWidth;
|
|
96
|
-
protected int sketchHeight;
|
|
105
|
+
private Thread drawExceptionHandler;
|
|
97
106
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
/**
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
protected PApplet sketch;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
*
|
|
114
|
+
*/
|
|
115
|
+
protected PGraphics graphics;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
*
|
|
119
|
+
*/
|
|
120
|
+
protected int sketchWidth0;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
protected int sketchHeight0;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
*
|
|
129
|
+
*/
|
|
130
|
+
protected int sketchWidth;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
*
|
|
134
|
+
*/
|
|
135
|
+
protected int sketchHeight;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
140
|
+
protected Display display;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
*/
|
|
145
|
+
protected Screen screen;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
*
|
|
149
|
+
*/
|
|
150
|
+
protected Rectangle displayRect;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
protected Throwable drawException;
|
|
102
156
|
private final Object drawExceptionMutex = new Object();
|
|
103
157
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
158
|
+
/**
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
161
|
+
protected NewtCanvasAWT canvas;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
*/
|
|
166
|
+
protected int windowScaleFactor;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
*
|
|
170
|
+
*/
|
|
171
|
+
protected float[] currentPixelScale = {0, 0};
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
*
|
|
175
|
+
*/
|
|
176
|
+
protected boolean external = false;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
*
|
|
180
|
+
* @param graphics
|
|
181
|
+
*/
|
|
182
|
+
public PSurfaceJOGL(PGraphics graphics) {
|
|
113
183
|
this.graphics = graphics;
|
|
114
184
|
this.pgl = (PJOGL) ((PGraphicsOpenGL)graphics).pgl;
|
|
115
185
|
}
|
|
@@ -144,8 +214,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
144
214
|
return window;
|
|
145
215
|
}
|
|
146
216
|
|
|
147
|
-
|
|
148
|
-
|
|
217
|
+
/**
|
|
218
|
+
*
|
|
219
|
+
*/
|
|
220
|
+
protected void initDisplay() {
|
|
149
221
|
display = NewtFactory.createDisplay(null);
|
|
150
222
|
display.addReference();
|
|
151
223
|
screen = NewtFactory.createScreen(display, 0);
|
|
@@ -177,8 +249,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
177
249
|
displayRect = awtDisplayDevice.getDefaultConfiguration().getBounds();
|
|
178
250
|
}
|
|
179
251
|
|
|
180
|
-
|
|
181
|
-
|
|
252
|
+
/**
|
|
253
|
+
*
|
|
254
|
+
*/
|
|
255
|
+
protected void initGL() {
|
|
182
256
|
// System.out.println("*******************************");
|
|
183
257
|
if (profile == null) {
|
|
184
258
|
if (PJOGL.profile == 1) {
|
|
@@ -240,8 +314,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
240
314
|
pgl.setCaps(caps);
|
|
241
315
|
}
|
|
242
316
|
|
|
243
|
-
|
|
244
|
-
|
|
317
|
+
/**
|
|
318
|
+
*
|
|
319
|
+
*/
|
|
320
|
+
protected void initWindow() {
|
|
245
321
|
window = GLWindow.create(screen, pgl.getCaps());
|
|
246
322
|
|
|
247
323
|
// Make sure that we pass the window close through to exit(), otherwise
|
|
@@ -346,8 +422,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
346
422
|
}
|
|
347
423
|
}
|
|
348
424
|
|
|
349
|
-
|
|
350
|
-
|
|
425
|
+
/**
|
|
426
|
+
*
|
|
427
|
+
*/
|
|
428
|
+
protected void initListeners() {
|
|
351
429
|
NEWTMouseListener mouseListener = new NEWTMouseListener();
|
|
352
430
|
window.addMouseListener(mouseListener);
|
|
353
431
|
NEWTKeyListener keyListener = new NEWTKeyListener();
|
|
@@ -359,8 +437,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
359
437
|
window.addGLEventListener(drawlistener);
|
|
360
438
|
}
|
|
361
439
|
|
|
362
|
-
|
|
363
|
-
|
|
440
|
+
/**
|
|
441
|
+
*
|
|
442
|
+
*/
|
|
443
|
+
protected void initAnimator() {
|
|
364
444
|
if (PApplet.platform == PConstants.WINDOWS) {
|
|
365
445
|
// Force Windows to keep timer resolution high by
|
|
366
446
|
// sleeping for time which is not a multiple of 10 ms.
|
|
@@ -471,8 +551,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
471
551
|
});
|
|
472
552
|
}
|
|
473
553
|
|
|
474
|
-
|
|
475
|
-
|
|
554
|
+
/**
|
|
555
|
+
*
|
|
556
|
+
*/
|
|
557
|
+
protected void initIcons() {
|
|
476
558
|
IOUtil.ClassResources res = null;
|
|
477
559
|
if (PJOGL.icons == null || PJOGL.icons.length == 0) {
|
|
478
560
|
// Default Processing icons
|
|
@@ -771,8 +853,11 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
771
853
|
}
|
|
772
854
|
}
|
|
773
855
|
|
|
774
|
-
|
|
775
|
-
|
|
856
|
+
/**
|
|
857
|
+
*
|
|
858
|
+
* @return
|
|
859
|
+
*/
|
|
860
|
+
public float getPixelScale() {
|
|
776
861
|
if (graphics.pixelDensity == 1) {
|
|
777
862
|
return 1;
|
|
778
863
|
}
|
|
@@ -791,13 +876,19 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
791
876
|
return currentPixelScale[0];
|
|
792
877
|
}
|
|
793
878
|
|
|
794
|
-
|
|
795
|
-
|
|
879
|
+
/**
|
|
880
|
+
*
|
|
881
|
+
* @return
|
|
882
|
+
*/
|
|
883
|
+
public Component getComponent() {
|
|
796
884
|
return canvas;
|
|
797
885
|
}
|
|
798
886
|
|
|
799
|
-
|
|
800
|
-
|
|
887
|
+
/**
|
|
888
|
+
*
|
|
889
|
+
* @param level
|
|
890
|
+
*/
|
|
891
|
+
public void setSmooth(int level) {
|
|
801
892
|
pgl.reqNumSamples = level;
|
|
802
893
|
GLCapabilities caps = new GLCapabilities(profile);
|
|
803
894
|
caps.setAlphaBits(PGL.REQUESTED_ALPHA_BITS);
|
|
@@ -833,8 +924,10 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
833
924
|
}
|
|
834
925
|
}
|
|
835
926
|
|
|
836
|
-
|
|
837
|
-
|
|
927
|
+
/**
|
|
928
|
+
*
|
|
929
|
+
*/
|
|
930
|
+
public void requestFocus() {
|
|
838
931
|
display.getEDTUtil().invoke(false, new Runnable() {
|
|
839
932
|
@Override
|
|
840
933
|
public void run() {
|
|
@@ -906,85 +999,168 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
906
999
|
}
|
|
907
1000
|
}
|
|
908
1001
|
|
|
1002
|
+
/**
|
|
1003
|
+
*
|
|
1004
|
+
*/
|
|
1005
|
+
protected class NEWTWindowListener implements com.jogamp.newt.event.WindowListener {
|
|
909
1006
|
|
|
910
|
-
|
|
911
|
-
|
|
1007
|
+
/**
|
|
1008
|
+
*
|
|
1009
|
+
*/
|
|
1010
|
+
public NEWTWindowListener() {
|
|
912
1011
|
super();
|
|
913
1012
|
}
|
|
914
|
-
|
|
1013
|
+
|
|
1014
|
+
/**
|
|
1015
|
+
*
|
|
1016
|
+
* @param arg0
|
|
1017
|
+
*/
|
|
1018
|
+
@Override
|
|
915
1019
|
public void windowGainedFocus(com.jogamp.newt.event.WindowEvent arg0) {
|
|
916
1020
|
sketch.focused = true;
|
|
917
1021
|
sketch.focusGained();
|
|
918
1022
|
}
|
|
919
1023
|
|
|
920
|
-
|
|
1024
|
+
/**
|
|
1025
|
+
*
|
|
1026
|
+
* @param arg0
|
|
1027
|
+
*/
|
|
1028
|
+
@Override
|
|
921
1029
|
public void windowLostFocus(com.jogamp.newt.event.WindowEvent arg0) {
|
|
922
1030
|
sketch.focused = false;
|
|
923
1031
|
sketch.focusLost();
|
|
924
1032
|
}
|
|
925
1033
|
|
|
926
|
-
|
|
1034
|
+
/**
|
|
1035
|
+
*
|
|
1036
|
+
* @param arg0
|
|
1037
|
+
*/
|
|
1038
|
+
@Override
|
|
927
1039
|
public void windowDestroyNotify(com.jogamp.newt.event.WindowEvent arg0) {
|
|
928
1040
|
sketch.exit();
|
|
929
1041
|
}
|
|
930
1042
|
|
|
931
|
-
|
|
1043
|
+
/**
|
|
1044
|
+
*
|
|
1045
|
+
* @param arg0
|
|
1046
|
+
*/
|
|
1047
|
+
@Override
|
|
932
1048
|
public void windowDestroyed(com.jogamp.newt.event.WindowEvent arg0) {
|
|
933
1049
|
sketch.exit();
|
|
934
1050
|
}
|
|
935
1051
|
|
|
936
|
-
|
|
1052
|
+
/**
|
|
1053
|
+
*
|
|
1054
|
+
* @param arg0
|
|
1055
|
+
*/
|
|
1056
|
+
@Override
|
|
937
1057
|
public void windowMoved(com.jogamp.newt.event.WindowEvent arg0) {
|
|
938
1058
|
if (external) {
|
|
939
1059
|
sketch.frameMoved(window.getX(), window.getY());
|
|
940
1060
|
}
|
|
941
1061
|
}
|
|
942
1062
|
|
|
943
|
-
|
|
1063
|
+
/**
|
|
1064
|
+
*
|
|
1065
|
+
* @param arg0
|
|
1066
|
+
*/
|
|
1067
|
+
@Override
|
|
944
1068
|
public void windowRepaint(com.jogamp.newt.event.WindowUpdateEvent arg0) {
|
|
945
1069
|
}
|
|
946
1070
|
|
|
947
|
-
|
|
1071
|
+
/**
|
|
1072
|
+
*
|
|
1073
|
+
* @param arg0
|
|
1074
|
+
*/
|
|
1075
|
+
@Override
|
|
948
1076
|
public void windowResized(com.jogamp.newt.event.WindowEvent arg0) {
|
|
949
1077
|
}
|
|
950
1078
|
}
|
|
951
1079
|
|
|
952
1080
|
|
|
953
1081
|
// NEWT mouse listener
|
|
1082
|
+
|
|
1083
|
+
/**
|
|
1084
|
+
*
|
|
1085
|
+
*/
|
|
954
1086
|
protected class NEWTMouseListener extends com.jogamp.newt.event.MouseAdapter {
|
|
955
|
-
|
|
1087
|
+
|
|
1088
|
+
/**
|
|
1089
|
+
*
|
|
1090
|
+
*/
|
|
1091
|
+
public NEWTMouseListener() {
|
|
956
1092
|
super();
|
|
957
1093
|
}
|
|
958
|
-
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
*
|
|
1097
|
+
* @param e
|
|
1098
|
+
*/
|
|
1099
|
+
@Override
|
|
959
1100
|
public void mousePressed(com.jogamp.newt.event.MouseEvent e) {
|
|
960
1101
|
nativeMouseEvent(e, MouseEvent.PRESS);
|
|
961
1102
|
}
|
|
962
|
-
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
*
|
|
1106
|
+
* @param e
|
|
1107
|
+
*/
|
|
1108
|
+
@Override
|
|
963
1109
|
public void mouseReleased(com.jogamp.newt.event.MouseEvent e) {
|
|
964
1110
|
nativeMouseEvent(e, MouseEvent.RELEASE);
|
|
965
1111
|
}
|
|
966
|
-
|
|
1112
|
+
|
|
1113
|
+
/**
|
|
1114
|
+
*
|
|
1115
|
+
* @param e
|
|
1116
|
+
*/
|
|
1117
|
+
@Override
|
|
967
1118
|
public void mouseClicked(com.jogamp.newt.event.MouseEvent e) {
|
|
968
1119
|
nativeMouseEvent(e, MouseEvent.CLICK);
|
|
969
1120
|
}
|
|
970
|
-
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
*
|
|
1124
|
+
* @param e
|
|
1125
|
+
*/
|
|
1126
|
+
@Override
|
|
971
1127
|
public void mouseDragged(com.jogamp.newt.event.MouseEvent e) {
|
|
972
1128
|
nativeMouseEvent(e, MouseEvent.DRAG);
|
|
973
1129
|
}
|
|
974
|
-
|
|
1130
|
+
|
|
1131
|
+
/**
|
|
1132
|
+
*
|
|
1133
|
+
* @param e
|
|
1134
|
+
*/
|
|
1135
|
+
@Override
|
|
975
1136
|
public void mouseMoved(com.jogamp.newt.event.MouseEvent e) {
|
|
976
1137
|
nativeMouseEvent(e, MouseEvent.MOVE);
|
|
977
1138
|
}
|
|
978
|
-
|
|
1139
|
+
|
|
1140
|
+
/**
|
|
1141
|
+
*
|
|
1142
|
+
* @param e
|
|
1143
|
+
*/
|
|
1144
|
+
@Override
|
|
979
1145
|
public void mouseWheelMoved(com.jogamp.newt.event.MouseEvent e) {
|
|
980
1146
|
nativeMouseEvent(e, MouseEvent.WHEEL);
|
|
981
1147
|
}
|
|
982
|
-
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
*
|
|
1151
|
+
* @param e
|
|
1152
|
+
*/
|
|
1153
|
+
@Override
|
|
983
1154
|
public void mouseEntered(com.jogamp.newt.event.MouseEvent e) {
|
|
984
1155
|
// System.out.println("enter");
|
|
985
1156
|
nativeMouseEvent(e, MouseEvent.ENTER);
|
|
986
1157
|
}
|
|
987
|
-
|
|
1158
|
+
|
|
1159
|
+
/**
|
|
1160
|
+
*
|
|
1161
|
+
* @param e
|
|
1162
|
+
*/
|
|
1163
|
+
@Override
|
|
988
1164
|
public void mouseExited(com.jogamp.newt.event.MouseEvent e) {
|
|
989
1165
|
// System.out.println("exit");
|
|
990
1166
|
nativeMouseEvent(e, MouseEvent.EXIT);
|
|
@@ -993,25 +1169,52 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
993
1169
|
|
|
994
1170
|
|
|
995
1171
|
// NEWT key listener
|
|
1172
|
+
|
|
1173
|
+
/**
|
|
1174
|
+
*
|
|
1175
|
+
*/
|
|
996
1176
|
protected class NEWTKeyListener extends com.jogamp.newt.event.KeyAdapter {
|
|
997
|
-
|
|
1177
|
+
|
|
1178
|
+
/**
|
|
1179
|
+
*
|
|
1180
|
+
*/
|
|
1181
|
+
public NEWTKeyListener() {
|
|
998
1182
|
super();
|
|
999
1183
|
}
|
|
1000
|
-
|
|
1184
|
+
|
|
1185
|
+
/**
|
|
1186
|
+
*
|
|
1187
|
+
* @param e
|
|
1188
|
+
*/
|
|
1189
|
+
@Override
|
|
1001
1190
|
public void keyPressed(com.jogamp.newt.event.KeyEvent e) {
|
|
1002
1191
|
nativeKeyEvent(e, KeyEvent.PRESS);
|
|
1003
1192
|
}
|
|
1004
|
-
|
|
1193
|
+
|
|
1194
|
+
/**
|
|
1195
|
+
*
|
|
1196
|
+
* @param e
|
|
1197
|
+
*/
|
|
1198
|
+
@Override
|
|
1005
1199
|
public void keyReleased(com.jogamp.newt.event.KeyEvent e) {
|
|
1006
1200
|
nativeKeyEvent(e, KeyEvent.RELEASE);
|
|
1007
1201
|
}
|
|
1008
|
-
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
*
|
|
1205
|
+
* @param e
|
|
1206
|
+
*/
|
|
1207
|
+
public void keyTyped(com.jogamp.newt.event.KeyEvent e) {
|
|
1009
1208
|
nativeKeyEvent(e, KeyEvent.TYPE);
|
|
1010
1209
|
}
|
|
1011
1210
|
}
|
|
1012
1211
|
|
|
1013
|
-
|
|
1014
|
-
|
|
1212
|
+
/**
|
|
1213
|
+
*
|
|
1214
|
+
* @param nativeEvent
|
|
1215
|
+
* @param peAction
|
|
1216
|
+
*/
|
|
1217
|
+
protected void nativeMouseEvent(com.jogamp.newt.event.MouseEvent nativeEvent,
|
|
1015
1218
|
int peAction) {
|
|
1016
1219
|
int modifiers = nativeEvent.getModifiers();
|
|
1017
1220
|
int peModifiers = modifiers &
|
|
@@ -1082,8 +1285,12 @@ public class PSurfaceJOGL implements PSurface {
|
|
|
1082
1285
|
sketch.postEvent(me);
|
|
1083
1286
|
}
|
|
1084
1287
|
|
|
1085
|
-
|
|
1086
|
-
|
|
1288
|
+
/**
|
|
1289
|
+
*
|
|
1290
|
+
* @param nativeEvent
|
|
1291
|
+
* @param peAction
|
|
1292
|
+
*/
|
|
1293
|
+
protected void nativeKeyEvent(com.jogamp.newt.event.KeyEvent nativeEvent,
|
|
1087
1294
|
int peAction) {
|
|
1088
1295
|
int peModifiers = nativeEvent.getModifiers() &
|
|
1089
1296
|
(InputEvent.SHIFT_MASK |
|