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
@@ -21,27 +21,84 @@
21
21
  */
22
22
  package processing.event;
23
23
 
24
+ /**
25
+ *
26
+ * @author Martin Prout
27
+ */
24
28
  public class Event {
25
29
 
30
+ /**
31
+ *
32
+ */
26
33
  protected Object nativeObject;
27
34
 
35
+ /**
36
+ *
37
+ */
28
38
  protected long millis;
39
+
40
+ /**
41
+ *
42
+ */
29
43
  protected int action;
30
44
 
31
45
  // These correspond to the java.awt.Event modifiers (not to be confused with
32
46
  // the newer getModifiersEx), though they're not guaranteed to in the future.
47
+
48
+ /**
49
+ *
50
+ */
33
51
  static public final int SHIFT = 1;
52
+
53
+ /**
54
+ *
55
+ */
34
56
  static public final int CTRL = 1 << 1;
57
+
58
+ /**
59
+ *
60
+ */
35
61
  static public final int META = 1 << 2;
62
+
63
+ /**
64
+ *
65
+ */
36
66
  static public final int ALT = 1 << 3;
67
+
68
+ /**
69
+ *
70
+ */
37
71
  protected int modifiers;
38
72
 
39
73
  // Types of events. As with all constants in Processing, brevity's preferred.
74
+
75
+ /**
76
+ *
77
+ */
40
78
  static public final int KEY = 1;
79
+
80
+ /**
81
+ *
82
+ */
41
83
  static public final int MOUSE = 2;
84
+
85
+ /**
86
+ *
87
+ */
42
88
  static public final int TOUCH = 3;
89
+
90
+ /**
91
+ *
92
+ */
43
93
  protected int flavor;
44
94
 
95
+ /**
96
+ *
97
+ * @param nativeObject
98
+ * @param millis
99
+ * @param action
100
+ * @param modifiers
101
+ */
45
102
  public Event(Object nativeObject, long millis, int action, int modifiers) {
46
103
  this.nativeObject = nativeObject;
47
104
  this.millis = millis;
@@ -49,6 +106,10 @@ public class Event {
49
106
  this.modifiers = modifiers;
50
107
  }
51
108
 
109
+ /**
110
+ *
111
+ * @return
112
+ */
52
113
  public int getFlavor() {
53
114
  return flavor;
54
115
  }
@@ -69,6 +130,11 @@ public class Event {
69
130
  // public void setNative(Object nativeObject) {
70
131
  // this.nativeObject = nativeObject;
71
132
  // }
133
+
134
+ /**
135
+ *
136
+ * @return
137
+ */
72
138
  public long getMillis() {
73
139
  return millis;
74
140
  }
@@ -76,6 +142,11 @@ public class Event {
76
142
  // public void setMillis(long millis) {
77
143
  // this.millis = millis;
78
144
  // }
145
+
146
+ /**
147
+ *
148
+ * @return
149
+ */
79
150
  public int getAction() {
80
151
  return action;
81
152
  }
@@ -83,6 +154,11 @@ public class Event {
83
154
  // public void setAction(int action) {
84
155
  // this.action = action;
85
156
  // }
157
+
158
+ /**
159
+ *
160
+ * @return
161
+ */
86
162
  public int getModifiers() {
87
163
  return modifiers;
88
164
  }
@@ -90,18 +166,35 @@ public class Event {
90
166
  // public void setModifiers(int modifiers) {
91
167
  // this.modifiers = modifiers;
92
168
  // }
169
+
170
+ /**
171
+ *
172
+ * @return
173
+ */
93
174
  public boolean isShiftDown() {
94
175
  return (modifiers & SHIFT) != 0;
95
176
  }
96
177
 
178
+ /**
179
+ *
180
+ * @return
181
+ */
97
182
  public boolean isControlDown() {
98
183
  return (modifiers & CTRL) != 0;
99
184
  }
100
185
 
186
+ /**
187
+ *
188
+ * @return
189
+ */
101
190
  public boolean isMetaDown() {
102
191
  return (modifiers & META) != 0;
103
192
  }
104
193
 
194
+ /**
195
+ *
196
+ * @return
197
+ */
105
198
  public boolean isAltDown() {
106
199
  return (modifiers & ALT) != 0;
107
200
  }
@@ -22,19 +22,42 @@
22
22
 
23
23
  package processing.event;
24
24
 
25
-
25
+ /**
26
+ *
27
+ * @author Martin Prout
28
+ */
26
29
  public class KeyEvent extends Event {
27
- static public final int PRESS = 1;
28
- static public final int RELEASE = 2;
29
- static public final int TYPE = 3;
30
+
31
+ /**
32
+ *
33
+ */
34
+ static public final int PRESS = 1;
35
+
36
+ /**
37
+ *
38
+ */
39
+ static public final int RELEASE = 2;
40
+
41
+ /**
42
+ *
43
+ */
44
+ static public final int TYPE = 3;
30
45
 
31
46
  char key;
32
47
  int keyCode;
33
48
 
34
49
  boolean isAutoRepeat;
35
50
 
36
-
37
- public KeyEvent(Object nativeObject,
51
+ /**
52
+ *
53
+ * @param nativeObject
54
+ * @param millis
55
+ * @param action
56
+ * @param modifiers
57
+ * @param key
58
+ * @param keyCode
59
+ */
60
+ public KeyEvent(Object nativeObject,
38
61
  long millis, int action, int modifiers,
39
62
  char key, int keyCode) {
40
63
  super(nativeObject, millis, action, modifiers);
@@ -43,7 +66,17 @@ public class KeyEvent extends Event {
43
66
  this.keyCode = keyCode;
44
67
  }
45
68
 
46
- public KeyEvent(Object nativeObject,
69
+ /**
70
+ *
71
+ * @param nativeObject
72
+ * @param millis
73
+ * @param action
74
+ * @param modifiers
75
+ * @param key
76
+ * @param keyCode
77
+ * @param isAutoRepeat
78
+ */
79
+ public KeyEvent(Object nativeObject,
47
80
  long millis, int action, int modifiers,
48
81
  char key, int keyCode, boolean isAutoRepeat) {
49
82
  super(nativeObject, millis, action, modifiers);
@@ -53,18 +86,27 @@ public class KeyEvent extends Event {
53
86
  this.isAutoRepeat = isAutoRepeat;
54
87
  }
55
88
 
56
-
57
- public char getKey() {
89
+ /**
90
+ *
91
+ * @return
92
+ */
93
+ public char getKey() {
58
94
  return key;
59
95
  }
60
96
 
61
-
62
- public int getKeyCode() {
97
+ /**
98
+ *
99
+ * @return
100
+ */
101
+ public int getKeyCode() {
63
102
  return keyCode;
64
103
  }
65
104
 
66
-
67
- public boolean isAutoRepeat() {
105
+ /**
106
+ *
107
+ * @return
108
+ */
109
+ public boolean isAutoRepeat() {
68
110
  return isAutoRepeat;
69
111
  }
70
112
  }
@@ -22,21 +22,73 @@
22
22
  package processing.event;
23
23
 
24
24
  //import processing.core.PConstants;
25
+
26
+ /**
27
+ *
28
+ * @author Martin Prout
29
+ */
25
30
  public class MouseEvent extends Event {
26
31
 
32
+ /**
33
+ *
34
+ */
27
35
  static public final int PRESS = 1;
36
+
37
+ /**
38
+ *
39
+ */
28
40
  static public final int RELEASE = 2;
41
+
42
+ /**
43
+ *
44
+ */
29
45
  static public final int CLICK = 3;
46
+
47
+ /**
48
+ *
49
+ */
30
50
  static public final int DRAG = 4;
51
+
52
+ /**
53
+ *
54
+ */
31
55
  static public final int MOVE = 5;
56
+
57
+ /**
58
+ *
59
+ */
32
60
  static public final int ENTER = 6;
61
+
62
+ /**
63
+ *
64
+ */
33
65
  static public final int EXIT = 7;
66
+
67
+ /**
68
+ *
69
+ */
34
70
  static public final int WHEEL = 8;
35
71
 
36
- protected int x, y;
72
+ /**
73
+ *
74
+ */
75
+ protected int x,
76
+
77
+ /**
78
+ *
79
+ */
80
+ y;
81
+
82
+ /**
83
+ *
84
+ */
37
85
  protected int button;
38
86
  // protected int clickCount;
39
87
  // protected float amount;
88
+
89
+ /**
90
+ *
91
+ */
40
92
  protected int count;
41
93
 
42
94
  // public MouseEvent(int x, int y) {
@@ -44,6 +96,18 @@ public class MouseEvent extends Event {
44
96
  // System.currentTimeMillis(), PRESSED, 0,
45
97
  // x, y, PConstants.LEFT, 1);
46
98
  // }
99
+
100
+ /**
101
+ *
102
+ * @param nativeObject
103
+ * @param millis
104
+ * @param action
105
+ * @param modifiers
106
+ * @param x
107
+ * @param y
108
+ * @param button
109
+ * @param count
110
+ */
47
111
  public MouseEvent(Object nativeObject,
48
112
  long millis, int action, int modifiers,
49
113
  int x, int y, int button, int count) { //float amount) { //int clickCount) {
@@ -57,10 +121,18 @@ public class MouseEvent extends Event {
57
121
  this.count = count;
58
122
  }
59
123
 
124
+ /**
125
+ *
126
+ * @return
127
+ */
60
128
  public int getX() {
61
129
  return x;
62
130
  }
63
131
 
132
+ /**
133
+ *
134
+ * @return
135
+ */
64
136
  public int getY() {
65
137
  return y;
66
138
  }
@@ -141,6 +213,10 @@ public class MouseEvent extends Event {
141
213
  }
142
214
  }
143
215
 
216
+ /**
217
+ *
218
+ * @return
219
+ */
144
220
  @Override
145
221
  public String toString() {
146
222
  return String.format("<MouseEvent %s@%d,%d count:%d button:%d>",
@@ -48,9 +48,22 @@ Pointer and gesture events (Windows)
48
48
  http://msdn.microsoft.com/en-US/library/ie/hh673557.aspx
49
49
 
50
50
  */
51
+
52
+ /**
53
+ *
54
+ * @author Martin Prout
55
+ */
56
+
51
57
  public class TouchEvent extends Event {
52
58
 
53
- public TouchEvent(Object nativeObject, long millis, int action, int modifiers) {
59
+ /**
60
+ *
61
+ * @param nativeObject
62
+ * @param millis
63
+ * @param action
64
+ * @param modifiers
65
+ */
66
+ public TouchEvent(Object nativeObject, long millis, int action, int modifiers) {
54
67
  super(nativeObject, millis, action, modifiers);
55
68
  this.flavor = TOUCH;
56
69
  }
@@ -8,8 +8,16 @@ import processing.core.PMatrix3D;
8
8
  import processing.core.PShape;
9
9
  import processing.core.PSurface;
10
10
 
11
+ /**
12
+ *
13
+ * @author Martin Prout
14
+ */
11
15
  public class PGraphicsFX2D extends PGraphics{
12
16
  final String message = "FX2D renderer not supported in this version of picrate";
17
+
18
+ /**
19
+ *
20
+ */
13
21
  public PGraphicsFX2D(){
14
22
  }
15
23
 
@@ -42,33 +42,107 @@ import java.nio.IntBuffer;
42
42
  */
43
43
 
44
44
  public class FrameBuffer implements PConstants {
45
- protected PGraphicsOpenGL pg;
46
- protected PGL pgl;
47
- protected int context; // The context that created this framebuffer.
48
-
49
- public int glFbo;
50
- public int glDepth;
51
- public int glStencil;
52
- public int glDepthStencil;
53
- public int glMultisample;
54
- public int width;
55
- public int height;
56
- private GLResourceFrameBuffer glres;
57
-
58
- protected int depthBits;
59
- protected int stencilBits;
60
- protected boolean packedDepthStencil;
61
-
62
- protected boolean multisample;
63
- protected int nsamples;
64
45
 
65
- protected int numColorBuffers;
66
- protected Texture[] colorBufferTex;
67
-
68
- protected boolean screenFb;
69
- protected boolean noDepth;
46
+ /**
47
+ *
48
+ */
49
+ protected PGraphicsOpenGL pg;
50
+
51
+ /**
52
+ *
53
+ */
54
+ protected PGL pgl;
55
+
56
+ /**
57
+ *
58
+ */
59
+ protected int context; // The context that created this framebuffer.
60
+
61
+ /**
62
+ *
63
+ */
64
+ public int glFbo;
65
+
66
+ /**
67
+ *
68
+ */
69
+ public int glDepth;
70
+
71
+ /**
72
+ *
73
+ */
74
+ public int glStencil;
75
+
76
+ /**
77
+ *
78
+ */
79
+ public int glDepthStencil;
80
+
81
+ /**
82
+ *
83
+ */
84
+ public int glMultisample;
85
+
86
+ /**
87
+ *
88
+ */
89
+ public int width;
90
+
91
+ /**
92
+ *
93
+ */
94
+ public int height;
95
+ private GLResourceFrameBuffer glres;
70
96
 
71
- protected IntBuffer pixelBuffer;
97
+ /**
98
+ *
99
+ */
100
+ protected int depthBits;
101
+
102
+ /**
103
+ *
104
+ */
105
+ protected int stencilBits;
106
+
107
+ /**
108
+ *
109
+ */
110
+ protected boolean packedDepthStencil;
111
+
112
+ /**
113
+ *
114
+ */
115
+ protected boolean multisample;
116
+
117
+ /**
118
+ *
119
+ */
120
+ protected int nsamples;
121
+
122
+ /**
123
+ *
124
+ */
125
+ protected int numColorBuffers;
126
+
127
+ /**
128
+ *
129
+ */
130
+ protected Texture[] colorBufferTex;
131
+
132
+ /**
133
+ *
134
+ */
135
+ protected boolean screenFb;
136
+
137
+ /**
138
+ *
139
+ */
140
+ protected boolean noDepth;
141
+
142
+ /**
143
+ *
144
+ */
145
+ protected IntBuffer pixelBuffer;
72
146
 
73
147
 
74
148
  FrameBuffer(PGraphicsOpenGL pg) {
@@ -150,8 +224,10 @@ public class FrameBuffer implements PConstants {
150
224
  this(pg, w, h, 1, 1, 0, 0, false, screen);
151
225
  }
152
226
 
153
-
154
- public void clear() {
227
+ /**
228
+ *
229
+ */
230
+ public void clear() {
155
231
  pg.pushFramebuffer();
156
232
  pg.setFramebuffer(this);
157
233
  pgl.clearDepth(1);
@@ -163,19 +239,36 @@ public class FrameBuffer implements PConstants {
163
239
  pg.popFramebuffer();
164
240
  }
165
241
 
166
- public void copyColor(FrameBuffer dest) {
242
+ /**
243
+ *
244
+ * @param dest
245
+ */
246
+ public void copyColor(FrameBuffer dest) {
167
247
  copy(dest, PGL.COLOR_BUFFER_BIT);
168
248
  }
169
249
 
170
- public void copyDepth(FrameBuffer dest) {
250
+ /**
251
+ *
252
+ * @param dest
253
+ */
254
+ public void copyDepth(FrameBuffer dest) {
171
255
  copy(dest, PGL.DEPTH_BUFFER_BIT);
172
256
  }
173
257
 
174
- public void copyStencil(FrameBuffer dest) {
258
+ /**
259
+ *
260
+ * @param dest
261
+ */
262
+ public void copyStencil(FrameBuffer dest) {
175
263
  copy(dest, PGL.STENCIL_BUFFER_BIT);
176
264
  }
177
265
 
178
- public void copy(FrameBuffer dest, int mask) {
266
+ /**
267
+ *
268
+ * @param dest
269
+ * @param mask
270
+ */
271
+ public void copy(FrameBuffer dest, int mask) {
179
272
  pgl.bindFramebufferImpl(PGL.READ_FRAMEBUFFER, this.glFbo);
180
273
  pgl.bindFramebufferImpl(PGL.DRAW_FRAMEBUFFER, dest.glFbo);
181
274
  pgl.blitFramebuffer(0, 0, this.width, this.height,
@@ -184,15 +277,24 @@ public class FrameBuffer implements PConstants {
184
277
  pgl.bindFramebufferImpl(PGL.DRAW_FRAMEBUFFER, pg.getCurrentFB().glFbo);
185
278
  }
186
279
 
187
- public void bind() {
280
+ /**
281
+ *
282
+ */
283
+ public void bind() {
188
284
  pgl.bindFramebufferImpl(PGL.FRAMEBUFFER, glFbo);
189
285
  }
190
286
 
191
- public void disableDepthTest() {
287
+ /**
288
+ *
289
+ */
290
+ public void disableDepthTest() {
192
291
  noDepth = true;
193
292
  }
194
293
 
195
- public void finish() {
294
+ /**
295
+ *
296
+ */
297
+ public void finish() {
196
298
  if (noDepth) {
197
299
  // No need to clear depth buffer because depth testing was disabled.
198
300
  if (pg.getHint(ENABLE_DEPTH_TEST)) {
@@ -203,33 +305,56 @@ public class FrameBuffer implements PConstants {
203
305
  }
204
306
  }
205
307
 
206
- public void readPixels() {
308
+ /**
309
+ *
310
+ */
311
+ public void readPixels() {
207
312
  if (pixelBuffer == null) createPixelBuffer();
208
313
  pixelBuffer.rewind();
209
314
  pgl.readPixels(0, 0, width, height, PGL.RGBA, PGL.UNSIGNED_BYTE,
210
315
  pixelBuffer);
211
316
  }
212
317
 
213
- public void getPixels(int[] pixels) {
318
+ /**
319
+ *
320
+ * @param pixels
321
+ */
322
+ public void getPixels(int[] pixels) {
214
323
  if (pixelBuffer != null) {
215
324
  pixelBuffer.get(pixels, 0, pixels.length);
216
325
  pixelBuffer.rewind();
217
326
  }
218
327
  }
219
328
 
220
- public IntBuffer getPixelBuffer() {
329
+ /**
330
+ *
331
+ * @return
332
+ */
333
+ public IntBuffer getPixelBuffer() {
221
334
  return pixelBuffer;
222
335
  }
223
336
 
224
- public boolean hasDepthBuffer() {
337
+ /**
338
+ *
339
+ * @return
340
+ */
341
+ public boolean hasDepthBuffer() {
225
342
  return 0 < depthBits;
226
343
  }
227
344
 
228
- public boolean hasStencilBuffer() {
345
+ /**
346
+ *
347
+ * @return
348
+ */
349
+ public boolean hasStencilBuffer() {
229
350
  return 0 < stencilBits;
230
351
  }
231
352
 
232
- public void setFBO(int id) {
353
+ /**
354
+ *
355
+ * @param id
356
+ */
357
+ public void setFBO(int id) {
233
358
  if (screenFb) {
234
359
  glFbo = id;
235
360
  }
@@ -239,18 +364,28 @@ public class FrameBuffer implements PConstants {
239
364
 
240
365
  // Color buffer setters.
241
366
 
242
-
243
- public void setColorBuffer(Texture tex) {
367
+ /**
368
+ *
369
+ * @param tex
370
+ */
371
+ public void setColorBuffer(Texture tex) {
244
372
  setColorBuffers(new Texture[] { tex }, 1);
245
373
  }
246
374
 
247
-
248
- public void setColorBuffers(Texture[] textures) {
375
+ /**
376
+ *
377
+ * @param textures
378
+ */
379
+ public void setColorBuffers(Texture[] textures) {
249
380
  setColorBuffers(textures, textures.length);
250
381
  }
251
382
 
252
-
253
- public void setColorBuffers(Texture[] textures, int n) {
383
+ /**
384
+ *
385
+ * @param textures
386
+ * @param n
387
+ */
388
+ public void setColorBuffers(Texture[] textures, int n) {
254
389
  if (screenFb) return;
255
390
 
256
391
  if (numColorBuffers != PApplet.min(n, textures.length)) {
@@ -282,8 +417,10 @@ public class FrameBuffer implements PConstants {
282
417
  pg.popFramebuffer();
283
418
  }
284
419
 
285
-
286
- public void swapColorBuffers() {
420
+ /**
421
+ *
422
+ */
423
+ public void swapColorBuffers() {
287
424
  for (int i = 0; i < numColorBuffers - 1; i++) {
288
425
  int i1 = (i + 1);
289
426
  Texture tmp = colorBufferTex[i];
@@ -303,8 +440,11 @@ public class FrameBuffer implements PConstants {
303
440
  pg.popFramebuffer();
304
441
  }
305
442
 
306
-
307
- public int getDefaultReadBuffer() {
443
+ /**
444
+ *
445
+ * @return
446
+ */
447
+ public int getDefaultReadBuffer() {
308
448
  if (screenFb) {
309
449
  return pgl.getDefaultReadBuffer();
310
450
  } else {
@@ -312,8 +452,11 @@ public class FrameBuffer implements PConstants {
312
452
  }
313
453
  }
314
454
 
315
-
316
- public int getDefaultDrawBuffer() {
455
+ /**
456
+ *
457
+ * @return
458
+ */
459
+ public int getDefaultDrawBuffer() {
317
460
  if (screenFb) {
318
461
  return pgl.getDefaultDrawBuffer();
319
462
  } else {
@@ -326,6 +469,10 @@ public class FrameBuffer implements PConstants {
326
469
 
327
470
  // Allocate/release framebuffer.
328
471
 
472
+ /**
473
+ *
474
+ */
475
+
329
476
 
330
477
  protected void allocate() {
331
478
  dispose(); // Just in the case this object is being re-allocated.
@@ -353,8 +500,10 @@ public class FrameBuffer implements PConstants {
353
500
  }
354
501
  }
355
502
 
356
-
357
- protected void dispose() {
503
+ /**
504
+ *
505
+ */
506
+ protected void dispose() {
358
507
  if (screenFb) return;
359
508
  if (glres != null) {
360
509
  glres.dispose();
@@ -367,8 +516,11 @@ public class FrameBuffer implements PConstants {
367
516
  }
368
517
  }
369
518
 
370
-
371
- protected boolean contextIsOutdated() {
519
+ /**
520
+ *
521
+ * @return
522
+ */
523
+ protected boolean contextIsOutdated() {
372
524
  if (screenFb) return false;
373
525
 
374
526
  boolean outdated = !pgl.contextIsCurrent(context);
@@ -381,8 +533,10 @@ public class FrameBuffer implements PConstants {
381
533
  return outdated;
382
534
  }
383
535
 
384
-
385
- protected void initColorBufferMultisample() {
536
+ /**
537
+ *
538
+ */
539
+ protected void initColorBufferMultisample() {
386
540
  if (screenFb) return;
387
541
 
388
542
  pg.pushFramebuffer();
@@ -397,8 +551,10 @@ public class FrameBuffer implements PConstants {
397
551
  pg.popFramebuffer();
398
552
  }
399
553
 
400
-
401
- protected void initPackedDepthStencilBuffer() {
554
+ /**
555
+ *
556
+ */
557
+ protected void initPackedDepthStencilBuffer() {
402
558
  if (screenFb) return;
403
559
 
404
560
  if (width == 0 || height == 0) {
@@ -426,8 +582,10 @@ public class FrameBuffer implements PConstants {
426
582
  pg.popFramebuffer();
427
583
  }
428
584
 
429
-
430
- protected void initDepthBuffer() {
585
+ /**
586
+ *
587
+ */
588
+ protected void initDepthBuffer() {
431
589
  if (screenFb) return;
432
590
 
433
591
  if (width == 0 || height == 0) {
@@ -461,8 +619,10 @@ public class FrameBuffer implements PConstants {
461
619
  pg.popFramebuffer();
462
620
  }
463
621
 
464
-
465
- protected void initStencilBuffer() {
622
+ /**
623
+ *
624
+ */
625
+ protected void initStencilBuffer() {
466
626
  if (screenFb) return;
467
627
 
468
628
  if (width == 0 || height == 0) {
@@ -495,8 +655,10 @@ public class FrameBuffer implements PConstants {
495
655
  pg.popFramebuffer();
496
656
  }
497
657
 
498
-
499
- protected void createPixelBuffer() {
658
+ /**
659
+ *
660
+ */
661
+ protected void createPixelBuffer() {
500
662
  pixelBuffer = IntBuffer.allocate(width * height);
501
663
  pixelBuffer.rewind();
502
664
  }