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.
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 |