processing 0.5.33 → 0.5.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,96 +123,127 @@ module Processing
123
123
  REPLACE = :replace
124
124
 
125
125
  # Key code or Mode for textAlign().
126
+ #
126
127
  LEFT = :left
127
128
 
128
129
  # Key code or Mode for textAlign().
130
+ #
129
131
  RIGHT = :right
130
132
 
131
133
  # Mode for textAlign().
134
+ #
132
135
  TOP = :top
133
136
 
134
137
  # Mode for textAlign().
138
+ #
135
139
  BOTTOM = :bottom
136
140
 
137
141
  # Mode for textAlign().
142
+ #
138
143
  BASELINE = :baseline
139
144
 
140
145
  # Mode for textureMode().
146
+ #
141
147
  IMAGE = :image
142
148
 
143
149
  # Mode for textureMode().
150
+ #
144
151
  NORMAL = :normal
145
152
 
146
153
  # Mode for textureWrap().
154
+ #
147
155
  CLAMP = :clamp
148
156
 
149
157
  # Mode for textureWrap().
158
+ #
150
159
  REPEAT = :repeat
151
160
 
152
161
  # Filter type for filter()
162
+ #
153
163
  THRESHOLD = :threshold
154
164
 
155
165
  # Filter type for filter()
166
+ #
156
167
  GRAY = :gray
157
168
 
158
169
  # Filter type for filter()
170
+ #
159
171
  INVERT = :invert
160
172
 
161
173
  # Filter type for filter()
174
+ #
162
175
  BLUR = :blur
163
176
 
164
177
  # Shape mode for createShape()
178
+ #
165
179
  LINE = :line
166
180
 
167
181
  # Shape mode for createShape()
182
+ #
168
183
  RECT = :rect
169
184
 
170
185
  # Shape mode for createShape()
186
+ #
171
187
  ELLIPSE = :ellipse
172
188
 
173
189
  # Shape mode for createShape()
190
+ #
174
191
  ARC = :arc
175
192
 
176
193
  # Shape mode for createShape()
194
+ #
177
195
  TRIANGLE = :triangle
178
196
 
179
197
  # Shape mode for createShape()
198
+ #
180
199
  QUAD = :quad
181
200
 
182
201
  # Shape mode for createShape()
202
+ #
183
203
  GROUP = :group
184
204
 
185
205
  # Shape mode for beginShape()
206
+ #
186
207
  POINTS = :points
187
208
 
188
209
  # Shape mode for beginShape()
210
+ #
189
211
  LINES = :lines
190
212
 
191
213
  # Shape mode for beginShape()
214
+ #
192
215
  TRIANGLES = :triangles
193
216
 
194
217
  # Shape mode for beginShape()
218
+ #
195
219
  TRIANGLE_FAN = :triangle_fan
196
220
 
197
221
  # Shape mode for beginShape()
222
+ #
198
223
  TRIANGLE_STRIP = :triangle_strip
199
224
 
200
225
  # Shape mode for beginShape()
226
+ #
201
227
  QUADS = :quads
202
228
 
203
229
  # Shape mode for beginShape()
230
+ #
204
231
  QUAD_STRIP = :quad_strip
205
232
 
206
233
  # Shape mode for beginShape()
234
+ #
207
235
  TESS = :tess
208
236
 
209
237
  # OPEN flag for endShape()
238
+ #
210
239
  OPEN = :open
211
240
 
212
241
  # CLOSE flag for endShape()
242
+ #
213
243
  CLOSE = :close
214
244
 
215
245
  # Key codes.
246
+ #
216
247
  ENTER = :enter
217
248
  SPACE = :space
218
249
  TAB = :tab
@@ -382,6 +413,9 @@ module Processing
382
413
  #
383
414
  # @return [Numeric] width
384
415
  #
416
+ # @see https://processing.org/reference/width.html
417
+ # @see https://p5js.org/reference/#/p5/width
418
+ #
385
419
  def width()
386
420
  getInternal__.width
387
421
  end
@@ -390,6 +424,9 @@ module Processing
390
424
  #
391
425
  # @return [Numeric] height
392
426
  #
427
+ # @see https://processing.org/reference/height.html
428
+ # @see https://p5js.org/reference/#/p5/height
429
+ #
393
430
  def height()
394
431
  getInternal__.height
395
432
  end
@@ -398,6 +435,8 @@ module Processing
398
435
  #
399
436
  # @return [Numeric] width
400
437
  #
438
+ # @see https://processing.org/reference/pixelWidth.html
439
+ #
401
440
  def pixelWidth()
402
441
  width * pixelDensity
403
442
  end
@@ -406,6 +445,8 @@ module Processing
406
445
  #
407
446
  # @return [Numeric] height
408
447
  #
448
+ # @see https://processing.org/reference/pixelHeight.html
449
+ #
409
450
  def pixelHeight()
410
451
  height * pixelDensity
411
452
  end
@@ -414,6 +455,9 @@ module Processing
414
455
  #
415
456
  # @return [Numeric] pixel density
416
457
  #
458
+ # @see https://processing.org/reference/pixelDensity_.html
459
+ # @see https://p5js.org/reference/#/p5/pixelDensity
460
+ #
417
461
  def pixelDensity()
418
462
  @painter__.pixel_density
419
463
  end
@@ -448,6 +492,9 @@ module Processing
448
492
  #
449
493
  # @return [RGB, HSB] current mode
450
494
  #
495
+ # @see https://processing.org/reference/colorMode_.html
496
+ # @see https://p5js.org/reference/#/p5/colorMode
497
+ #
451
498
  def colorMode(mode = nil, *maxes)
452
499
  if mode != nil
453
500
  mode = mode.downcase.to_sym
@@ -479,6 +526,9 @@ module Processing
479
526
  #
480
527
  # @return [Integer] the rgba color value
481
528
  #
529
+ # @see https://processing.org/reference/color_.html
530
+ # @see https://p5js.org/reference/#/p5/color
531
+ #
482
532
  def color(*args)
483
533
  toRGBA__(*args)
484
534
  .map {|n| (n * 255).to_i.clamp 0, 255}
@@ -491,6 +541,9 @@ module Processing
491
541
  #
492
542
  # @return [Numeric] the red value
493
543
  #
544
+ # @see https://processing.org/reference/red_.html
545
+ # @see https://p5js.org/reference/#/p5/red
546
+ #
494
547
  def red(color)
495
548
  ((color >> 16) & 0xff) / 255.0 * @colorMaxes__[0]
496
549
  end
@@ -501,6 +554,9 @@ module Processing
501
554
  #
502
555
  # @return [Numeric] the green value
503
556
  #
557
+ # @see https://processing.org/reference/green_.html
558
+ # @see https://p5js.org/reference/#/p5/green
559
+ #
504
560
  def green(color)
505
561
  ((color >> 8) & 0xff) / 255.0 * @colorMaxes__[1]
506
562
  end
@@ -511,6 +567,9 @@ module Processing
511
567
  #
512
568
  # @return [Numeric] the blue value
513
569
  #
570
+ # @see https://processing.org/reference/blue_.html
571
+ # @see https://p5js.org/reference/#/p5/blue
572
+ #
514
573
  def blue(color)
515
574
  (color & 0xff) / 255.0 * @colorMaxes__[2]
516
575
  end
@@ -521,6 +580,9 @@ module Processing
521
580
  #
522
581
  # @return [Numeric] the red value
523
582
  #
583
+ # @see https://processing.org/reference/alpha_.html
584
+ # @see https://p5js.org/reference/#/p5/alpha
585
+ #
524
586
  def alpha(color)
525
587
  ((color >> 24) & 0xff) / 255.0 * @colorMaxes__[3]
526
588
  end
@@ -531,6 +593,9 @@ module Processing
531
593
  #
532
594
  # @return [Numeric] the hue value
533
595
  #
596
+ # @see https://processing.org/reference/hue_.html
597
+ # @see https://p5js.org/reference/#/p5/hue
598
+ #
534
599
  def hue(color)
535
600
  h, = toRawColor__(color).to_hsv
536
601
  h * (@hsbColor__ ? @colorMaxes__[0] : 1)
@@ -542,6 +607,9 @@ module Processing
542
607
  #
543
608
  # @return [Numeric] the saturation value
544
609
  #
610
+ # @see https://processing.org/reference/saturation_.html
611
+ # @see https://p5js.org/reference/#/p5/saturation
612
+ #
545
613
  def saturation(color)
546
614
  _, s, = toRawColor__(color).to_hsv
547
615
  s * (@hsbColor__ ? @colorMaxes__[1] : 1)
@@ -553,6 +621,9 @@ module Processing
553
621
  #
554
622
  # @return [Numeric] the brightness value
555
623
  #
624
+ # @see https://processing.org/reference/brightness_.html
625
+ # @see https://p5js.org/reference/#/p5/brightness
626
+ #
556
627
  def brightness(color)
557
628
  _, _, b = toRawColor__(color).to_hsv
558
629
  b * (@hsbColor__ ? @colorMaxes__[2] : 1)
@@ -606,6 +677,8 @@ module Processing
606
677
  #
607
678
  # @return [RADIANS, DEGREES] current mode
608
679
  #
680
+ # @see https://p5js.org/reference/#/p5/angleMode
681
+ #
609
682
  def angleMode(mode = nil)
610
683
  if mode != nil
611
684
  @angleMode__ = mode
@@ -650,6 +723,9 @@ module Processing
650
723
  #
651
724
  # @return [nil] nil
652
725
  #
726
+ # @see https://processing.org/reference/rectMode_.html
727
+ # @see https://p5js.org/reference/#/p5/rectMode
728
+ #
653
729
  def rectMode(mode)
654
730
  @rectMode__ = mode
655
731
  end
@@ -665,6 +741,9 @@ module Processing
665
741
  #
666
742
  # @return [nil] nil
667
743
  #
744
+ # @see https://processing.org/reference/ellipseMode_.html
745
+ # @see https://p5js.org/reference/#/p5/ellipseMode
746
+ #
668
747
  def ellipseMode(mode)
669
748
  @ellipseMode__ = mode
670
749
  end
@@ -679,6 +758,9 @@ module Processing
679
758
  #
680
759
  # @return [nil] nil
681
760
  #
761
+ # @see https://processing.org/reference/imageMode_.html
762
+ # @see https://p5js.org/reference/#/p5/imageMode
763
+ #
682
764
  def imageMode(mode)
683
765
  @imageMode__ = mode
684
766
  end
@@ -693,6 +775,8 @@ module Processing
693
775
  #
694
776
  # @return [nil] nil
695
777
  #
778
+ # @see https://processing.org/reference/shapeMode_.html
779
+ #
696
780
  def shapeMode(mode)
697
781
  @shapeMode__ = mode
698
782
  end
@@ -714,6 +798,9 @@ module Processing
714
798
  #
715
799
  # @return [nil] nil
716
800
  #
801
+ # @see https://processing.org/reference/blendMode_.html
802
+ # @see https://p5js.org/reference/#/p5/blendMode
803
+ #
717
804
  def blendMode(mode = nil)
718
805
  if mode != nil
719
806
  @blendMode__ = mode
@@ -740,6 +827,9 @@ module Processing
740
827
  #
741
828
  # @return [nil] nil
742
829
  #
830
+ # @see https://processing.org/reference/fill_.html
831
+ # @see https://p5js.org/reference/#/p5/fill
832
+ #
743
833
  def fill(*args)
744
834
  @painter__.fill(*toRGBA__(*args))
745
835
  nil
@@ -754,6 +844,9 @@ module Processing
754
844
  #
755
845
  # @return [nil] nil
756
846
  #
847
+ # @see https://processing.org/reference/noFill_.html
848
+ # @see https://p5js.org/reference/#/p5/noFill
849
+ #
757
850
  def noFill()
758
851
  @painter__.fill nil
759
852
  nil
@@ -777,6 +870,9 @@ module Processing
777
870
  #
778
871
  # @return [nil] nil
779
872
  #
873
+ # @see https://processing.org/reference/stroke_.html
874
+ # @see https://p5js.org/reference/#/p5/stroke
875
+ #
780
876
  def stroke(*args)
781
877
  @painter__.stroke(*toRGBA__(*args))
782
878
  nil
@@ -786,6 +882,9 @@ module Processing
786
882
  #
787
883
  # @return [nil] nil
788
884
  #
885
+ # @see https://processing.org/reference/noStroke_.html
886
+ # @see https://p5js.org/reference/#/p5/noStroke
887
+ #
789
888
  def noStroke()
790
889
  @painter__.stroke nil
791
890
  nil
@@ -797,6 +896,9 @@ module Processing
797
896
  #
798
897
  # @return [nil] nil
799
898
  #
899
+ # @see https://processing.org/reference/strokeWeight_.html
900
+ # @see https://p5js.org/reference/#/p5/strokeWeight
901
+ #
800
902
  def strokeWeight(weight)
801
903
  @painter__.stroke_width weight
802
904
  nil
@@ -808,6 +910,9 @@ module Processing
808
910
  #
809
911
  # @return [nil] nil
810
912
  #
913
+ # @see https://processing.org/reference/strokeCap_.html
914
+ # @see https://p5js.org/reference/#/p5/strokeCap
915
+ #
811
916
  def strokeCap(cap)
812
917
  @painter__.stroke_cap cap
813
918
  nil
@@ -819,6 +924,9 @@ module Processing
819
924
  #
820
925
  # @return [nil] nil
821
926
  #
927
+ # @see https://processing.org/reference/strokeJoin_.html
928
+ # @see https://p5js.org/reference/#/p5/strokeJoin
929
+ #
822
930
  def strokeJoin(join)
823
931
  @painter__.stroke_join join
824
932
  nil
@@ -888,6 +996,9 @@ module Processing
888
996
  #
889
997
  # @return [nil] nil
890
998
  #
999
+ # @see https://processing.org/reference/tint_.html
1000
+ # @see https://p5js.org/reference/#/p5/tint
1001
+ #
891
1002
  def tint(*args)
892
1003
  @tint__ = args
893
1004
  nil
@@ -897,6 +1008,9 @@ module Processing
897
1008
  #
898
1009
  # @return [nil] nil
899
1010
  #
1011
+ # @see https://processing.org/reference/noTint_.html
1012
+ # @see https://p5js.org/reference/#/p5/noTint
1013
+ #
900
1014
  def noTint()
901
1015
  @tint__ = nil
902
1016
  end
@@ -917,6 +1031,9 @@ module Processing
917
1031
  #
918
1032
  # @return [nil] nil
919
1033
  #
1034
+ # @see https://processing.org/reference/clip_.html
1035
+ # @see https://p5js.org/reference/#/p5/clip
1036
+ #
920
1037
  def clip(a, b, c, d)
921
1038
  x, y, w, h = toXYWH__ @imageMode__, a, b, c, d
922
1039
  @painter__.clip x, y, w, h
@@ -927,6 +1044,8 @@ module Processing
927
1044
  #
928
1045
  # @return [nil] nil
929
1046
  #
1047
+ # @see https://processing.org/reference/noClip_.html
1048
+ #
930
1049
  def noClip()
931
1050
  @painter__.no_clip
932
1051
  nil
@@ -947,6 +1066,9 @@ module Processing
947
1066
  #
948
1067
  # @return [Font] current font
949
1068
  #
1069
+ # @see https://processing.org/reference/textFont_.html
1070
+ # @see https://p5js.org/reference/#/p5/textFont
1071
+ #
950
1072
  def textFont(font = nil, size = nil)
951
1073
  if font != nil || size != nil
952
1074
  size = FONT_SIZE_MAX__ if size && size > FONT_SIZE_MAX__
@@ -967,25 +1089,63 @@ module Processing
967
1089
  #
968
1090
  # @return [nil] nil
969
1091
  #
1092
+ # @see https://processing.org/reference/textSize_.html
1093
+ # @see https://p5js.org/reference/#/p5/textSize
1094
+ #
970
1095
  def textSize(size)
971
1096
  textFont @textFont__, size
1097
+ nil
972
1098
  end
973
1099
 
1100
+ # Returns the width of the text.
1101
+ #
1102
+ # @param str [String] text string
1103
+ #
1104
+ # @return [Numeric] width of the text
1105
+ #
1106
+ # @see https://processing.org/reference/textWidth_.html
1107
+ # @see https://p5js.org/reference/#/p5/textWidth
1108
+ #
974
1109
  def textWidth(str)
975
1110
  @painter__.font.width str
976
1111
  end
977
1112
 
1113
+ # Returns ascent of the current font at its current size.
1114
+ #
1115
+ # @return [Numeric] ascent
1116
+ #
1117
+ # @see https://processing.org/reference/textAscent_.html
1118
+ # @see https://p5js.org/reference/#/p5/textAscent
1119
+ #
978
1120
  def textAscent()
979
1121
  @painter__.font.ascent
980
1122
  end
981
1123
 
1124
+ # Returns descent of the current font at its current size.
1125
+ #
1126
+ # @return [Numeric] descent
1127
+ #
1128
+ # @see https://processing.org/reference/textDescent_.html
1129
+ # @see https://p5js.org/reference/#/p5/textDescent
1130
+ #
982
1131
  def textDescent()
983
1132
  @painter__.font.descent
984
1133
  end
985
1134
 
1135
+ # Sets the alignment for drawing text.
1136
+ #
1137
+ # @param horizontal [LEFT, CENTER, RIGHT] horizontal alignment
1138
+ # @param vertical [TOP, BOTTOM, CENTER, BASELINE] vertical alignment
1139
+ #
1140
+ # @return [nil] nil
1141
+ #
1142
+ # @see https://processing.org/reference/textAlign_.html
1143
+ # @see https://p5js.org/reference/#/p5/textAlign
1144
+ #
986
1145
  def textAlign(horizontal, vertical = BASELINE)
987
1146
  @textAlignH__ = horizontal
988
1147
  @textAlignV__ = vertical
1148
+ nil
989
1149
  end
990
1150
 
991
1151
  # Sets the spacing between lines of text in units of pixels.
@@ -997,11 +1157,23 @@ module Processing
997
1157
  #
998
1158
  # @return [Numeric] current spacing
999
1159
  #
1160
+ # @see https://processing.org/reference/textLeading_.html
1161
+ # @see https://p5js.org/reference/#/p5/textLeading
1162
+ #
1000
1163
  def textLeading(leading = nil)
1001
1164
  @painter__.line_height = leading if leading
1002
1165
  @painter__.line_height
1003
1166
  end
1004
1167
 
1168
+ # Sets texture.
1169
+ #
1170
+ # @param image [Image] texture image
1171
+ #
1172
+ # @return [nil] nil
1173
+ #
1174
+ # @see https://processing.org/reference/texture_.html
1175
+ # @see https://p5js.org/reference/#/p5/texture
1176
+ #
1005
1177
  def texture(image)
1006
1178
  @painter__.texture image&.getInternal__
1007
1179
  nil
@@ -1050,6 +1222,9 @@ module Processing
1050
1222
  #
1051
1223
  # @return [nil] nil
1052
1224
  #
1225
+ # @see https://processing.org/reference/shader_.html
1226
+ # @see https://p5js.org/reference/#/p5/shader
1227
+ #
1053
1228
  def shader(shader)
1054
1229
  @painter__.shader shader&.getInternal__
1055
1230
  nil
@@ -1059,6 +1234,9 @@ module Processing
1059
1234
  #
1060
1235
  # @return [nil] nil
1061
1236
  #
1237
+ # @see https://processing.org/reference/resetShader_.html
1238
+ # @see https://p5js.org/reference/#/p5/resetShader
1239
+ #
1062
1240
  def resetShader()
1063
1241
  @painter__.no_shader
1064
1242
  nil
@@ -1074,8 +1252,14 @@ module Processing
1074
1252
  # @param type [THRESHOLD, GRAY, INVERT, BLUR] filter type
1075
1253
  # @param param [Numeric] a parameter for each filter
1076
1254
  #
1255
+ # @return [nil] nil
1256
+ #
1257
+ # @see https://processing.org/reference/filter_.html
1258
+ # @see https://p5js.org/reference/#/p5/filter
1259
+ #
1077
1260
  def filter(*args)
1078
1261
  @filter__ = Shader.createFilter__(*args)
1262
+ nil
1079
1263
  end
1080
1264
 
1081
1265
  # Clears screen.
@@ -1096,6 +1280,9 @@ module Processing
1096
1280
  #
1097
1281
  # @return [nil] nil
1098
1282
  #
1283
+ # @see https://processing.org/reference/background_.html
1284
+ # @see https://p5js.org/reference/#/p5/background
1285
+ #
1099
1286
  def background(*args)
1100
1287
  assertDrawing__
1101
1288
  rgba = toRGBA__(*args)
@@ -1122,6 +1309,9 @@ module Processing
1122
1309
  #
1123
1310
  # @return [nil] nil
1124
1311
  #
1312
+ # @see https://processing.org/reference/point_.html
1313
+ # @see https://p5js.org/reference/#/p5/point
1314
+ #
1125
1315
  def point(x, y)
1126
1316
  assertDrawing__
1127
1317
  @painter__.point x, y
@@ -1139,6 +1329,9 @@ module Processing
1139
1329
  #
1140
1330
  # @return [nil] nil
1141
1331
  #
1332
+ # @see https://processing.org/reference/line_.html
1333
+ # @see https://p5js.org/reference/#/p5/line
1334
+ #
1142
1335
  def line(x1, y1, x2, y2)
1143
1336
  assertDrawing__
1144
1337
  @painter__.line x1, y1, x2, y2
@@ -1167,6 +1360,9 @@ module Processing
1167
1360
  #
1168
1361
  # @return [nil] nil
1169
1362
  #
1363
+ # @see https://processing.org/reference/rect_.html
1364
+ # @see https://p5js.org/reference/#/p5/rect
1365
+ #
1170
1366
  def rect(a, b, c, d, *args)
1171
1367
  assertDrawing__
1172
1368
  x, y, w, h = toXYWH__ @rectMode__, a, b, c, d
@@ -1192,6 +1388,9 @@ module Processing
1192
1388
  #
1193
1389
  # @return [nil] nil
1194
1390
  #
1391
+ # @see https://processing.org/reference/ellipse_.html
1392
+ # @see https://p5js.org/reference/#/p5/ellipse
1393
+ #
1195
1394
  def ellipse(a, b, c, d)
1196
1395
  assertDrawing__
1197
1396
  x, y, w, h = toXYWH__ @ellipseMode__, a, b, c, d
@@ -1209,6 +1408,9 @@ module Processing
1209
1408
  #
1210
1409
  # @return [nil] nil
1211
1410
  #
1411
+ # @see https://processing.org/reference/circle_.html
1412
+ # @see https://p5js.org/reference/#/p5/circle
1413
+ #
1212
1414
  def circle(x, y, extent)
1213
1415
  ellipse x, y, extent, extent
1214
1416
  end
@@ -1228,6 +1430,9 @@ module Processing
1228
1430
  #
1229
1431
  # @return [nil] nil
1230
1432
  #
1433
+ # @see https://processing.org/reference/arc_.html
1434
+ # @see https://p5js.org/reference/#/p5/arc
1435
+ #
1231
1436
  def arc(a, b, c, d, start, stop)
1232
1437
  assertDrawing__
1233
1438
  x, y, w, h = toXYWH__ @ellipseMode__, a, b, c, d
@@ -1246,6 +1451,9 @@ module Processing
1246
1451
  #
1247
1452
  # @return [nil] nil
1248
1453
  #
1454
+ # @see https://processing.org/reference/square_.html
1455
+ # @see https://p5js.org/reference/#/p5/square
1456
+ #
1249
1457
  def square(x, y, extent)
1250
1458
  rect x, y, extent, extent
1251
1459
  end
@@ -1263,6 +1471,9 @@ module Processing
1263
1471
  #
1264
1472
  # @return [nil] nil
1265
1473
  #
1474
+ # @see https://processing.org/reference/triangle_.html
1475
+ # @see https://p5js.org/reference/#/p5/triangle
1476
+ #
1266
1477
  def triangle(x1, y1, x2, y2, x3, y3)
1267
1478
  assertDrawing__
1268
1479
  @painter__.line x1, y1, x2, y2, x3, y3, loop: true
@@ -1284,6 +1495,9 @@ module Processing
1284
1495
  #
1285
1496
  # @return [nil] nil
1286
1497
  #
1498
+ # @see https://processing.org/reference/quad_.html
1499
+ # @see https://p5js.org/reference/#/p5/quad
1500
+ #
1287
1501
  def quad(x1, y1, x2, y2, x3, y3, x4, y4)
1288
1502
  assertDrawing__
1289
1503
  @painter__.line x1, y1, x2, y2, x3, y3, x4, y4, loop: true
@@ -1305,6 +1519,9 @@ module Processing
1305
1519
  #
1306
1520
  # @return [nil] nil
1307
1521
  #
1522
+ # @see https://processing.org/reference/curve_.html
1523
+ # @see https://p5js.org/reference/#/p5/curve
1524
+ #
1308
1525
  def curve(cx1, cy1, x1, y1, x2, y2, cx2, cy2)
1309
1526
  assertDrawing__
1310
1527
  @painter__.nsegment = @curveDetail__
@@ -1328,6 +1545,9 @@ module Processing
1328
1545
  #
1329
1546
  # @return [nil] nil
1330
1547
  #
1548
+ # @see https://processing.org/reference/bezier_.html
1549
+ # @see https://p5js.org/reference/#/p5/bezier
1550
+ #
1331
1551
  def bezier(x1, y1, cx1, cy1, cx2, cy2, x2, y2)
1332
1552
  assertDrawing__
1333
1553
  @painter__.nsegment = @bezierDetail__
@@ -1356,6 +1576,9 @@ module Processing
1356
1576
  #
1357
1577
  # @return [nil] nil
1358
1578
  #
1579
+ # @see https://processing.org/reference/text_.html
1580
+ # @see https://p5js.org/reference/#/p5/text
1581
+ #
1359
1582
  def text(str, x, y, x2 = nil, y2 = nil)
1360
1583
  assertDrawing__
1361
1584
  if x2
@@ -1394,6 +1617,9 @@ module Processing
1394
1617
  #
1395
1618
  # @return [nil] nil
1396
1619
  #
1620
+ # @see https://processing.org/reference/image_.html
1621
+ # @see https://p5js.org/reference/#/p5/image
1622
+ #
1397
1623
  def image(img, a, b, c = nil, d = nil)
1398
1624
  assertDrawing__
1399
1625
  x, y, w, h = toXYWH__ @imageMode__, a, b, c || img.width, d || img.height
@@ -1418,6 +1644,8 @@ module Processing
1418
1644
  #
1419
1645
  # @return [nil] nil
1420
1646
  #
1647
+ # @see https://processing.org/reference/shape_.html
1648
+ #
1421
1649
  def shape(shp, a = 0, b = 0, c = nil, d = nil)
1422
1650
  assertDrawing__
1423
1651
  return nil unless shp.isVisible
@@ -1604,6 +1832,9 @@ module Processing
1604
1832
  #
1605
1833
  # @return [nil] nil
1606
1834
  #
1835
+ # @see https://processing.org/reference/copy_.html
1836
+ # @see https://p5js.org/reference/#/p5/copy
1837
+ #
1607
1838
  def copy(img = nil, sx, sy, sw, sh, dx, dy, dw, dh)
1608
1839
  blend img, sx, sy, sw, sh, dx, dy, dw, dh, BLEND
1609
1840
  end
@@ -1626,6 +1857,9 @@ module Processing
1626
1857
  #
1627
1858
  # @return [nil] nil
1628
1859
  #
1860
+ # @see https://processing.org/reference/blend_.html
1861
+ # @see https://p5js.org/reference/#/p5/blend
1862
+ #
1629
1863
  def blend(img = nil, sx, sy, sw, sh, dx, dy, dw, dh, mode)
1630
1864
  assertDrawing__
1631
1865
  (img || self).drawImage__(
@@ -1637,6 +1871,9 @@ module Processing
1637
1871
  #
1638
1872
  # @return [nil] nil
1639
1873
  #
1874
+ # @see https://processing.org/reference/loadPixels_.html
1875
+ # @see https://p5js.org/reference/#/p5/loadPixels
1876
+ #
1640
1877
  def loadPixels()
1641
1878
  @pixels__ = getInternal__.pixels
1642
1879
  end
@@ -1645,6 +1882,9 @@ module Processing
1645
1882
  #
1646
1883
  # @return [nil] nil
1647
1884
  #
1885
+ # @see https://processing.org/reference/updatePixels_.html
1886
+ # @see https://p5js.org/reference/#/p5/updatePixels
1887
+ #
1648
1888
  def updatePixels(&block)
1649
1889
  return if !block && !@pixels__
1650
1890
  if block
@@ -1661,6 +1901,11 @@ module Processing
1661
1901
  # An array of all pixels.
1662
1902
  # Call loadPixels() before accessing the array.
1663
1903
  #
1904
+ # @return [Array] color array
1905
+ #
1906
+ # @see https://processing.org/reference/pixels.html
1907
+ # @see https://p5js.org/reference/#/p5/pixels
1908
+ #
1664
1909
  def pixels()
1665
1910
  @pixels__
1666
1911
  end
@@ -1671,6 +1916,9 @@ module Processing
1671
1916
  #
1672
1917
  # @return [nil] nil
1673
1918
  #
1919
+ # @see https://processing.org/reference/save_.html
1920
+ # @see https://p5js.org/reference/#/p5/save
1921
+ #
1674
1922
  def save(filename)
1675
1923
  getInternal__.save filename
1676
1924
  nil
@@ -1683,10 +1931,13 @@ module Processing
1683
1931
  #
1684
1932
  # @param x [Numeric] left/right translation
1685
1933
  # @param y [Numeric] up/down translation
1686
- # @param y [Numeric] forward/backward translation
1934
+ # @param z [Numeric] forward/backward translation
1687
1935
  #
1688
1936
  # @return [nil] nil
1689
1937
  #
1938
+ # @see https://processing.org/reference/translate_.html
1939
+ # @see https://p5js.org/reference/#/p5/translate
1940
+ #
1690
1941
  def translate(x, y, z = 0)
1691
1942
  assertDrawing__
1692
1943
  @painter__.translate x, y, z
@@ -1697,13 +1948,18 @@ module Processing
1697
1948
  #
1698
1949
  # @overload scale(s)
1699
1950
  # @overload scale(x, y)
1951
+ # @overload scale(x, y, z)
1700
1952
  #
1701
1953
  # @param s [Numeric] horizontal and vertical scale
1702
1954
  # @param x [Numeric] horizontal scale
1703
1955
  # @param y [Numeric] vertical scale
1956
+ # @param z [Numeric] depth scale
1704
1957
  #
1705
1958
  # @return [nil] nil
1706
1959
  #
1960
+ # @see https://processing.org/reference/scale_.html
1961
+ # @see https://p5js.org/reference/#/p5/scale
1962
+ #
1707
1963
  def scale(x, y = nil, z = 1)
1708
1964
  assertDrawing__
1709
1965
  @painter__.scale x, (y || x), z
@@ -1716,30 +1972,69 @@ module Processing
1716
1972
  #
1717
1973
  # @return [nil] nil
1718
1974
  #
1975
+ # @see https://processing.org/reference/rotate_.html
1976
+ # @see https://p5js.org/reference/#/p5/rotate
1977
+ #
1719
1978
  def rotate(angle)
1720
1979
  assertDrawing__
1721
1980
  @painter__.rotate toDegrees__ angle
1722
1981
  nil
1723
1982
  end
1724
1983
 
1984
+ # Applies rotation around the x-axis.
1985
+ #
1986
+ # @param angle [Numeric] angle for rotation
1987
+ #
1988
+ # @return [nil] nil
1989
+ #
1990
+ # @see https://processing.org/reference/rotateX_.html
1991
+ # @see https://p5js.org/reference/#/p5/rotateX
1992
+ #
1725
1993
  def rotateX(angle)
1726
1994
  assertDrawing__
1727
1995
  @painter__.rotate toDegrees__(angle), 1, 0, 0
1728
1996
  nil
1729
1997
  end
1730
1998
 
1999
+ # Applies rotation around the y-axis.
2000
+ #
2001
+ # @param angle [Numeric] angle for rotation
2002
+ #
2003
+ # @return [nil] nil
2004
+ #
2005
+ # @see https://processing.org/reference/rotateY_.html
2006
+ # @see https://p5js.org/reference/#/p5/rotateY
2007
+ #
1731
2008
  def rotateY(angle)
1732
2009
  assertDrawing__
1733
2010
  @painter__.rotate toDegrees__(angle), 0, 1, 0
1734
2011
  nil
1735
2012
  end
1736
2013
 
2014
+ # Applies rotation around the z-axis.
2015
+ #
2016
+ # @param angle [Numeric] angle for rotation
2017
+ #
2018
+ # @return [nil] nil
2019
+ #
2020
+ # @see https://processing.org/reference/rotateZ_.html
2021
+ # @see https://p5js.org/reference/#/p5/rotateZ
2022
+ #
1737
2023
  def rotateZ(angle)
1738
2024
  assertDrawing__
1739
2025
  @painter__.rotate toDegrees__(angle), 0, 0, 1
1740
2026
  nil
1741
2027
  end
1742
2028
 
2029
+ # Applies shear around the x-axis.
2030
+ #
2031
+ # @param angle [Numeric] angle for shearing
2032
+ #
2033
+ # @return [nil] nil
2034
+ #
2035
+ # @see https://processing.org/reference/shearX_.html
2036
+ # @see https://p5js.org/reference/#/p5/shearX
2037
+ #
1743
2038
  def shearX(angle)
1744
2039
  t = Math.tan toRadians__(angle)
1745
2040
  @painter__.matrix *= Rays::Matrix.new(
@@ -1747,8 +2042,18 @@ module Processing
1747
2042
  0, 1, 0, 0,
1748
2043
  0, 0, 1, 0,
1749
2044
  0, 0, 0, 1)
2045
+ nil
1750
2046
  end
1751
2047
 
2048
+ # Applies shear around the y-axis.
2049
+ #
2050
+ # @param angle [Numeric] angle for shearing
2051
+ #
2052
+ # @return [nil] nil
2053
+ #
2054
+ # @see https://processing.org/reference/shearY_.html
2055
+ # @see https://p5js.org/reference/#/p5/shearY
2056
+ #
1752
2057
  def shearY(angle)
1753
2058
  t = Math.tan toRadians__(angle)
1754
2059
  @painter__.matrix *= Rays::Matrix.new(
@@ -1756,12 +2061,15 @@ module Processing
1756
2061
  t, 1, 0, 0,
1757
2062
  0, 0, 1, 0,
1758
2063
  0, 0, 0, 1)
2064
+ nil
1759
2065
  end
1760
2066
 
1761
2067
  # Pushes the current transformation matrix to stack.
1762
2068
  #
1763
2069
  # @return [Object] result of the expression at the end of the block
1764
2070
  #
2071
+ # @see https://processing.org/reference/pushMatrix_.html
2072
+ #
1765
2073
  def pushMatrix(&block)
1766
2074
  assertDrawing__
1767
2075
  @matrixStack__.push @painter__.matrix
@@ -1774,6 +2082,8 @@ module Processing
1774
2082
  #
1775
2083
  # @return [nil] nil
1776
2084
  #
2085
+ # @see https://processing.org/reference/popMatrix_.html
2086
+ #
1777
2087
  def popMatrix()
1778
2088
  assertDrawing__
1779
2089
  raise "matrix stack underflow" if @matrixStack__.empty?
@@ -1807,6 +2117,9 @@ module Processing
1807
2117
  #
1808
2118
  # @return [nil] nil
1809
2119
  #
2120
+ # @see https://processing.org/reference/applyMatrix_.html
2121
+ # @see https://p5js.org/reference/#/p5/applyMatrix
2122
+ #
1810
2123
  def applyMatrix(*args)
1811
2124
  assertDrawing__
1812
2125
  args = args.first if args.first.kind_of?(Array)
@@ -1830,6 +2143,9 @@ module Processing
1830
2143
  #
1831
2144
  # @return [nil] nil
1832
2145
  #
2146
+ # @see https://processing.org/reference/resetMatrix_.html
2147
+ # @see https://p5js.org/reference/#/p5/resetMatrix
2148
+ #
1833
2149
  def resetMatrix()
1834
2150
  assertDrawing__
1835
2151
  @painter__.matrix = 1
@@ -1840,6 +2156,8 @@ module Processing
1840
2156
  #
1841
2157
  # @return [nil] nil
1842
2158
  #
2159
+ # @see https://processing.org/reference/printMatrix_.html
2160
+ #
1843
2161
  def printMatrix()
1844
2162
  m = @painter__.matrix
1845
2163
  m.transpose! if @p5jsMode__
@@ -1851,6 +2169,8 @@ module Processing
1851
2169
  #
1852
2170
  # @return [Object] result of the expression at the end of the block
1853
2171
  #
2172
+ # @see https://processing.org/reference/pushStyle_.html
2173
+ #
1854
2174
  def pushStyle(&block)
1855
2175
  assertDrawing__
1856
2176
  @styleStack__.push [
@@ -1898,6 +2218,8 @@ module Processing
1898
2218
  #
1899
2219
  # @return [nil] nil
1900
2220
  #
2221
+ # @see https://processing.org/reference/popStyle_.html
2222
+ #
1901
2223
  def popStyle()
1902
2224
  assertDrawing__
1903
2225
  raise "style stack underflow" if @styleStack__.empty?
@@ -1943,6 +2265,9 @@ module Processing
1943
2265
  #
1944
2266
  # @return [Object] result of the expression at the end of the block
1945
2267
  #
2268
+ # @see https://processing.org/reference/push_.html
2269
+ # @see https://p5js.org/reference/#/p5/push
2270
+ #
1946
2271
  def push(&block)
1947
2272
  pushMatrix
1948
2273
  pushStyle
@@ -1955,6 +2280,9 @@ module Processing
1955
2280
  #
1956
2281
  # @return [nil] nil
1957
2282
  #
2283
+ # @see https://processing.org/reference/pop_.html
2284
+ # @see https://p5js.org/reference/#/p5/pop
2285
+ #
1958
2286
  def pop()
1959
2287
  popMatrix
1960
2288
  popStyle
@@ -1988,6 +2316,9 @@ module Processing
1988
2316
  #
1989
2317
  # @return [Numeric] absolute number
1990
2318
  #
2319
+ # @see https://processing.org/reference/abs_.html
2320
+ # @see https://p5js.org/reference/#/p5/abs
2321
+ #
1991
2322
  def abs(value)
1992
2323
  value.abs
1993
2324
  end
@@ -1998,6 +2329,9 @@ module Processing
1998
2329
  #
1999
2330
  # @return [Numeric] rounded up number
2000
2331
  #
2332
+ # @see https://processing.org/reference/ceil_.html
2333
+ # @see https://p5js.org/reference/#/p5/ceil
2334
+ #
2001
2335
  def ceil(value)
2002
2336
  value.ceil
2003
2337
  end
@@ -2008,6 +2342,9 @@ module Processing
2008
2342
  #
2009
2343
  # @return [Numeric] rounded down number
2010
2344
  #
2345
+ # @see https://processing.org/reference/floor_.html
2346
+ # @see https://p5js.org/reference/#/p5/floor
2347
+ #
2011
2348
  def floor(value)
2012
2349
  value.floor
2013
2350
  end
@@ -2018,6 +2355,9 @@ module Processing
2018
2355
  #
2019
2356
  # @return [Numeric] rounded number
2020
2357
  #
2358
+ # @see https://processing.org/reference/round_.html
2359
+ # @see https://p5js.org/reference/#/p5/round
2360
+ #
2021
2361
  def round(value)
2022
2362
  value.round
2023
2363
  end
@@ -2028,6 +2368,9 @@ module Processing
2028
2368
  #
2029
2369
  # @return [Numeric] result number
2030
2370
  #
2371
+ # @see https://processing.org/reference/log_.html
2372
+ # @see https://p5js.org/reference/#/p5/log
2373
+ #
2031
2374
  def log(n)
2032
2375
  Math.log n
2033
2376
  end
@@ -2038,6 +2381,9 @@ module Processing
2038
2381
  #
2039
2382
  # @return [Numeric] result number
2040
2383
  #
2384
+ # @see https://processing.org/reference/exp_.html
2385
+ # @see https://p5js.org/reference/#/p5/exp
2386
+ #
2041
2387
  def exp(n)
2042
2388
  Math.exp n
2043
2389
  end
@@ -2049,6 +2395,9 @@ module Processing
2049
2395
  #
2050
2396
  # @return [Numeric] value ** exponent
2051
2397
  #
2398
+ # @see https://processing.org/reference/pow_.html
2399
+ # @see https://p5js.org/reference/#/p5/pow
2400
+ #
2052
2401
  def pow(value, exponent)
2053
2402
  value ** exponent
2054
2403
  end
@@ -2059,6 +2408,9 @@ module Processing
2059
2408
  #
2060
2409
  # @return [Numeric] squared value
2061
2410
  #
2411
+ # @see https://processing.org/reference/sq_.html
2412
+ # @see https://p5js.org/reference/#/p5/sq
2413
+ #
2062
2414
  def sq(value)
2063
2415
  value * value
2064
2416
  end
@@ -2069,6 +2421,9 @@ module Processing
2069
2421
  #
2070
2422
  # @return [Numeric] squared value
2071
2423
  #
2424
+ # @see https://processing.org/reference/sqrt_.html
2425
+ # @see https://p5js.org/reference/#/p5/sqrt
2426
+ #
2072
2427
  def sqrt(value)
2073
2428
  Math.sqrt value
2074
2429
  end
@@ -2084,6 +2439,9 @@ module Processing
2084
2439
  #
2085
2440
  # @return [Numeric] magnitude
2086
2441
  #
2442
+ # @see https://processing.org/reference/mag_.html
2443
+ # @see https://p5js.org/reference/#/p5/mag
2444
+ #
2087
2445
  def mag(*args)
2088
2446
  x, y, z = *args
2089
2447
  case args.size
@@ -2107,6 +2465,9 @@ module Processing
2107
2465
  #
2108
2466
  # @return [Numeric] distance between 2 points
2109
2467
  #
2468
+ # @see https://processing.org/reference/dist_.html
2469
+ # @see https://p5js.org/reference/#/p5/dist
2470
+ #
2110
2471
  def dist(*args)
2111
2472
  case args.size
2112
2473
  when 4
@@ -2129,6 +2490,9 @@ module Processing
2129
2490
  #
2130
2491
  # @return [Numeric] normalized value between 0..1
2131
2492
  #
2493
+ # @see https://processing.org/reference/norm_.html
2494
+ # @see https://p5js.org/reference/#/p5/norm
2495
+ #
2132
2496
  def norm(value, start, stop)
2133
2497
  (value.to_f - start.to_f) / (stop.to_f - start.to_f)
2134
2498
  end
@@ -2141,6 +2505,9 @@ module Processing
2141
2505
  #
2142
2506
  # @return [Numeric] interporated number
2143
2507
  #
2508
+ # @see https://processing.org/reference/lerp_.html
2509
+ # @see https://p5js.org/reference/#/p5/lerp
2510
+ #
2144
2511
  def lerp(start, stop, amount)
2145
2512
  start + (stop - start) * amount
2146
2513
  end
@@ -2153,6 +2520,9 @@ module Processing
2153
2520
  #
2154
2521
  # @return [Integer] interporated color
2155
2522
  #
2523
+ # @see https://processing.org/reference/lerpColor_.html
2524
+ # @see https://p5js.org/reference/#/p5/lerpColor
2525
+ #
2156
2526
  def lerpColor(color1, color2, amount)
2157
2527
  color(
2158
2528
  lerp(red( color1), red( color2), amount),
@@ -2171,6 +2541,9 @@ module Processing
2171
2541
  #
2172
2542
  # @return [Numeric] mapped number
2173
2543
  #
2544
+ # @see https://processing.org/reference/map_.html
2545
+ # @see https://p5js.org/reference/#/p5/map
2546
+ #
2174
2547
  def map(value, start1, stop1, start2, stop2)
2175
2548
  lerp start2, stop2, norm(value, start1, stop1)
2176
2549
  end
@@ -2188,6 +2561,9 @@ module Processing
2188
2561
  #
2189
2562
  # @return [Numeric] minimum value
2190
2563
  #
2564
+ # @see https://processing.org/reference/min_.html
2565
+ # @see https://p5js.org/reference/#/p5/min
2566
+ #
2191
2567
  def min(*args)
2192
2568
  args.flatten.min
2193
2569
  end
@@ -2205,6 +2581,9 @@ module Processing
2205
2581
  #
2206
2582
  # @return [Numeric] maximum value
2207
2583
  #
2584
+ # @see https://processing.org/reference/max_.html
2585
+ # @see https://p5js.org/reference/#/p5/max
2586
+ #
2208
2587
  def max(*args)
2209
2588
  args.flatten.max
2210
2589
  end
@@ -2217,6 +2596,9 @@ module Processing
2217
2596
  #
2218
2597
  # @return [Numeric] constrained number
2219
2598
  #
2599
+ # @see https://processing.org/reference/constrain_.html
2600
+ # @see https://p5js.org/reference/#/p5/constrain
2601
+ #
2220
2602
  def constrain(value, min, max)
2221
2603
  value < min ? min : (value > max ? max : value)
2222
2604
  end
@@ -2227,6 +2609,9 @@ module Processing
2227
2609
  #
2228
2610
  # @return [Numeric] radian
2229
2611
  #
2612
+ # @see https://processing.org/reference/radians_.html
2613
+ # @see https://p5js.org/reference/#/p5/radians
2614
+ #
2230
2615
  def radians(degree)
2231
2616
  degree * DEG2RAD__
2232
2617
  end
@@ -2237,6 +2622,9 @@ module Processing
2237
2622
  #
2238
2623
  # @return [Numeric] degree
2239
2624
  #
2625
+ # @see https://processing.org/reference/degrees_.html
2626
+ # @see https://p5js.org/reference/#/p5/degrees
2627
+ #
2240
2628
  def degrees(radian)
2241
2629
  radian * RAD2DEG__
2242
2630
  end
@@ -2247,6 +2635,9 @@ module Processing
2247
2635
  #
2248
2636
  # @return [Numeric] the sine
2249
2637
  #
2638
+ # @see https://processing.org/reference/sin_.html
2639
+ # @see https://p5js.org/reference/#/p5/sin
2640
+ #
2250
2641
  def sin(angle)
2251
2642
  Math.sin angle
2252
2643
  end
@@ -2257,6 +2648,9 @@ module Processing
2257
2648
  #
2258
2649
  # @return [Numeric] the cosine
2259
2650
  #
2651
+ # @see https://processing.org/reference/cos_.html
2652
+ # @see https://p5js.org/reference/#/p5/cos
2653
+ #
2260
2654
  def cos(angle)
2261
2655
  Math.cos angle
2262
2656
  end
@@ -2267,6 +2661,9 @@ module Processing
2267
2661
  #
2268
2662
  # @return [Numeric] the tangent
2269
2663
  #
2664
+ # @see https://processing.org/reference/tan_.html
2665
+ # @see https://p5js.org/reference/#/p5/tan
2666
+ #
2270
2667
  def tan(angle)
2271
2668
  Math.tan angle
2272
2669
  end
@@ -2277,6 +2674,9 @@ module Processing
2277
2674
  #
2278
2675
  # @return [Numeric] the arc sine
2279
2676
  #
2677
+ # @see https://processing.org/reference/asin_.html
2678
+ # @see https://p5js.org/reference/#/p5/asin
2679
+ #
2280
2680
  def asin(value)
2281
2681
  Math.asin value
2282
2682
  end
@@ -2287,6 +2687,9 @@ module Processing
2287
2687
  #
2288
2688
  # @return [Numeric] the arc cosine
2289
2689
  #
2690
+ # @see https://processing.org/reference/acos_.html
2691
+ # @see https://p5js.org/reference/#/p5/acos
2692
+ #
2290
2693
  def acos(value)
2291
2694
  Math.acos value
2292
2695
  end
@@ -2297,6 +2700,9 @@ module Processing
2297
2700
  #
2298
2701
  # @return [Numeric] the arc tangent
2299
2702
  #
2703
+ # @see https://processing.org/reference/atan_.html
2704
+ # @see https://p5js.org/reference/#/p5/atan
2705
+ #
2300
2706
  def atan(value)
2301
2707
  Math.atan value
2302
2708
  end
@@ -2308,6 +2714,9 @@ module Processing
2308
2714
  #
2309
2715
  # @return [Numeric] the angle in radians
2310
2716
  #
2717
+ # @see https://processing.org/reference/atan2_.html
2718
+ # @see https://p5js.org/reference/#/p5/atan2
2719
+ #
2311
2720
  def atan2(y, x)
2312
2721
  Math.atan2 y, x
2313
2722
  end
@@ -2540,6 +2949,8 @@ module Processing
2540
2949
  #
2541
2950
  # @return [Vector] new vector
2542
2951
  #
2952
+ # @see https://p5js.org/reference/#/p5/createVector
2953
+ #
2543
2954
  def createVector(*args)
2544
2955
  Vector.new(*args, context: self)
2545
2956
  end
@@ -2549,6 +2960,10 @@ module Processing
2549
2960
  # @param name [String] font name
2550
2961
  # @param size [Numeric] font size (max 256)
2551
2962
  #
2963
+ # @return [Font] new font
2964
+ #
2965
+ # @see https://processing.org/reference/createFont_.html
2966
+ #
2552
2967
  def createFont(name, size)
2553
2968
  size = FONT_SIZE_MAX__ if size && size > FONT_SIZE_MAX__
2554
2969
  Font.new Rays::Font.new(name, size || FONT_SIZE_DEFAULT__)
@@ -2565,6 +2980,9 @@ module Processing
2565
2980
  #
2566
2981
  # @return [Image] new image
2567
2982
  #
2983
+ # @see https://processing.org/reference/createImage_.html
2984
+ # @see https://p5js.org/reference/#/p5/createImage
2985
+ #
2568
2986
  def createImage(w, h, format = RGBA)
2569
2987
  colorspace = {RGB => Rays::RGB, RGBA => Rays::RGBA}[format]
2570
2988
  raise ArgumentError, "Unknown image format" unless colorspace
@@ -2584,6 +3002,10 @@ module Processing
2584
3002
  #
2585
3003
  # @param kind [LINE, RECT, ELLIPSE, ARC, TRIANGLE, QUAD, GROUP]
2586
3004
  #
3005
+ # @return [Shape] new shape
3006
+ #
3007
+ # @see https://processing.org/reference/createShape_.html
3008
+ #
2587
3009
  def createShape(kind = nil, *args)
2588
3010
  case kind
2589
3011
  when LINE then createLineShape__( *args)
@@ -2640,6 +3062,9 @@ module Processing
2640
3062
  #
2641
3063
  # @return [Graphics] graphics object
2642
3064
  #
3065
+ # @see https://processing.org/reference/createGraphics_.html
3066
+ # @see https://p5js.org/reference/#/p5/createGraphics
3067
+ #
2643
3068
  def createGraphics(width, height, pixelDensity = 1)
2644
3069
  Graphics.new width, height, pixelDensity
2645
3070
  end
@@ -2676,6 +3101,8 @@ module Processing
2676
3101
  #
2677
3102
  # @return [Shader] shader object
2678
3103
  #
3104
+ # @see https://p5js.org/reference/#/p5/createShader
3105
+ #
2679
3106
  def createShader(vert, frag)
2680
3107
  vert = File.read if vert && File.exist?(vert)
2681
3108
  frag = File.read if frag && File.exist?(frag)
@@ -2757,6 +3184,9 @@ module Processing
2757
3184
  #
2758
3185
  # @return [Shader] loaded shader object
2759
3186
  #
3187
+ # @see https://processing.org/reference/loadShader_.html
3188
+ # @see https://p5js.org/reference/#/p5/loadShader
3189
+ #
2760
3190
  def loadShader(fragPath, vertPath = nil)
2761
3191
  createShader vertPath, fragPath
2762
3192
  end