picrate 0.2.0-java → 0.3.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +8 -5
- data/Rakefile +10 -2
- data/docs/_posts/2018-06-26-auto_install_picrate.md +15 -0
- data/lib/export.txt +8 -0
- data/lib/picrate/app.rb +4 -4
- data/lib/picrate/version.rb +1 -1
- data/picrate.gemspec +1 -1
- data/pom.rb +1 -1
- data/pom.xml +1 -1
- data/src/main/java/processing/awt/PGraphicsJava2D.java +16 -85
- data/src/main/java/processing/awt/PShapeJava2D.java +9 -33
- data/src/main/java/processing/awt/PSurfaceAWT.java +76 -169
- data/src/main/java/processing/core/PApplet.java +14019 -15963
- data/src/main/java/processing/core/PConstants.java +475 -981
- data/src/main/java/processing/core/PFont.java +50 -202
- data/src/main/java/processing/core/PGraphics.java +7330 -8477
- data/src/main/java/processing/core/PImage.java +42 -212
- data/src/main/java/processing/core/PMatrix.java +21 -160
- data/src/main/java/processing/core/PMatrix2D.java +18 -178
- data/src/main/java/processing/core/PMatrix3D.java +48 -324
- data/src/main/java/processing/core/PShape.java +294 -1181
- data/src/main/java/processing/core/PShapeOBJ.java +16 -91
- data/src/main/java/processing/core/PShapeSVG.java +53 -253
- data/src/main/java/processing/core/PStyle.java +34 -179
- data/src/main/java/processing/core/PSurface.java +13 -94
- data/src/main/java/processing/core/PSurfaceNone.java +35 -140
- data/src/main/java/processing/core/PVector.java +10 -87
- data/src/main/java/processing/event/Event.java +86 -69
- data/src/main/java/processing/event/MouseEvent.java +102 -102
- data/src/main/java/processing/opengl/PGL.java +23 -16
- data/src/main/java/processing/opengl/PGraphicsOpenGL.java +13 -10
- data/src/main/java/processing/opengl/PJOGL.java +32 -12
- data/src/main/java/processing/opengl/shaders/LightVert-brcm.glsl +154 -0
- data/src/main/java/processing/opengl/shaders/LightVert-vc4.glsl +2 -2
- data/src/main/java/processing/opengl/shaders/TexLightVert-brcm.glsl +160 -0
- data/src/main/java/processing/opengl/shaders/TexLightVert-vc4.glsl +2 -2
- metadata +7 -3
@@ -138,8 +138,6 @@ public class PVector implements Serializable {
|
|
138
138
|
|
139
139
|
/**
|
140
140
|
* Constructor for a 2D vector: z coordinate is set to 0.
|
141
|
-
* @param x
|
142
|
-
* @param y
|
143
141
|
*/
|
144
142
|
public PVector(float x, float y) {
|
145
143
|
this.x = x;
|
@@ -155,7 +153,6 @@ public class PVector implements Serializable {
|
|
155
153
|
*
|
156
154
|
* ( end auto-generated )
|
157
155
|
*
|
158
|
-
* @return
|
159
156
|
* @webref pvector:method
|
160
157
|
* @param x the x component of the vector
|
161
158
|
* @param y the y component of the vector
|
@@ -173,7 +170,6 @@ public class PVector implements Serializable {
|
|
173
170
|
/**
|
174
171
|
* @param x the x component of the vector
|
175
172
|
* @param y the y component of the vector
|
176
|
-
* @return
|
177
173
|
*/
|
178
174
|
public PVector set(float x, float y) {
|
179
175
|
this.x = x;
|
@@ -185,7 +181,6 @@ public class PVector implements Serializable {
|
|
185
181
|
|
186
182
|
/**
|
187
183
|
* @param v any variable of type PVector
|
188
|
-
* @return
|
189
184
|
*/
|
190
185
|
public PVector set(PVector v) {
|
191
186
|
x = v.x;
|
@@ -198,7 +193,6 @@ public class PVector implements Serializable {
|
|
198
193
|
/**
|
199
194
|
* Set the x, y (and maybe z) coordinates using a float[] array as the source.
|
200
195
|
* @param source array to copy from
|
201
|
-
* @return
|
202
196
|
*/
|
203
197
|
public PVector set(float[] source) {
|
204
198
|
if (source.length >= 2) {
|
@@ -256,8 +250,6 @@ public class PVector implements Serializable {
|
|
256
250
|
* Make a new 2D unit vector with a random direction. Pass in the parent
|
257
251
|
* PApplet if you want randomSeed() to work (and be predictable). Or leave
|
258
252
|
* it null and be... random.
|
259
|
-
* @param target
|
260
|
-
* @param parent
|
261
253
|
* @return the random PVector
|
262
254
|
*/
|
263
255
|
static public PVector random2D(PVector target, PApplet parent) {
|
@@ -308,8 +300,6 @@ public class PVector implements Serializable {
|
|
308
300
|
|
309
301
|
/**
|
310
302
|
* Make a new 3D unit vector with a random direction
|
311
|
-
* @param target
|
312
|
-
* @param parent
|
313
303
|
* @return the random PVector
|
314
304
|
*/
|
315
305
|
static public PVector random3D(PVector target, PApplet parent) {
|
@@ -355,7 +345,6 @@ public class PVector implements Serializable {
|
|
355
345
|
/**
|
356
346
|
* Make a new 2D unit vector from an angle
|
357
347
|
*
|
358
|
-
* @param angle
|
359
348
|
* @param target the target vector (if null, a new vector will be created)
|
360
349
|
* @return the PVector
|
361
350
|
*/
|
@@ -376,7 +365,6 @@ public class PVector implements Serializable {
|
|
376
365
|
*
|
377
366
|
* ( end auto-generated )
|
378
367
|
*
|
379
|
-
* @return
|
380
368
|
* @webref pvector:method
|
381
369
|
* @usage web_application
|
382
370
|
* @brief Get a copy of the vector
|
@@ -385,12 +373,8 @@ public class PVector implements Serializable {
|
|
385
373
|
return new PVector(x, y, z);
|
386
374
|
}
|
387
375
|
|
388
|
-
|
389
|
-
|
390
|
-
* @return
|
391
|
-
* @deprecated
|
392
|
-
*/
|
393
|
-
@Deprecated
|
376
|
+
|
377
|
+
@Deprecated
|
394
378
|
public PVector get() {
|
395
379
|
return copy();
|
396
380
|
}
|
@@ -398,7 +382,6 @@ public class PVector implements Serializable {
|
|
398
382
|
|
399
383
|
/**
|
400
384
|
* @param target
|
401
|
-
* @return
|
402
385
|
*/
|
403
386
|
public float[] get(float[] target) {
|
404
387
|
if (target == null) {
|
@@ -466,7 +449,6 @@ public class PVector implements Serializable {
|
|
466
449
|
*
|
467
450
|
* ( end auto-generated )
|
468
451
|
*
|
469
|
-
* @return
|
470
452
|
* @webref pvector:method
|
471
453
|
* @usage web_application
|
472
454
|
* @param v the vector to be added
|
@@ -483,7 +465,6 @@ public class PVector implements Serializable {
|
|
483
465
|
/**
|
484
466
|
* @param x x component of the vector
|
485
467
|
* @param y y component of the vector
|
486
|
-
* @return
|
487
468
|
*/
|
488
469
|
public PVector add(float x, float y) {
|
489
470
|
this.x += x;
|
@@ -493,10 +474,7 @@ public class PVector implements Serializable {
|
|
493
474
|
|
494
475
|
|
495
476
|
/**
|
496
|
-
* @param x
|
497
|
-
* @param y
|
498
477
|
* @param z z component of the vector
|
499
|
-
* @return
|
500
478
|
*/
|
501
479
|
public PVector add(float x, float y, float z) {
|
502
480
|
this.x += x;
|
@@ -510,7 +488,6 @@ public class PVector implements Serializable {
|
|
510
488
|
* Add two vectors
|
511
489
|
* @param v1 a vector
|
512
490
|
* @param v2 another vector
|
513
|
-
* @return
|
514
491
|
*/
|
515
492
|
static public PVector add(PVector v1, PVector v2) {
|
516
493
|
return add(v1, v2, null);
|
@@ -519,10 +496,7 @@ public class PVector implements Serializable {
|
|
519
496
|
|
520
497
|
/**
|
521
498
|
* Add two vectors into a target vector
|
522
|
-
* @param v1
|
523
499
|
* @param target the target vector (if null, a new vector will be created)
|
524
|
-
* @param v2
|
525
|
-
* @return
|
526
500
|
*/
|
527
501
|
static public PVector add(PVector v1, PVector v2, PVector target) {
|
528
502
|
if (target == null) {
|
@@ -545,7 +519,6 @@ public class PVector implements Serializable {
|
|
545
519
|
*
|
546
520
|
* ( end auto-generated )
|
547
521
|
*
|
548
|
-
* @return
|
549
522
|
* @webref pvector:method
|
550
523
|
* @usage web_application
|
551
524
|
* @param v any variable of type PVector
|
@@ -562,7 +535,6 @@ public class PVector implements Serializable {
|
|
562
535
|
/**
|
563
536
|
* @param x the x component of the vector
|
564
537
|
* @param y the y component of the vector
|
565
|
-
* @return
|
566
538
|
*/
|
567
539
|
public PVector sub(float x, float y) {
|
568
540
|
this.x -= x;
|
@@ -572,10 +544,7 @@ public class PVector implements Serializable {
|
|
572
544
|
|
573
545
|
|
574
546
|
/**
|
575
|
-
* @param x
|
576
|
-
* @param y
|
577
547
|
* @param z the z component of the vector
|
578
|
-
* @return
|
579
548
|
*/
|
580
549
|
public PVector sub(float x, float y, float z) {
|
581
550
|
this.x -= x;
|
@@ -589,7 +558,6 @@ public class PVector implements Serializable {
|
|
589
558
|
* Subtract one vector from another
|
590
559
|
* @param v1 the x, y, and z components of a PVector object
|
591
560
|
* @param v2 the x, y, and z components of a PVector object
|
592
|
-
* @return
|
593
561
|
*/
|
594
562
|
static public PVector sub(PVector v1, PVector v2) {
|
595
563
|
return sub(v1, v2, null);
|
@@ -598,10 +566,7 @@ public class PVector implements Serializable {
|
|
598
566
|
|
599
567
|
/**
|
600
568
|
* Subtract one vector from another and store in another vector
|
601
|
-
* @param v1
|
602
|
-
* @param v2
|
603
569
|
* @param target PVector in which to store the result
|
604
|
-
* @return
|
605
570
|
*/
|
606
571
|
static public PVector sub(PVector v1, PVector v2, PVector target) {
|
607
572
|
if (target == null) {
|
@@ -620,7 +585,6 @@ public class PVector implements Serializable {
|
|
620
585
|
*
|
621
586
|
* ( end auto-generated )
|
622
587
|
*
|
623
|
-
* @return
|
624
588
|
* @webref pvector:method
|
625
589
|
* @usage web_application
|
626
590
|
* @brief Multiply a vector by a scalar
|
@@ -636,8 +600,6 @@ public class PVector implements Serializable {
|
|
636
600
|
|
637
601
|
/**
|
638
602
|
* @param v the vector to multiply by the scalar
|
639
|
-
* @param n
|
640
|
-
* @return
|
641
603
|
*/
|
642
604
|
static public PVector mult(PVector v, float n) {
|
643
605
|
return mult(v, n, null);
|
@@ -646,10 +608,7 @@ public class PVector implements Serializable {
|
|
646
608
|
|
647
609
|
/**
|
648
610
|
* Multiply a vector by a scalar, and write the result into a target PVector.
|
649
|
-
* @param v
|
650
611
|
* @param target PVector in which to store the result
|
651
|
-
* @param n
|
652
|
-
* @return
|
653
612
|
*/
|
654
613
|
static public PVector mult(PVector v, float n, PVector target) {
|
655
614
|
if (target == null) {
|
@@ -668,7 +627,6 @@ public class PVector implements Serializable {
|
|
668
627
|
*
|
669
628
|
* ( end auto-generated )
|
670
629
|
*
|
671
|
-
* @return
|
672
630
|
* @webref pvector:method
|
673
631
|
* @usage web_application
|
674
632
|
* @brief Divide a vector by a scalar
|
@@ -685,7 +643,6 @@ public class PVector implements Serializable {
|
|
685
643
|
/**
|
686
644
|
* Divide a vector by a scalar and return the result in a new vector.
|
687
645
|
* @param v the vector to divide by the scalar
|
688
|
-
* @param n
|
689
646
|
* @return a new vector that is v1 / n
|
690
647
|
*/
|
691
648
|
static public PVector div(PVector v, float n) {
|
@@ -695,10 +652,7 @@ public class PVector implements Serializable {
|
|
695
652
|
|
696
653
|
/**
|
697
654
|
* Divide a vector by a scalar and store the result in another vector.
|
698
|
-
* @param v
|
699
655
|
* @param target PVector in which to store the result
|
700
|
-
* @param n
|
701
|
-
* @return
|
702
656
|
*/
|
703
657
|
static public PVector div(PVector v, float n, PVector target) {
|
704
658
|
if (target == null) {
|
@@ -718,7 +672,6 @@ public class PVector implements Serializable {
|
|
718
672
|
*
|
719
673
|
* ( end auto-generated )
|
720
674
|
*
|
721
|
-
* @return
|
722
675
|
* @webref pvector:method
|
723
676
|
* @usage web_application
|
724
677
|
* @param v the x, y, and z coordinates of a PVector
|
@@ -767,7 +720,6 @@ public class PVector implements Serializable {
|
|
767
720
|
* @param x x component of the vector
|
768
721
|
* @param y y component of the vector
|
769
722
|
* @param z z component of the vector
|
770
|
-
* @return
|
771
723
|
*/
|
772
724
|
public float dot(float x, float y, float z) {
|
773
725
|
return this.x*x + this.y*y + this.z*z;
|
@@ -777,7 +729,6 @@ public class PVector implements Serializable {
|
|
777
729
|
/**
|
778
730
|
* @param v1 any variable of type PVector
|
779
731
|
* @param v2 any variable of type PVector
|
780
|
-
* @return
|
781
732
|
*/
|
782
733
|
static public float dot(PVector v1, PVector v2) {
|
783
734
|
return v1.x*v2.x + v1.y*v2.y + v1.z*v2.z;
|
@@ -792,7 +743,6 @@ public class PVector implements Serializable {
|
|
792
743
|
*
|
793
744
|
* ( end auto-generated )
|
794
745
|
*
|
795
|
-
* @return
|
796
746
|
* @webref pvector:method
|
797
747
|
* @param v the vector to calculate the cross product
|
798
748
|
* @brief Calculate and return the cross product
|
@@ -805,7 +755,6 @@ public class PVector implements Serializable {
|
|
805
755
|
/**
|
806
756
|
* @param v any variable of type PVector
|
807
757
|
* @param target PVector to store the result
|
808
|
-
* @return
|
809
758
|
*/
|
810
759
|
public PVector cross(PVector v, PVector target) {
|
811
760
|
float crossX = y * v.z - v.y * z;
|
@@ -825,7 +774,6 @@ public class PVector implements Serializable {
|
|
825
774
|
* @param v1 any variable of type PVector
|
826
775
|
* @param v2 any variable of type PVector
|
827
776
|
* @param target PVector to store the result
|
828
|
-
* @return
|
829
777
|
*/
|
830
778
|
static public PVector cross(PVector v1, PVector v2, PVector target) {
|
831
779
|
float crossX = v1.y * v2.z - v2.y * v1.z;
|
@@ -848,7 +796,6 @@ public class PVector implements Serializable {
|
|
848
796
|
*
|
849
797
|
* ( end auto-generated )
|
850
798
|
*
|
851
|
-
* @return
|
852
799
|
* @webref pvector:method
|
853
800
|
* @usage web_application
|
854
801
|
* @brief Normalize the vector to a length of 1
|
@@ -887,7 +834,6 @@ public class PVector implements Serializable {
|
|
887
834
|
*
|
888
835
|
* ( end auto-generated )
|
889
836
|
*
|
890
|
-
* @return
|
891
837
|
* @webref pvector:method
|
892
838
|
* @usage web_application
|
893
839
|
* @param max the maximum magnitude for the vector
|
@@ -909,7 +855,6 @@ public class PVector implements Serializable {
|
|
909
855
|
*
|
910
856
|
* ( end auto-generated )
|
911
857
|
*
|
912
|
-
* @return
|
913
858
|
* @webref pvector:method
|
914
859
|
* @usage web_application
|
915
860
|
* @param len the new length for this vector
|
@@ -952,12 +897,8 @@ public class PVector implements Serializable {
|
|
952
897
|
return angle;
|
953
898
|
}
|
954
899
|
|
955
|
-
|
956
|
-
|
957
|
-
* @return
|
958
|
-
* @deprecated
|
959
|
-
*/
|
960
|
-
@Deprecated
|
900
|
+
|
901
|
+
@Deprecated
|
961
902
|
public float heading2D() {
|
962
903
|
return heading();
|
963
904
|
}
|
@@ -970,7 +911,6 @@ public class PVector implements Serializable {
|
|
970
911
|
*
|
971
912
|
* ( end auto-generated )
|
972
913
|
*
|
973
|
-
* @return
|
974
914
|
* @webref pvector:method
|
975
915
|
* @usage web_application
|
976
916
|
* @brief Rotate the vector by an angle (2D only)
|
@@ -992,7 +932,6 @@ public class PVector implements Serializable {
|
|
992
932
|
*
|
993
933
|
* ( end auto-generated )
|
994
934
|
*
|
995
|
-
* @return
|
996
935
|
* @webref pvector:method
|
997
936
|
* @usage web_application
|
998
937
|
* @brief Linear interpolate the vector to another vector
|
@@ -1012,8 +951,6 @@ public class PVector implements Serializable {
|
|
1012
951
|
* Linear interpolate between two vectors (returns a new PVector object)
|
1013
952
|
* @param v1 the vector to start from
|
1014
953
|
* @param v2 the vector to lerp to
|
1015
|
-
* @param amt
|
1016
|
-
* @return
|
1017
954
|
*/
|
1018
955
|
public static PVector lerp(PVector v1, PVector v2, float amt) {
|
1019
956
|
PVector v = v1.copy();
|
@@ -1027,8 +964,6 @@ public class PVector implements Serializable {
|
|
1027
964
|
* @param x the x component to lerp to
|
1028
965
|
* @param y the y component to lerp to
|
1029
966
|
* @param z the z component to lerp to
|
1030
|
-
* @param amt
|
1031
|
-
* @return
|
1032
967
|
*/
|
1033
968
|
public PVector lerp(float x, float y, float z, float amt) {
|
1034
969
|
this.x = PApplet.lerp(this.x, x, amt);
|
@@ -1045,7 +980,6 @@ public class PVector implements Serializable {
|
|
1045
980
|
*
|
1046
981
|
* ( end auto-generated )
|
1047
982
|
*
|
1048
|
-
* @return
|
1049
983
|
* @webref pvector:method
|
1050
984
|
* @usage web_application
|
1051
985
|
* @param v1 the x, y, and z components of a PVector
|
@@ -1077,11 +1011,8 @@ public class PVector implements Serializable {
|
|
1077
1011
|
return (float) Math.acos(amt);
|
1078
1012
|
}
|
1079
1013
|
|
1080
|
-
|
1081
|
-
|
1082
|
-
* @return
|
1083
|
-
*/
|
1084
|
-
@Override
|
1014
|
+
|
1015
|
+
@Override
|
1085
1016
|
public String toString() {
|
1086
1017
|
return "[ " + x + ", " + y + ", " + z + " ]";
|
1087
1018
|
}
|
@@ -1096,7 +1027,6 @@ public class PVector implements Serializable {
|
|
1096
1027
|
*
|
1097
1028
|
* ( end auto-generated )
|
1098
1029
|
*
|
1099
|
-
* @return
|
1100
1030
|
* @webref pvector:method
|
1101
1031
|
* @usage: web_application
|
1102
1032
|
* @brief Return a representation of the vector as a float array
|
@@ -1111,12 +1041,8 @@ public class PVector implements Serializable {
|
|
1111
1041
|
return array;
|
1112
1042
|
}
|
1113
1043
|
|
1114
|
-
|
1115
|
-
|
1116
|
-
* @param obj
|
1117
|
-
* @return
|
1118
|
-
*/
|
1119
|
-
@Override
|
1044
|
+
|
1045
|
+
@Override
|
1120
1046
|
public boolean equals(Object obj) {
|
1121
1047
|
if (!(obj instanceof PVector)) {
|
1122
1048
|
return false;
|
@@ -1125,11 +1051,8 @@ public class PVector implements Serializable {
|
|
1125
1051
|
return x == p.x && y == p.y && z == p.z;
|
1126
1052
|
}
|
1127
1053
|
|
1128
|
-
|
1129
|
-
|
1130
|
-
* @return
|
1131
|
-
*/
|
1132
|
-
@Override
|
1054
|
+
|
1055
|
+
@Override
|
1133
1056
|
public int hashCode() {
|
1134
1057
|
int result = 1;
|
1135
1058
|
result = 31 * result + Float.floatToIntBits(x);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
|
2
2
|
|
3
|
-
|
3
|
+
/*
|
4
4
|
Part of the Processing project - http://processing.org
|
5
5
|
|
6
6
|
Copyright (c) 2012 The Processing Foundation
|
@@ -18,91 +18,108 @@
|
|
18
18
|
Public License along with this library; if not, write to the
|
19
19
|
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
20
20
|
Boston, MA 02111-1307 USA
|
21
|
-
|
21
|
+
*/
|
22
|
+
|
22
23
|
package processing.event;
|
23
24
|
|
25
|
+
|
24
26
|
public class Event {
|
27
|
+
protected Object nativeObject;
|
28
|
+
|
29
|
+
protected long millis;
|
30
|
+
protected int action;
|
31
|
+
|
32
|
+
// These correspond to the java.awt.Event modifiers (not to be confused with
|
33
|
+
// the newer getModifiersEx), though they're not guaranteed to in the future.
|
34
|
+
static public final int SHIFT = 1 << 0;
|
35
|
+
static public final int CTRL = 1 << 1;
|
36
|
+
static public final int META = 1 << 2;
|
37
|
+
static public final int ALT = 1 << 3;
|
38
|
+
protected int modifiers;
|
39
|
+
|
40
|
+
// Types of events. As with all constants in Processing, brevity's preferred.
|
41
|
+
static public final int KEY = 1;
|
42
|
+
static public final int MOUSE = 2;
|
43
|
+
static public final int TOUCH = 3;
|
44
|
+
protected int flavor;
|
45
|
+
|
46
|
+
|
47
|
+
public Event(Object nativeObject, long millis, int action, int modifiers) {
|
48
|
+
this.nativeObject = nativeObject;
|
49
|
+
this.millis = millis;
|
50
|
+
this.action = action;
|
51
|
+
this.modifiers = modifiers;
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
public int getFlavor() {
|
56
|
+
return flavor;
|
57
|
+
}
|
58
|
+
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Get the platform-native event object. This might be the java.awt event
|
62
|
+
* on the desktop, though if you're using OpenGL on the desktop it'll be a
|
63
|
+
* NEWT event that JOGL uses. Android events are something else altogether.
|
64
|
+
* Bottom line, use this only if you know what you're doing, and don't make
|
65
|
+
* assumptions about the class type.
|
66
|
+
*/
|
67
|
+
public Object getNative() {
|
68
|
+
return nativeObject;
|
69
|
+
}
|
25
70
|
|
26
|
-
protected Object nativeObject;
|
27
|
-
|
28
|
-
protected long millis;
|
29
|
-
protected int action;
|
30
|
-
|
31
|
-
// These correspond to the java.awt.Event modifiers (not to be confused with
|
32
|
-
// the newer getModifiersEx), though they're not guaranteed to in the future.
|
33
|
-
static public final int SHIFT = 1;
|
34
|
-
static public final int CTRL = 1 << 1;
|
35
|
-
static public final int META = 1 << 2;
|
36
|
-
static public final int ALT = 1 << 3;
|
37
|
-
protected int modifiers;
|
38
|
-
|
39
|
-
// Types of events. As with all constants in Processing, brevity's preferred.
|
40
|
-
static public final int KEY = 1;
|
41
|
-
static public final int MOUSE = 2;
|
42
|
-
static public final int TOUCH = 3;
|
43
|
-
protected int flavor;
|
44
|
-
|
45
|
-
public Event(Object nativeObject, long millis, int action, int modifiers) {
|
46
|
-
this.nativeObject = nativeObject;
|
47
|
-
this.millis = millis;
|
48
|
-
this.action = action;
|
49
|
-
this.modifiers = modifiers;
|
50
|
-
}
|
51
|
-
|
52
|
-
public int getFlavor() {
|
53
|
-
return flavor;
|
54
|
-
}
|
55
|
-
|
56
|
-
/**
|
57
|
-
* Get the platform-native event object. This might be the java.awt event on
|
58
|
-
* the desktop, though if you're using OpenGL on the desktop it'll be a NEWT
|
59
|
-
* event that JOGL uses. Android events are something else altogether.
|
60
|
-
* Bottom line, use this only if you know what you're doing, and don't make
|
61
|
-
* assumptions about the class type.
|
62
|
-
*
|
63
|
-
* @return
|
64
|
-
*/
|
65
|
-
public Object getNative() {
|
66
|
-
return nativeObject;
|
67
|
-
}
|
68
71
|
|
69
72
|
// public void setNative(Object nativeObject) {
|
70
73
|
// this.nativeObject = nativeObject;
|
71
74
|
// }
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
+
|
76
|
+
|
77
|
+
public long getMillis() {
|
78
|
+
return millis;
|
79
|
+
}
|
80
|
+
|
75
81
|
|
76
82
|
// public void setMillis(long millis) {
|
77
83
|
// this.millis = millis;
|
78
84
|
// }
|
79
|
-
|
80
|
-
|
81
|
-
|
85
|
+
|
86
|
+
|
87
|
+
public int getAction() {
|
88
|
+
return action;
|
89
|
+
}
|
90
|
+
|
82
91
|
|
83
92
|
// public void setAction(int action) {
|
84
93
|
// this.action = action;
|
85
94
|
// }
|
86
|
-
|
87
|
-
|
88
|
-
|
95
|
+
|
96
|
+
|
97
|
+
public int getModifiers() {
|
98
|
+
return modifiers;
|
99
|
+
}
|
100
|
+
|
89
101
|
|
90
102
|
// public void setModifiers(int modifiers) {
|
91
103
|
// this.modifiers = modifiers;
|
92
104
|
// }
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
105
|
+
|
106
|
+
|
107
|
+
public boolean isShiftDown() {
|
108
|
+
return (modifiers & SHIFT) != 0;
|
109
|
+
}
|
110
|
+
|
111
|
+
|
112
|
+
public boolean isControlDown() {
|
113
|
+
return (modifiers & CTRL) != 0;
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
public boolean isMetaDown() {
|
118
|
+
return (modifiers & META) != 0;
|
119
|
+
}
|
120
|
+
|
121
|
+
|
122
|
+
public boolean isAltDown() {
|
123
|
+
return (modifiers & ALT) != 0;
|
124
|
+
}
|
125
|
+
}
|