geomerative 0.4.3-java → 2.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.mvn/extensions.xml +1 -1
  4. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  5. data/CHANGELOG.md +19 -1
  6. data/COPYING.md +1 -1
  7. data/README.md +2 -2
  8. data/Rakefile +2 -15
  9. data/docs/_config.yml +8 -0
  10. data/docs/_includes/head.html +7 -6
  11. data/docs/_includes/header.html +6 -6
  12. data/docs/_includes/icon-github.svg +3 -1
  13. data/docs/_includes/icon-twitter.svg +3 -1
  14. data/docs/_includes/navigation.html +24 -0
  15. data/docs/_sass/_base.scss +79 -79
  16. data/docs/_sass/_layout.scss +137 -137
  17. data/docs/_sass/_syntax-highlighting.scss +64 -64
  18. data/docs/index.html +18 -18
  19. data/examples/README.md +1 -1
  20. data/examples/data/bot1.svg +1 -1
  21. data/examples/data/lion.svg +156 -156
  22. data/examples/data/ruby.svg +1 -1
  23. data/examples/jruby_merge.rb +1 -1
  24. data/examples/{f_agent.rb → library/f_agent/f_agent.rb} +0 -0
  25. data/examples/{font_agent.rb → library/font_agent/font_agent.rb} +2 -1
  26. data/examples/text_on_geomerative_path.rb +3 -2
  27. data/examples/typo_deform.rb +2 -2
  28. data/examples/typo_extra_bright.rb +1 -1
  29. data/geomerative.gemspec +3 -6
  30. data/lib/geomerative/version.rb +1 -1
  31. data/lib/geomerative.jar +0 -0
  32. data/lib/geomerative.rb +10 -10
  33. data/mvnw +234 -0
  34. data/mvnw.cmd +145 -0
  35. data/pom.rb +14 -16
  36. data/pom.xml +13 -19
  37. data/src/geomerative/FastRClip.java +2050 -2334
  38. data/src/geomerative/RClip.java +2237 -2539
  39. data/src/geomerative/RClosest.java +33 -31
  40. data/src/geomerative/RCommand.java +1750 -1758
  41. data/src/geomerative/RContour.java +290 -292
  42. data/src/geomerative/RFont.java +277 -246
  43. data/src/geomerative/RG.java +722 -727
  44. data/src/geomerative/RGeomElem.java +967 -962
  45. data/src/geomerative/RGroup.java +508 -467
  46. data/src/geomerative/RMatrix.java +304 -289
  47. data/src/geomerative/RMesh.java +241 -229
  48. data/src/geomerative/RPath.java +924 -926
  49. data/src/geomerative/RPoint.java +391 -391
  50. data/src/geomerative/RPolygon.java +1017 -1013
  51. data/src/geomerative/RRectangle.java +43 -52
  52. data/src/geomerative/RSVG.java +480 -516
  53. data/src/geomerative/RShape.java +1767 -1777
  54. data/src/geomerative/RStrip.java +173 -176
  55. data/src/geomerative/RStyle.java +197 -194
  56. data/src/module-info.java +4 -0
  57. data/src/org/apache/batik/svggen/font/Font.java +141 -142
  58. data/src/org/apache/batik/svggen/font/Glyph.java +102 -71
  59. data/src/org/apache/batik/svggen/font/Point.java +12 -12
  60. data/src/org/apache/batik/svggen/font/RandomAccessFileEmulator.java +14 -12
  61. data/src/org/apache/batik/svggen/font/table/ClassDef.java +12 -12
  62. data/src/org/apache/batik/svggen/font/table/ClassDefFormat1.java +27 -24
  63. data/src/org/apache/batik/svggen/font/table/ClassDefFormat2.java +20 -17
  64. data/src/org/apache/batik/svggen/font/table/CmapFormat.java +43 -43
  65. data/src/org/apache/batik/svggen/font/table/CmapFormat0.java +33 -26
  66. data/src/org/apache/batik/svggen/font/table/CmapFormat2.java +25 -20
  67. data/src/org/apache/batik/svggen/font/table/CmapFormat4.java +106 -96
  68. data/src/org/apache/batik/svggen/font/table/CmapFormat6.java +36 -32
  69. data/src/org/apache/batik/svggen/font/table/CmapIndexEntry.java +69 -49
  70. data/src/org/apache/batik/svggen/font/table/CmapTable.java +50 -50
  71. data/src/org/apache/batik/svggen/font/table/Coverage.java +19 -19
  72. data/src/org/apache/batik/svggen/font/table/CoverageFormat1.java +30 -27
  73. data/src/org/apache/batik/svggen/font/table/CoverageFormat2.java +26 -24
  74. data/src/org/apache/batik/svggen/font/table/CvtTable.java +16 -16
  75. data/src/org/apache/batik/svggen/font/table/Device.java +32 -32
  76. data/src/org/apache/batik/svggen/font/table/DirectoryEntry.java +39 -39
  77. data/src/org/apache/batik/svggen/font/table/Feature.java +26 -23
  78. data/src/org/apache/batik/svggen/font/table/FeatureList.java +37 -35
  79. data/src/org/apache/batik/svggen/font/table/FeatureRecord.java +22 -22
  80. data/src/org/apache/batik/svggen/font/table/FeatureTags.java +4 -3
  81. data/src/org/apache/batik/svggen/font/table/FpgmTable.java +9 -9
  82. data/src/org/apache/batik/svggen/font/table/GlyfCompositeComp.java +134 -132
  83. data/src/org/apache/batik/svggen/font/table/GlyfCompositeDescript.java +123 -122
  84. data/src/org/apache/batik/svggen/font/table/GlyfDescript.java +44 -44
  85. data/src/org/apache/batik/svggen/font/table/GlyfSimpleDescript.java +110 -109
  86. data/src/org/apache/batik/svggen/font/table/GlyfTable.java +46 -46
  87. data/src/org/apache/batik/svggen/font/table/GlyphDescription.java +25 -13
  88. data/src/org/apache/batik/svggen/font/table/GposTable.java +26 -23
  89. data/src/org/apache/batik/svggen/font/table/GsubTable.java +85 -82
  90. data/src/org/apache/batik/svggen/font/table/HeadTable.java +131 -131
  91. data/src/org/apache/batik/svggen/font/table/HheaTable.java +80 -80
  92. data/src/org/apache/batik/svggen/font/table/HmtxTable.java +50 -49
  93. data/src/org/apache/batik/svggen/font/table/KernSubtable.java +29 -27
  94. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat0.java +35 -32
  95. data/src/org/apache/batik/svggen/font/table/KernSubtableFormat2.java +28 -26
  96. data/src/org/apache/batik/svggen/font/table/KernTable.java +36 -31
  97. data/src/org/apache/batik/svggen/font/table/KerningPair.java +27 -23
  98. data/src/org/apache/batik/svggen/font/table/LangSys.java +28 -26
  99. data/src/org/apache/batik/svggen/font/table/LangSysRecord.java +22 -22
  100. data/src/org/apache/batik/svggen/font/table/Ligature.java +24 -24
  101. data/src/org/apache/batik/svggen/font/table/LigatureSet.java +24 -24
  102. data/src/org/apache/batik/svggen/font/table/LigatureSubst.java +9 -9
  103. data/src/org/apache/batik/svggen/font/table/LigatureSubstFormat1.java +30 -30
  104. data/src/org/apache/batik/svggen/font/table/LocaTable.java +37 -37
  105. data/src/org/apache/batik/svggen/font/table/Lookup.java +41 -40
  106. data/src/org/apache/batik/svggen/font/table/LookupList.java +34 -34
  107. data/src/org/apache/batik/svggen/font/table/LookupSubtableFactory.java +7 -5
  108. data/src/org/apache/batik/svggen/font/table/MaxpTable.java +96 -96
  109. data/src/org/apache/batik/svggen/font/table/NameRecord.java +64 -65
  110. data/src/org/apache/batik/svggen/font/table/NameTable.java +33 -33
  111. data/src/org/apache/batik/svggen/font/table/Os2Table.java +196 -196
  112. data/src/org/apache/batik/svggen/font/table/Panose.java +14 -12
  113. data/src/org/apache/batik/svggen/font/table/PostTable.java +338 -338
  114. data/src/org/apache/batik/svggen/font/table/PrepTable.java +9 -9
  115. data/src/org/apache/batik/svggen/font/table/Program.java +15 -15
  116. data/src/org/apache/batik/svggen/font/table/RangeRecord.java +26 -25
  117. data/src/org/apache/batik/svggen/font/table/Script.java +38 -38
  118. data/src/org/apache/batik/svggen/font/table/ScriptList.java +42 -42
  119. data/src/org/apache/batik/svggen/font/table/ScriptRecord.java +22 -22
  120. data/src/org/apache/batik/svggen/font/table/ScriptTags.java +2 -1
  121. data/src/org/apache/batik/svggen/font/table/SingleSubst.java +15 -16
  122. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat1.java +33 -33
  123. data/src/org/apache/batik/svggen/font/table/SingleSubstFormat2.java +32 -32
  124. data/src/org/apache/batik/svggen/font/table/Table.java +171 -170
  125. data/src/org/apache/batik/svggen/font/table/TableDirectory.java +55 -55
  126. data/src/org/apache/batik/svggen/font/table/TableFactory.java +92 -93
  127. metadata +18 -19
  128. data/.travis.yml +0 -10
  129. data/calculate_torsional_angle.rb +0 -17
@@ -1,23 +1,22 @@
1
1
  /**
2
- Copyright 2004-2008 Ricard Marxer <email@ricardmarxer.com>
3
-
4
- This file is part of Geomerative.
5
-
6
- Geomerative is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- Geomerative is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License
17
- along with Geomerative. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- package geomerative ;
2
+ * Copyright 2004-2008 Ricard Marxer <email@ricardmarxer.com>
3
+ *
4
+ * This file is part of Geomerative.
5
+ *
6
+ * Geomerative is free software: you can redistribute it and/or modify it under
7
+ * the terms of the GNU General Public License as published by the Free Software
8
+ * Foundation, either version 3 of the License, or (at your option) any later
9
+ * version.
10
+ *
11
+ * Geomerative is distributed in the hope that it will be useful, but WITHOUT
12
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
+ * details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License along with
17
+ * Geomerative. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+ package geomerative;
21
20
 
22
21
  import processing.core.PApplet;
23
22
  import processing.core.PConstants;
@@ -25,11 +24,12 @@ import processing.core.PGraphics;
25
24
  import processing.core.PImage;
26
25
 
27
26
  /**
28
- * @extended
29
- */
30
- public class RStyle{
27
+
28
+ */
29
+ public class RStyle {
30
+
31
31
  public PImage texture = null;
32
-
32
+
33
33
  public boolean fillDef = false;
34
34
  public boolean fill = false;
35
35
  public int fillColor = 0xff000000;
@@ -43,7 +43,7 @@ public class RStyle{
43
43
 
44
44
  public boolean strokeAlphaDef = false;
45
45
  public int strokeAlpha = 0xff000000;
46
-
46
+
47
47
  public boolean strokeWeightDef = false;
48
48
  public float strokeWeight = 1F;
49
49
 
@@ -55,24 +55,25 @@ public class RStyle{
55
55
 
56
56
  private boolean oldFill = false;
57
57
  private int oldFillColor = 0;
58
-
58
+
59
59
  private boolean oldStroke = false;
60
60
  private int oldStrokeColor = 0;
61
61
  private float oldStrokeWeight = 1F;
62
62
  private int oldStrokeCap = PConstants.PROJECT;
63
63
  private int oldStrokeJoin = PConstants.MITER;
64
64
 
65
- public RStyle(){}
65
+ public RStyle() {
66
+ }
66
67
 
67
- public RStyle(RStyle p){
68
+ public RStyle(RStyle p) {
68
69
  texture = p.texture;
69
-
70
+
70
71
  fillDef = p.fillDef;
71
72
  fill = p.fill;
72
73
  fillColor = p.fillColor;
73
74
  fillAlphaDef = p.fillAlphaDef;
74
75
  fillAlpha = p.fillAlpha;
75
-
76
+
76
77
  strokeDef = p.strokeDef;
77
78
  stroke = p.stroke;
78
79
  strokeColor = p.strokeColor;
@@ -89,173 +90,172 @@ public class RStyle{
89
90
  strokeJoin = p.strokeJoin;
90
91
  }
91
92
 
92
- protected void setStyle(String styleString){
93
+ protected void setStyle(String styleString) {
93
94
  //RG.parent().println("Style parsing: " + styleString);
94
95
  String[] styleTokens = PApplet.splitTokens(styleString, ";");
95
-
96
- for (String styleToken : styleTokens) {
97
- String[] tokens = PApplet.splitTokens(styleToken, ":");
98
- tokens[0] = PApplet.trim(tokens[0]);
99
- switch (tokens[0]) {
100
- case "fill":
101
- setFill(tokens[1]);
102
- break;
103
- case "fill-opacity":
104
- setFillAlpha(tokens[1]);
105
- break;
106
- case "stroke":
107
- setStroke(tokens[1]);
108
- break;
109
- case "stroke-width":
110
- setStrokeWeight(tokens[1]);
111
- break;
112
- case "stroke-linecap":
113
- setStrokeCap(tokens[1]);
114
- break;
115
- case "stroke-linejoin":
116
- setStrokeJoin(tokens[1]);
117
- break;
118
- case "stroke-opacity":
119
- setStrokeAlpha(tokens[1]);
120
- break;
121
- case "opacity":
122
- setAlpha(tokens[1]);
123
- break;
124
- default:
125
- PApplet.println("Attribute '" + tokens[0] + "' not known. Ignoring it.");
126
- break;
127
- }
96
+
97
+ for (String styleToken : styleTokens) {
98
+ String[] tokens = PApplet.splitTokens(styleToken, ":");
99
+ tokens[0] = PApplet.trim(tokens[0]);
100
+ switch (tokens[0]) {
101
+ case "fill":
102
+ setFill(tokens[1]);
103
+ break;
104
+ case "fill-opacity":
105
+ setFillAlpha(tokens[1]);
106
+ break;
107
+ case "stroke":
108
+ setStroke(tokens[1]);
109
+ break;
110
+ case "stroke-width":
111
+ setStrokeWeight(tokens[1]);
112
+ break;
113
+ case "stroke-linecap":
114
+ setStrokeCap(tokens[1]);
115
+ break;
116
+ case "stroke-linejoin":
117
+ setStrokeJoin(tokens[1]);
118
+ break;
119
+ case "stroke-opacity":
120
+ setStrokeAlpha(tokens[1]);
121
+ break;
122
+ case "opacity":
123
+ setAlpha(tokens[1]);
124
+ break;
125
+ default:
126
+ PApplet.println("Attribute '" + tokens[0] + "' not known. Ignoring it.");
127
+ break;
128
128
  }
129
+ }
129
130
  }
130
131
 
131
- public void setFill(boolean _fill){
132
+ public void setFill(boolean _fill) {
132
133
  fillDef = true;
133
134
  fill = _fill;
134
135
  }
135
136
 
136
- public void setFill(int _fillColor){
137
+ public void setFill(int _fillColor) {
137
138
  //RG.parent().println("Setting fill by int: " + RG.parent().hex(_fillColor));
138
139
  setFill(true);
139
140
  fillColor = (fillColor & 0xff000000) | (_fillColor & 0x00ffffff);
140
141
  }
141
142
 
142
- public void setFill(String str){
143
+ public void setFill(String str) {
143
144
  //RG.parent().println("id: " + id);
144
145
  //RG.parent().println(" set fill: " + str);
145
- if(str.equals("none")){
146
+ if (str.equals("none")) {
146
147
  setFill(false);
147
148
 
148
- }else{
149
+ } else {
149
150
  setFill(getColor(str));
150
151
 
151
152
  }
152
153
  //RG.parent().println(" fillColor after: " + RG.parent().hex(fillColor));
153
154
  }
154
155
 
155
- public void setStroke(boolean _stroke){
156
+ public void setStroke(boolean _stroke) {
156
157
  strokeDef = true;
157
158
  stroke = _stroke;
158
159
  }
159
160
 
160
- public void setStroke(int _strokeColor){
161
+ public void setStroke(int _strokeColor) {
161
162
  setStroke(true);
162
163
  strokeColor = (strokeColor & 0xff000000) | (_strokeColor & 0x00ffffff);
163
164
  }
164
165
 
165
- public void setStroke(String str){
166
+ public void setStroke(String str) {
166
167
  //RG.parent().println(" set stroke: " + str);
167
- if(str.equals("none")){
168
+ if (str.equals("none")) {
168
169
  setStroke(false);
169
170
 
170
- }else{
171
+ } else {
171
172
  setStroke(getColor(str));
172
-
173
+
173
174
  }
174
175
  }
175
176
 
176
- public void setStrokeWeight(float value){
177
+ public void setStrokeWeight(float value) {
177
178
  //RG.parent().println(" set strokeWeight by float: " + value);
178
179
  strokeWeightDef = true;
179
180
  strokeWeight = value;
180
181
  }
181
182
 
182
- public void setStrokeWeight(String str){
183
+ public void setStrokeWeight(String str) {
183
184
  //RG.parent().println(" set strokeWeight by String: " + str);
184
- if(str.endsWith("px")){
185
+ if (str.endsWith("px")) {
185
186
  setStrokeWeight(PApplet.parseFloat(str.substring(0, str.length() - 2)));
186
- }else{
187
+ } else {
187
188
  setStrokeWeight(PApplet.parseFloat(str));
188
189
  }
189
190
 
190
-
191
191
  }
192
192
 
193
- public void setStrokeCap(String str){
193
+ public void setStrokeCap(String str) {
194
194
  //RG.parent().println(" set stroke-cap: " + str);
195
195
  strokeCapDef = true;
196
196
 
197
- switch (str) {
198
- case "butt":
199
- strokeCap = PConstants.PROJECT;
200
- break;
201
- case "round":
202
- strokeCap = PConstants.ROUND;
203
- break;
204
- case "square":
205
- strokeCap = PConstants.SQUARE;
206
- break;
207
- }
197
+ switch (str) {
198
+ case "butt":
199
+ strokeCap = PConstants.PROJECT;
200
+ break;
201
+ case "round":
202
+ strokeCap = PConstants.ROUND;
203
+ break;
204
+ case "square":
205
+ strokeCap = PConstants.SQUARE;
206
+ break;
207
+ }
208
208
  }
209
209
 
210
- public void setStrokeJoin(String str){
210
+ public void setStrokeJoin(String str) {
211
211
  //RG.parent().println(" set stroke-cap: " + str);
212
212
  strokeJoinDef = true;
213
213
 
214
- switch (str) {
215
- case "miter":
216
- strokeJoin = PConstants.MITER;
217
- break;
218
- case "round":
219
- strokeJoin = PConstants.ROUND;
220
- break;
221
- case "bevel":
222
- strokeJoin = PConstants.BEVEL;
223
- break;
224
- }
214
+ switch (str) {
215
+ case "miter":
216
+ strokeJoin = PConstants.MITER;
217
+ break;
218
+ case "round":
219
+ strokeJoin = PConstants.ROUND;
220
+ break;
221
+ case "bevel":
222
+ strokeJoin = PConstants.BEVEL;
223
+ break;
224
+ }
225
225
  }
226
226
 
227
- public void setStrokeAlpha(int opacity){
227
+ public void setStrokeAlpha(int opacity) {
228
228
  strokeAlphaDef = true;
229
229
  strokeAlpha = opacity;
230
230
  }
231
231
 
232
- public void setStrokeAlpha(String str){
233
- setStrokeAlpha((int)(PApplet.parseFloat(str) * 255F));
232
+ public void setStrokeAlpha(String str) {
233
+ setStrokeAlpha((int) (PApplet.parseFloat(str) * 255F));
234
234
  }
235
235
 
236
- public void setFillAlpha(int opacity){
236
+ public void setFillAlpha(int opacity) {
237
237
  fillAlphaDef = true;
238
238
  fillAlpha = opacity;
239
239
  }
240
240
 
241
- public void setFillAlpha(String str){
241
+ public void setFillAlpha(String str) {
242
242
  //RG.parent().println(" set fillOpacity: " + str);
243
- setFillAlpha((int)(PApplet.parseFloat(str) * 255F));
243
+ setFillAlpha((int) (PApplet.parseFloat(str) * 255F));
244
244
  //RG.parent().println(" fillColor after: " + RG.parent().hex(fillColor));
245
- }
245
+ }
246
246
 
247
- public void setAlpha(float opacity){
247
+ public void setAlpha(float opacity) {
248
248
  //RG.parent().println("Setting float opacity: " + opacity);
249
- setAlpha((int)(opacity * 100F));
249
+ setAlpha((int) (opacity * 100F));
250
250
  }
251
251
 
252
- public void setAlpha(int opacity){
252
+ public void setAlpha(int opacity) {
253
253
  /*
254
254
  RG.parent().println("setting opacity: " + RG.parent().hex(opacity));
255
255
 
256
256
  RG.parent().println(" fillColor before: " + RG.parent().hex(fillColor));
257
257
  RG.parent().println(" strokeColor before: " + RG.parent().hex(fillColor));
258
- */
258
+ */
259
259
 
260
260
  setFillAlpha(opacity);
261
261
  setStrokeAlpha(opacity);
@@ -266,15 +266,15 @@ public class RStyle{
266
266
  /*
267
267
  RG.parent().println(" fillColor now: " + RG.parent().hex(fillColor));
268
268
  RG.parent().println(" strokeColor now: " + RG.parent().hex(fillColor));
269
- */
269
+ */
270
270
  }
271
271
 
272
- public void setAlpha(String str){
272
+ public void setAlpha(String str) {
273
273
  //RG.parent().println("Setting string opacity: " + str);
274
274
  setAlpha(PApplet.parseFloat(str));
275
275
  }
276
276
 
277
- protected void saveContext(PGraphics g){
277
+ protected void saveContext(PGraphics g) {
278
278
  oldFill = g.fill;
279
279
  oldFillColor = g.fillColor;
280
280
  oldStroke = g.stroke;
@@ -284,189 +284,192 @@ public class RStyle{
284
284
  oldStrokeJoin = g.strokeJoin;
285
285
  }
286
286
 
287
- protected void saveContext(PApplet p){
287
+ protected void saveContext(PApplet p) {
288
288
  oldFill = p.g.fill;
289
289
  oldFillColor = p.g.fillColor;
290
290
  oldStroke = p.g.stroke;
291
291
  oldStrokeColor = p.g.strokeColor;
292
- oldStrokeWeight = p.g.strokeWeight;
292
+ oldStrokeWeight = p.g.strokeWeight;
293
293
  oldStrokeCap = p.g.strokeCap;
294
294
  oldStrokeJoin = p.g.strokeJoin;
295
295
  }
296
296
 
297
- protected void saveContext(){
297
+ protected void saveContext() {
298
298
  saveContext(RG.parent());
299
299
  }
300
300
 
301
- protected void restoreContext(PGraphics g){
301
+ protected void restoreContext(PGraphics g) {
302
302
  g.fill(oldFillColor);
303
- if(!oldFill){
303
+ if (!oldFill) {
304
304
  g.noFill();
305
305
  }
306
306
 
307
307
  g.stroke(oldStrokeColor);
308
308
  g.strokeWeight(oldStrokeWeight);
309
309
 
310
- try{
310
+ try {
311
311
  g.strokeCap(oldStrokeCap);
312
312
  g.strokeJoin(oldStrokeJoin);
313
- }catch(RuntimeException e){}
313
+ } catch (RuntimeException e) {
314
+ }
314
315
 
315
- if(!oldStroke){
316
+ if (!oldStroke) {
316
317
  g.noStroke();
317
318
  }
318
319
  }
319
320
 
320
- protected void restoreContext(PApplet p){
321
+ protected void restoreContext(PApplet p) {
321
322
  p.fill(oldFillColor);
322
- if(!oldFill){
323
+ if (!oldFill) {
323
324
  p.noFill();
324
325
  }
325
326
 
326
327
  p.stroke(oldStrokeColor);
327
328
  p.strokeWeight(oldStrokeWeight);
328
329
 
329
- try{
330
+ try {
330
331
  p.strokeCap(oldStrokeCap);
331
332
  p.strokeJoin(oldStrokeJoin);
332
- }catch(RuntimeException e){}
333
+ } catch (RuntimeException e) {
334
+ }
333
335
 
334
- if(!oldStroke){
336
+ if (!oldStroke) {
335
337
  p.noStroke();
336
- }
338
+ }
337
339
  }
338
340
 
339
- protected void restoreContext(){
341
+ protected void restoreContext() {
340
342
  restoreContext(RG.parent());
341
343
  }
342
344
 
343
- protected void setContext(PGraphics g){
344
- if(fillAlphaDef){
345
- if(fillDef){
345
+ protected void setContext(PGraphics g) {
346
+ if (fillAlphaDef) {
347
+ if (fillDef) {
346
348
  fillColor = ((fillAlpha << 24) & 0xff000000) | (fillColor & 0x00ffffff);
347
- }else{
348
- if(g.fill){
349
+ } else {
350
+ if (g.fill) {
349
351
  g.fill(((fillAlpha << 24) & 0xff000000) | (g.fillColor & 0x00ffffff));
350
352
  }
351
353
  }
352
354
  }
353
355
 
354
- if(fillDef){
356
+ if (fillDef) {
355
357
  g.fill(fillColor);
356
- if(!fill){
358
+ if (!fill) {
357
359
  g.noFill();
358
360
  }
359
361
  }
360
362
 
361
- if(strokeWeightDef){
363
+ if (strokeWeightDef) {
362
364
  g.strokeWeight(strokeWeight);
363
365
  }
364
366
 
365
- try{
366
- if(strokeCapDef){
367
+ try {
368
+ if (strokeCapDef) {
367
369
  g.strokeCap(strokeCap);
368
370
  }
369
-
370
- if(strokeJoinDef){
371
+
372
+ if (strokeJoinDef) {
371
373
  g.strokeJoin(strokeJoin);
372
374
  }
373
- }catch(RuntimeException e){}
375
+ } catch (RuntimeException e) {
376
+ }
374
377
 
375
- if(strokeAlphaDef){
376
- if(strokeDef){
378
+ if (strokeAlphaDef) {
379
+ if (strokeDef) {
377
380
  strokeColor = ((strokeAlpha << 24) & 0xff000000) | (strokeColor & 0x00ffffff);
378
- }else{
379
- if(g.stroke){
381
+ } else {
382
+ if (g.stroke) {
380
383
  g.stroke(((strokeAlpha << 24) & 0xff000000) | (g.strokeColor & 0x00ffffff));
381
384
  }
382
385
  }
383
386
  }
384
-
385
- if(strokeDef){
387
+
388
+ if (strokeDef) {
386
389
  g.stroke(strokeColor);
387
- if(!stroke){
390
+ if (!stroke) {
388
391
  g.noStroke();
389
392
  }
390
393
  }
391
394
  }
392
395
 
393
- protected void setContext(PApplet p){
394
-
395
- if(fillAlphaDef){
396
- if(fillDef){
396
+ protected void setContext(PApplet p) {
397
+
398
+ if (fillAlphaDef) {
399
+ if (fillDef) {
397
400
  fillColor = ((fillAlpha << 24) & 0xff000000) | (fillColor & 0x00ffffff);
398
- }else{
399
- if(p.g.fill){
401
+ } else {
402
+ if (p.g.fill) {
400
403
  p.fill(((fillAlpha << 24) & 0xff000000) | (p.g.fillColor & 0x00ffffff));
401
404
  }
402
405
  }
403
406
  }
404
-
405
- if(fillDef){
407
+
408
+ if (fillDef) {
406
409
  p.fill(fillColor);
407
- if(!fill){
410
+ if (!fill) {
408
411
  p.noFill();
409
412
  }
410
413
  }
411
414
 
412
- if(strokeWeightDef){
415
+ if (strokeWeightDef) {
413
416
  p.strokeWeight(strokeWeight);
414
417
  }
415
418
 
416
- try{
417
- if(strokeCapDef){
419
+ try {
420
+ if (strokeCapDef) {
418
421
  p.strokeCap(strokeCap);
419
422
  }
420
-
421
- if(strokeJoinDef){
423
+
424
+ if (strokeJoinDef) {
422
425
  p.strokeJoin(strokeJoin);
423
426
  }
424
- }catch(RuntimeException e){}
427
+ } catch (RuntimeException e) {
428
+ }
425
429
 
426
- if(strokeAlphaDef){
427
- if(strokeDef){
430
+ if (strokeAlphaDef) {
431
+ if (strokeDef) {
428
432
  strokeColor = ((strokeAlpha << 24) & 0xff000000) | (strokeColor & 0x00ffffff);
429
- }else{
430
- if(p.g.stroke){
433
+ } else {
434
+ if (p.g.stroke) {
431
435
  p.stroke(((strokeAlpha << 24) & 0xff000000) | (p.g.strokeColor & 0x00ffffff));
432
436
  }
433
437
  }
434
438
  }
435
439
 
436
- if(strokeDef){
440
+ if (strokeDef) {
437
441
  p.stroke(strokeColor);
438
- if(!stroke){
442
+ if (!stroke) {
439
443
  p.noStroke();
440
444
  }
441
445
  }
442
446
  }
443
447
 
444
- protected void setContext(){
448
+ protected void setContext() {
445
449
  setContext(RG.parent());
446
450
  }
447
451
 
448
-
449
- private int getColor(String colorString){
452
+ private int getColor(String colorString) {
450
453
  colorString = PApplet.trim(colorString);
451
-
452
- if(colorString.startsWith("#")){
453
- return PApplet.unhex("FF"+colorString.substring(1));
454
- }else if(colorString.startsWith("rgb")){
454
+
455
+ if (colorString.startsWith("#")) {
456
+ return PApplet.unhex("FF" + colorString.substring(1));
457
+ } else if (colorString.startsWith("rgb")) {
455
458
  String[] rgb = PApplet.splitTokens(colorString, "rgb( , )");
456
- return (int)RG.parent().color(PApplet.parseInt(rgb[0]), PApplet.parseInt(rgb[1]), PApplet.parseInt(rgb[2]));
457
- }else{
458
- switch (colorString) {
459
- case "black":
460
- return 0;
461
- case "red":
462
- return RG.parent().color(255, 0, 0);
463
- case "green":
464
- return RG.parent().color(0, 255, 0);
465
- case "blue":
466
- return RG.parent().color(0, 0, 255);
467
- case "yellow":
468
- return RG.parent().color(0, 255, 255);
469
- }
459
+ return (int) RG.parent().color(PApplet.parseInt(rgb[0]), PApplet.parseInt(rgb[1]), PApplet.parseInt(rgb[2]));
460
+ } else {
461
+ switch (colorString) {
462
+ case "black":
463
+ return 0;
464
+ case "red":
465
+ return RG.parent().color(255, 0, 0);
466
+ case "green":
467
+ return RG.parent().color(0, 255, 0);
468
+ case "blue":
469
+ return RG.parent().color(0, 0, 255);
470
+ case "yellow":
471
+ return RG.parent().color(0, 255, 255);
472
+ }
470
473
  }
471
474
  return 0;
472
475
  }
@@ -0,0 +1,4 @@
1
+ module geomerative{
2
+ exports geomerative;
3
+ requires org.processing.core;
4
+ }