picrate 0.5.0-java → 0.6.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  3. data/CHANGELOG.md +3 -1
  4. data/README.md +1 -1
  5. data/Rakefile +8 -6
  6. data/docs/_editors/geany.md +5 -4
  7. data/docs/_editors/vim.md +6 -0
  8. data/docs/_includes/head.html +1 -0
  9. data/docs/_libraries/control_panel.md +2 -2
  10. data/docs/_libraries/gl_video.md +21 -0
  11. data/docs/_posts/2018-05-06-getting_started.md +10 -9
  12. data/docs/_posts/2018-05-06-install_jruby.md +19 -2
  13. data/docs/_posts/2018-06-26-auto_install_picrate.md +19 -4
  14. data/docs/_posts/2018-11-18-building-gem.md +18 -0
  15. data/docs/_posts/2018-11-27-getting_started_geany.md +38 -0
  16. data/docs/about.md +21 -10
  17. data/docs/assets/android-chrome-192x192.png +0 -0
  18. data/docs/assets/android-chrome-512x512.png +0 -0
  19. data/docs/assets/favicon.ico +0 -0
  20. data/docs/assets/geany.png +0 -0
  21. data/docs/assets/jwishy_picrate.png +0 -0
  22. data/docs/assets/picrate.svg +251 -0
  23. data/docs/index.html +8 -14
  24. data/lib/picrate/runner.rb +6 -2
  25. data/lib/picrate/version.rb +1 -1
  26. data/library/boids/boids.rb +10 -13
  27. data/mvnw +234 -0
  28. data/picrate.gemspec +2 -1
  29. data/pom.rb +1 -1
  30. data/pom.xml +1 -1
  31. data/src/main/java/japplemenubar/JAppleMenuBar.java +10 -2
  32. data/src/main/java/monkstone/ColorUtil.java +11 -1
  33. data/src/main/java/monkstone/MathToolModule.java +1 -0
  34. data/src/main/java/monkstone/PicrateLibrary.java +1 -0
  35. data/src/main/java/monkstone/fastmath/Deglut.java +1 -0
  36. data/src/main/java/monkstone/noise/SimplexNoise.java +3 -3
  37. data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
  38. data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
  39. data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
  40. data/src/main/java/monkstone/slider/SimpleSlider.java +8 -8
  41. data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
  42. data/src/main/java/monkstone/slider/Slider.java +3 -3
  43. data/src/main/java/monkstone/slider/SliderBar.java +1 -1
  44. data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
  45. data/src/main/java/monkstone/vecmath/AppRender.java +1 -0
  46. data/src/main/java/monkstone/vecmath/JRender.java +1 -0
  47. data/src/main/java/monkstone/vecmath/ShapeRender.java +1 -0
  48. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +8 -0
  49. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -0
  50. data/src/main/java/processing/awt/PGraphicsJava2D.java +85 -16
  51. data/src/main/java/processing/awt/PSurfaceAWT.java +1 -1
  52. data/src/main/java/processing/core/PApplet.java +18 -12
  53. data/src/main/java/processing/core/PShape.java +1182 -305
  54. data/src/main/java/processing/core/PStyle.java +1 -1
  55. data/src/main/java/processing/core/PSurface.java +1 -1
  56. data/src/main/java/processing/data/FloatDict.java +196 -54
  57. data/src/main/java/processing/data/FloatList.java +167 -54
  58. data/src/main/java/processing/data/IntDict.java +211 -56
  59. data/src/main/java/processing/data/IntList.java +185 -52
  60. data/src/main/java/processing/data/JSONArray.java +69 -20
  61. data/src/main/java/processing/data/JSONObject.java +53 -12
  62. data/src/main/java/processing/data/Sort.java +40 -10
  63. data/src/main/java/processing/data/StringDict.java +159 -49
  64. data/src/main/java/processing/data/StringList.java +147 -42
  65. data/src/main/java/processing/data/Table.java +778 -223
  66. data/src/main/java/processing/data/TableRow.java +26 -2
  67. data/src/main/java/processing/data/XML.java +190 -50
  68. data/src/main/java/processing/event/Event.java +93 -0
  69. data/src/main/java/processing/event/KeyEvent.java +55 -13
  70. data/src/main/java/processing/event/MouseEvent.java +77 -1
  71. data/src/main/java/processing/event/TouchEvent.java +14 -1
  72. data/src/main/java/processing/javafx/PGraphicsFX2D.java +8 -0
  73. data/src/main/java/processing/opengl/FrameBuffer.java +228 -66
  74. data/src/main/java/processing/opengl/LinePath.java +131 -27
  75. data/src/main/java/processing/opengl/LineStroker.java +30 -5
  76. data/src/main/java/processing/opengl/PGL.java +4066 -865
  77. data/src/main/java/processing/opengl/PGraphics2D.java +38 -10
  78. data/src/main/java/processing/opengl/PGraphics3D.java +38 -6
  79. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +1980 -474
  80. data/src/main/java/processing/opengl/PJOGL.java +1460 -248
  81. data/src/main/java/processing/opengl/PShader.java +904 -217
  82. data/src/main/java/processing/opengl/PShapeOpenGL.java +1811 -487
  83. data/src/main/java/processing/opengl/PSurfaceJOGL.java +278 -71
  84. data/src/main/java/processing/opengl/Texture.java +610 -135
  85. data/src/main/java/processing/opengl/VertexBuffer.java +45 -9
  86. data/src/main/resources/icon/icon-1024.png +0 -0
  87. data/src/main/resources/icon/icon-128.png +0 -0
  88. data/src/main/resources/icon/icon-16.png +0 -0
  89. data/src/main/resources/icon/icon-256.png +0 -0
  90. data/src/main/resources/icon/icon-32.png +0 -0
  91. data/src/main/resources/icon/icon-48.png +0 -0
  92. data/src/main/resources/icon/icon-512.png +0 -0
  93. data/src/main/resources/icon/icon-64.png +0 -0
  94. data/vendors/Rakefile +1 -1
  95. metadata +13 -6
  96. data/docs/assets/circle_collisions.png +0 -0
  97. 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
- public PJOGL pgl;
85
+ /**
86
+ *
87
+ */
88
+ public PJOGL pgl;
83
89
 
84
- protected GLWindow window;
85
- protected FPSAnimator animator;
86
- protected Rectangle screenRect;
90
+ /**
91
+ *
92
+ */
93
+ protected GLWindow window;
87
94
 
88
- private Thread drawExceptionHandler;
95
+ /**
96
+ *
97
+ */
98
+ protected FPSAnimator animator;
89
99
 
90
- protected PApplet sketch;
91
- protected PGraphics graphics;
100
+ /**
101
+ *
102
+ */
103
+ protected Rectangle screenRect;
92
104
 
93
- protected int sketchWidth0;
94
- protected int sketchHeight0;
95
- protected int sketchWidth;
96
- protected int sketchHeight;
105
+ private Thread drawExceptionHandler;
97
106
 
98
- protected Display display;
99
- protected Screen screen;
100
- protected Rectangle displayRect;
101
- protected Throwable drawException;
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
- protected NewtCanvasAWT canvas;
105
-
106
- protected int windowScaleFactor;
107
-
108
- protected float[] currentPixelScale = {0, 0};
109
-
110
- protected boolean external = false;
111
-
112
- public PSurfaceJOGL(PGraphics graphics) {
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
- protected void initDisplay() {
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
- protected void initGL() {
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
- protected void initWindow() {
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
- protected void initListeners() {
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
- protected void initAnimator() {
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
- protected void initIcons() {
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
- public float getPixelScale() {
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
- public Component getComponent() {
879
+ /**
880
+ *
881
+ * @return
882
+ */
883
+ public Component getComponent() {
796
884
  return canvas;
797
885
  }
798
886
 
799
-
800
- public void setSmooth(int level) {
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
- public void requestFocus() {
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
- protected class NEWTWindowListener implements com.jogamp.newt.event.WindowListener {
911
- public NEWTWindowListener() {
1007
+ /**
1008
+ *
1009
+ */
1010
+ public NEWTWindowListener() {
912
1011
  super();
913
1012
  }
914
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
1063
+ /**
1064
+ *
1065
+ * @param arg0
1066
+ */
1067
+ @Override
944
1068
  public void windowRepaint(com.jogamp.newt.event.WindowUpdateEvent arg0) {
945
1069
  }
946
1070
 
947
- @Override
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
- public NEWTMouseListener() {
1087
+
1088
+ /**
1089
+ *
1090
+ */
1091
+ public NEWTMouseListener() {
956
1092
  super();
957
1093
  }
958
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- @Override
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
- public NEWTKeyListener() {
1177
+
1178
+ /**
1179
+ *
1180
+ */
1181
+ public NEWTKeyListener() {
998
1182
  super();
999
1183
  }
1000
- @Override
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
- @Override
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
- public void keyTyped(com.jogamp.newt.event.KeyEvent e) {
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
- protected void nativeMouseEvent(com.jogamp.newt.event.MouseEvent nativeEvent,
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
- protected void nativeKeyEvent(com.jogamp.newt.event.KeyEvent nativeEvent,
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 |