propane 2.7.2-java → 2.8.0.pre-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -0
  3. data/CHANGELOG.md +1 -1
  4. data/README.md +10 -8
  5. data/Rakefile +1 -1
  6. data/lib/propane/app.rb +3 -3
  7. data/lib/propane/version.rb +1 -1
  8. data/lib/{processing-core.jar → propane-2.8.0.jar} +0 -0
  9. data/library/control_panel/control_panel.rb +3 -2
  10. data/pom.rb +89 -88
  11. data/pom.xml +75 -46
  12. data/propane.gemspec +1 -2
  13. data/src/main/java/japplemenubar/JAppleMenuBar.java +88 -0
  14. data/src/main/java/japplemenubar/libjAppleMenuBar.jnilib +0 -0
  15. data/src/{monkstone → main/java/monkstone}/ColorUtil.java +0 -0
  16. data/src/{monkstone → main/java/monkstone}/MathToolModule.java +0 -0
  17. data/src/{monkstone → main/java/monkstone}/PropaneLibrary.java +0 -0
  18. data/src/{monkstone → main/java/monkstone}/core/LibraryProxy.java +0 -0
  19. data/src/{monkstone → main/java/monkstone}/fastmath/Deglut.java +0 -0
  20. data/src/{monkstone → main/java/monkstone}/fastmath/package-info.java +0 -0
  21. data/src/{monkstone → main/java/monkstone}/filechooser/Chooser.java +0 -0
  22. data/src/{monkstone → main/java/monkstone}/noise/SimplexNoise.java +0 -0
  23. data/src/{monkstone → main/java/monkstone}/slider/CustomHorizontalSlider.java +0 -0
  24. data/src/{monkstone → main/java/monkstone}/slider/CustomVerticalSlider.java +0 -0
  25. data/src/{monkstone → main/java/monkstone}/slider/SimpleHorizontalSlider.java +0 -0
  26. data/src/{monkstone → main/java/monkstone}/slider/SimpleSlider.java +0 -0
  27. data/src/{monkstone → main/java/monkstone}/slider/SimpleVerticalSlider.java +0 -0
  28. data/src/{monkstone → main/java/monkstone}/slider/Slider.java +0 -0
  29. data/src/{monkstone → main/java/monkstone}/slider/SliderBar.java +0 -0
  30. data/src/{monkstone → main/java/monkstone}/slider/SliderGroup.java +0 -0
  31. data/src/{monkstone → main/java/monkstone}/slider/WheelHandler.java +0 -0
  32. data/src/{monkstone → main/java/monkstone}/vecmath/AppRender.java +0 -0
  33. data/src/{monkstone → main/java/monkstone}/vecmath/JRender.java +0 -0
  34. data/src/{monkstone → main/java/monkstone}/vecmath/ShapeRender.java +0 -0
  35. data/src/{monkstone → main/java/monkstone}/vecmath/package-info.java +0 -0
  36. data/src/{monkstone → main/java/monkstone}/vecmath/vec2/Vec2.java +0 -0
  37. data/src/{monkstone → main/java/monkstone}/vecmath/vec2/package-info.java +0 -0
  38. data/src/{monkstone → main/java/monkstone}/vecmath/vec3/Vec3.java +0 -0
  39. data/src/{monkstone → main/java/monkstone}/vecmath/vec3/package-info.java +0 -0
  40. data/src/{monkstone → main/java/monkstone}/videoevent/VideoInterface.java +0 -0
  41. data/src/{monkstone → main/java/monkstone}/videoevent/package-info.java +0 -0
  42. data/src/main/java/processing/awt/PGraphicsJava2D.java +3029 -0
  43. data/src/main/java/processing/awt/PShapeJava2D.java +377 -0
  44. data/src/main/java/processing/awt/PSurfaceAWT.java +1567 -0
  45. data/src/main/java/processing/core/PApplet.java +15709 -0
  46. data/src/main/java/processing/core/PConstants.java +527 -0
  47. data/src/main/java/processing/core/PFont.java +1098 -0
  48. data/src/main/java/processing/core/PGraphics.java +8467 -0
  49. data/src/main/java/processing/core/PImage.java +3438 -0
  50. data/src/main/java/processing/core/PMatrix.java +208 -0
  51. data/src/main/java/processing/core/PMatrix2D.java +534 -0
  52. data/src/main/java/processing/core/PMatrix3D.java +877 -0
  53. data/src/main/java/processing/core/PShape.java +3445 -0
  54. data/src/main/java/processing/core/PShapeOBJ.java +469 -0
  55. data/src/main/java/processing/core/PShapeSVG.java +1787 -0
  56. data/src/main/java/processing/core/PStyle.java +63 -0
  57. data/src/main/java/processing/core/PSurface.java +161 -0
  58. data/src/main/java/processing/core/PSurfaceNone.java +374 -0
  59. data/src/main/java/processing/core/PVector.java +1063 -0
  60. data/src/main/java/processing/data/FloatDict.java +829 -0
  61. data/src/main/java/processing/data/FloatList.java +912 -0
  62. data/src/main/java/processing/data/IntDict.java +796 -0
  63. data/src/main/java/processing/data/IntList.java +913 -0
  64. data/src/main/java/processing/data/JSONArray.java +1260 -0
  65. data/src/main/java/processing/data/JSONObject.java +2282 -0
  66. data/src/main/java/processing/data/JSONTokener.java +435 -0
  67. data/src/main/java/processing/data/Sort.java +46 -0
  68. data/src/main/java/processing/data/StringDict.java +601 -0
  69. data/src/main/java/processing/data/StringList.java +775 -0
  70. data/src/main/java/processing/data/Table.java +4923 -0
  71. data/src/main/java/processing/data/TableRow.java +198 -0
  72. data/src/main/java/processing/data/XML.java +1149 -0
  73. data/src/main/java/processing/event/Event.java +125 -0
  74. data/src/main/java/processing/event/KeyEvent.java +70 -0
  75. data/src/main/java/processing/event/MouseEvent.java +149 -0
  76. data/src/main/java/processing/event/TouchEvent.java +57 -0
  77. data/src/main/java/processing/opengl/FontTexture.java +379 -0
  78. data/src/main/java/processing/opengl/FrameBuffer.java +503 -0
  79. data/src/main/java/processing/opengl/LinePath.java +623 -0
  80. data/src/main/java/processing/opengl/LineStroker.java +685 -0
  81. data/src/main/java/processing/opengl/PGL.java +3366 -0
  82. data/src/main/java/processing/opengl/PGraphics2D.java +615 -0
  83. data/src/main/java/processing/opengl/PGraphics3D.java +281 -0
  84. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +13634 -0
  85. data/src/main/java/processing/opengl/PJOGL.java +1966 -0
  86. data/src/main/java/processing/opengl/PShader.java +1478 -0
  87. data/src/main/java/processing/opengl/PShapeOpenGL.java +5234 -0
  88. data/src/main/java/processing/opengl/PSurfaceJOGL.java +1315 -0
  89. data/src/main/java/processing/opengl/Texture.java +1670 -0
  90. data/src/main/java/processing/opengl/VertexBuffer.java +88 -0
  91. data/src/main/java/processing/opengl/cursors/arrow.png +0 -0
  92. data/src/main/java/processing/opengl/cursors/cross.png +0 -0
  93. data/src/main/java/processing/opengl/cursors/hand.png +0 -0
  94. data/src/main/java/processing/opengl/cursors/license.txt +27 -0
  95. data/src/main/java/processing/opengl/cursors/move.png +0 -0
  96. data/src/main/java/processing/opengl/cursors/text.png +0 -0
  97. data/src/main/java/processing/opengl/cursors/wait.png +0 -0
  98. data/src/main/java/processing/opengl/shaders/ColorFrag.glsl +32 -0
  99. data/src/main/java/processing/opengl/shaders/ColorVert.glsl +34 -0
  100. data/src/main/java/processing/opengl/shaders/LightFrag.glsl +33 -0
  101. data/src/main/java/processing/opengl/shaders/LightVert-vc4.glsl +154 -0
  102. data/src/main/java/processing/opengl/shaders/LightVert.glsl +151 -0
  103. data/src/main/java/processing/opengl/shaders/LineFrag.glsl +32 -0
  104. data/src/main/java/processing/opengl/shaders/LineVert.glsl +100 -0
  105. data/src/main/java/processing/opengl/shaders/MaskFrag.glsl +40 -0
  106. data/src/main/java/processing/opengl/shaders/PointFrag.glsl +32 -0
  107. data/src/main/java/processing/opengl/shaders/PointVert.glsl +56 -0
  108. data/src/main/java/processing/opengl/shaders/TexFrag.glsl +37 -0
  109. data/src/main/java/processing/opengl/shaders/TexLightFrag.glsl +37 -0
  110. data/src/main/java/processing/opengl/shaders/TexLightVert-vc4.glsl +160 -0
  111. data/src/main/java/processing/opengl/shaders/TexLightVert.glsl +157 -0
  112. data/src/main/java/processing/opengl/shaders/TexVert.glsl +38 -0
  113. data/src/main/resources/icon/icon-1024.png +0 -0
  114. data/src/main/resources/icon/icon-128.png +0 -0
  115. data/src/main/resources/icon/icon-16.png +0 -0
  116. data/src/main/resources/icon/icon-256.png +0 -0
  117. data/src/main/resources/icon/icon-32.png +0 -0
  118. data/src/main/resources/icon/icon-48.png +0 -0
  119. data/src/main/resources/icon/icon-512.png +0 -0
  120. data/src/main/resources/icon/icon-64.png +0 -0
  121. data/src/main/resources/license.txt +508 -0
  122. data/vendors/Rakefile +5 -20
  123. metadata +115 -33
  124. data/lib/propane.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87afa3f24e268a3aa9eab9e2b3cb959c4d2dbc33c325448df204f9b7753df837
4
- data.tar.gz: 8da556fe7fe8740b457a48700bace4b03771365a0ce1617521d1136a5506ff58
3
+ metadata.gz: 8cc0b52030212884402a7c4995636eccffa8c017f337742480770272e58c2c1f
4
+ data.tar.gz: 474438ac2d93e3068fe60e4a434107b837c56b58549118d61cca8989efbd6781
5
5
  SHA512:
6
- metadata.gz: 8e24abaf39356af107a65e0be6dbf1a285bff83eef646a1ea335c50b20fa10eb573c4f7369f821915dc441c78acaed5e65cabd43d3a92e2ec4849ee9566be215
7
- data.tar.gz: a2d16dfea4115a1667cc7ce718918f8bae6db62729a4b405585e250eded261900f9fb839a0ccb00e7c0fbca09f3ad9e99f159f096367826fadcabed835a5a277
6
+ metadata.gz: f4fbc1eccba99b539c0c0eea01cb65ea00a93e4be1579853dd03d7143b7d828ca121b089e5e00a4eb8a0653f3b1c9bd16218374001619d7b2050fd2f2a538e0b
7
+ data.tar.gz: 1ce2489df38b3aee8c8ec9b6bbcb7fa375b7e28b3829a7dc179222ab585dd90cebb5f1b6f1c73b0b175d3cf9566c5e0f1d93669cb5134c236eb364c8ed5e081b
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ sudo: false
3
+ dist: trusty
4
+
5
+ rvm:
6
+ - jruby-9.1.16.0
7
+ jdk:
8
+ - oraclejdk8
9
+ os:
10
+ - linux
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- **v2.7.2** Slight re-factor of control_panel, fix virgin install of libraries folder, add grafica library examples suggest upgrade to jruby-9.1.17.0
1
+ **v2.8.0** Integrate processing-core, but think free (as in non-proprietary instead of Apple think different). If it doesn't then work on Mac could re-purpose for raspberryPI.
2
2
 
3
3
  **v2.7.1** Avoid calling protected method in control_panel (ready for jdk9)
4
4
 
data/README.md CHANGED
@@ -1,16 +1,17 @@
1
1
  # Propane
2
- To build custom core see [processing-core][processing-core]
3
2
 
4
- A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.7, where we include a modified processing core (`public runPropane()` to replace `protected runSketch()`, (_runSketch not currently usable with jruby and jdk 9_). These jars are small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building]. NB: this is a far from perfect solution and javafx sketches and possibly a feew others still fail to run with jdk9, but a least I get to diagnose those errors too.
3
+ [![Build Status](https://travis-ci.org/ruby-processing/propane.svg?branch=master)](https://travis-ci.org/ruby-processing/propane)
5
4
 
6
- adjust above for your OS/distro setup.
5
+ Features an integrated [processing-core][processing-core] but removing troubling proprietary code (ThinkOpen as in free not asinine ThinkDifferent as proprietary) such as `com.apple.eawt.Application` apple.jar and `com.sun.javafx.geom.Path2D` from `javafx`
6
+
7
+
8
+ A slim layer to communicate with Processing from JRuby, features a polyglot maven build. We have created a configuration free version of ruby processing, for processing-3.3.7, where we integrate a modified processing core. This jar is small enough to include in a gem distribution, and hence we do not require configuration. This has created a scriptable version, ie files get run direct from jruby, but you could use jruby-complete if you used the propane script (avoids need to give the absolute data path for the data folder, but would also be needed for a watch mode). See guide to [building ruby-processing projects][building]. It is entirely possible that this version will have degraded performance on Mac (lacking support for dock icons?, close down errors? or strat at all?), but if it works passably well it could be the future on MacOS, else this branch could be re-purposed as pure linux and hence herald possible raspberryPI support.
7
9
 
8
10
  ## Requirements
9
11
 
10
- - jdk8+ (jdk9 mostly works, see changelog, but is noisy)
12
+ - jdk8+
11
13
  - jruby-9.1.16.0
12
- - mvn-3.5.0+
13
- - processing-core.jar (_build only_) see [propane-core](https://github.com/ruby-processing/processing-core)
14
+ - mvn-3.5.0+ (_build only_)
14
15
 
15
16
  ## Building and testing
16
17
 
@@ -22,8 +23,9 @@ rake javadoc
22
23
 
23
24
  ## Installation
24
25
  ```bash
25
- jgem install propane # from rubygems
26
- jgem install propane-2.7.1-java.gem # local install requires a custom processing-core
26
+ jgem install propane --pre # from rubygems
27
+ jgem install propane-2.8.0.pre-java.gem # local install
28
+
27
29
  ```
28
30
 
29
31
  ## Usage
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ end
21
21
  desc 'Install'
22
22
  task :install do
23
23
  sh 'mvn dependency:copy'
24
- sh 'mv target/propane.jar lib'
24
+ sh 'mv target/propane-2.8.0.jar lib'
25
25
  end
26
26
 
27
27
  desc 'Gem'
data/lib/propane/app.rb CHANGED
@@ -9,6 +9,7 @@ module Propane
9
9
  Java::Monkstone::PropaneLibrary.load(JRuby.runtime)
10
10
  SKETCH_ROOT = File.absolute_path('.')
11
11
 
12
+ # A utility to facillitate rendering of Vec2D and Vec3D as vertex
12
13
  module Render
13
14
  java_import 'monkstone.vecmath.AppRender'
14
15
  java_import 'monkstone.vecmath.ShapeRender'
@@ -110,8 +111,7 @@ module Propane
110
111
  def initialize(options = {}, arguments = [])
111
112
  # Guard against invalid input.
112
113
  proxy_java_fields
113
- raise TypeError unless options.is_a? Hash
114
- raise TypeError unless arguments.is_a? Array
114
+ raise TypeError unless options.is_a?(Hash) && arguments.is_a?(Array)
115
115
  # Set up the sketch.
116
116
  super()
117
117
  post_initialize(options)
@@ -183,5 +183,5 @@ module Propane
183
183
  return Propane.app.send(name, *args) if Propane.app.respond_to? name
184
184
  super
185
185
  end
186
- end # Processing::Proxy
186
+ end # Propane::Proxy
187
187
  end # Propane
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Propane
3
- VERSION = '2.7.2'.freeze
3
+ VERSION = '2.8.0.pre'.freeze
4
4
  end
@@ -15,8 +15,7 @@ module ControlPanel
15
15
  mx = range.end
16
16
  mx = range.max if range.exclude_end? && range.begin.respond_to?(:succ)
17
17
  max = mx * 100
18
- val = range.cover?(initial) ? initial * 100 : (range.first + range.last) * 50
19
- super(min, max, val)
18
+ super(min, max)
20
19
  set_minor_tick_spacing((max - min).abs / 10)
21
20
  set_paint_ticks true
22
21
  # paint_labels = true
@@ -27,6 +26,8 @@ module ControlPanel
27
26
  ControlPanel.app_value(name, value)
28
27
  proc.call(value) if proc
29
28
  end
29
+ val = initial.nil? ? (range.first + range.last) * 50 : initial * 100
30
+ set_value(val)
30
31
  ControlPanel.app_value(name, val)
31
32
  end
32
33
 
data/pom.rb CHANGED
@@ -1,107 +1,108 @@
1
- require 'fileutils'
2
- project 'rp5extras', 'https://github.com/monkstone/propane' do
1
+ project 'propane', 'http://maven.apache.org' do
2
+
3
3
  model_version '4.0.0'
4
- id 'propane:propane', '2.7.2'
4
+ id 'ruby-processing:propane:2.8.0'
5
5
  packaging 'jar'
6
- description 'rp5extras for propane'
6
+
7
+ description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
8
+
7
9
  organization 'ruby-processing', 'https://ruby-processing.github.io'
8
- { 'monkstone' => 'Martin Prout' }.each do |key, value|
10
+
11
+ {
12
+ 'monkstone' => 'Martin Prout', 'benfry' => 'Ben Fry',
13
+ 'REAS' => 'Casey Reas', 'codeanticode' => 'Andres Colubri'
14
+ }.each do |key, value|
9
15
  developer key do
10
16
  name value
11
17
  roles 'developer'
12
18
  end
13
19
  end
14
20
  license 'GPL 3', 'http://www.gnu.org/licenses/gpl-3.0-standalone.html'
15
- issue_management 'https://github.com/ruby-processing/propane/issues', 'Github'
21
+ license 'LGPL 2', 'https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html'
16
22
 
17
- source_control(
18
- url: 'https://github.com/ruby-processing/propane',
19
- connection: 'scm:git:git://github.com/ruby-processing/propane.git',
20
- developer_connection: 'scm:git:git@github.com/ruby-processing/propane.git'
21
- )
23
+ issue_management 'https://github.com/ruby-processing/propane/issues', 'Github'
22
24
 
23
- properties('source.directory' => 'src',
24
- 'propane.basedir' => '${project.basedir}',
25
- 'polyglot.dump.pom' => 'pom.xml',
26
- 'maven.compiler.source' => '1.8',
27
- 'project.build.sourceEncoding' => 'utf-8',
28
- 'maven.compiler.target' => '1.8',
25
+ properties( 'jogl.version' => '2.3.2',
29
26
  'jruby.api' => 'http://jruby.org/apidocs/',
27
+ 'source.directory' => 'src',
28
+ 'maven.compiler.target' => '1.8',
30
29
  'processing.api' => 'http://processing.github.io/processing-javadocs/core/',
31
- 'jruby.api' => 'http://jruby.org/apidocs/',
32
- 'jogl.version' => '2.3.2'
33
- )
34
-
35
- pom 'org.jruby:jruby:9.1.16.0'
36
- jar 'org.processing:core:3.3.7'
37
- jar 'org.processing:video:3.0.2'
38
- jar('org.jogamp.jogl:jogl-all:${jogl.version}')
39
- jar('org.jogamp.gluegen:gluegen-rt-main:${jogl.version}')
30
+ 'propane.basedir' => '${project.basedir}',
31
+ 'project.build.sourceEncoding' => 'utf-8',
32
+ 'polyglot.dump.pom' => 'pom.xml',
33
+ 'maven.compiler.source' => '1.8' )
34
+ pom 'org.jruby:jruby:9.1.16.0'
35
+ jar 'org.processing:video:3.0.2'
36
+ jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
37
+ jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
40
38
 
41
- overrides do
42
- plugin :resources, '2.6'
43
- plugin :dependency, '2.10' do
44
- execute_goals( id: 'default-cli',
45
- artifactItems: [ { groupId: 'org.jogamp.jogl',
46
- artifactId: 'jogl-all',
47
- version: '${jogl.version}',
48
- type: 'jar',
49
- outputDirectory: '${propane.basedir}/lib'
50
- },
51
- { groupId: 'org.jogamp.gluegen',
52
- artifactId: 'gluegen-rt',
53
- version: '${jogl.version}',
54
- type: 'jar',
55
- outputDirectory: '${propane.basedir}/lib'
56
- },
57
- { groupId: 'org.jogamp.jogl',
58
- artifactId: 'jogl-all',
59
- version: '${jogl.version}',
60
- classifier: 'natives-linux-amd64',
61
- type: 'jar',
62
- outputDirectory: '${propane.basedir}/lib'
63
- },
64
- { groupId: 'org.jogamp.gluegen',
65
- artifactId: 'gluegen-rt',
66
- version: '${jogl.version}',
67
- type: 'jar',
68
- classifier: 'natives-linux-amd64',
69
- outputDirectory: '${propane.basedir}/lib'
70
- },
71
- { groupId: 'org.jogamp.jogl',
72
- artifactId: 'jogl-all',
73
- version: '${jogl.version}',
74
- classifier: 'natives-macosx-universal',
75
- type: 'jar',
76
- outputDirectory: '${propane.basedir}/lib'
77
- },
78
- { groupId: 'org.jogamp.gluegen',
79
- artifactId: 'gluegen-rt',
80
- version: '${jogl.version}',
81
- type: 'jar',
82
- classifier: 'natives-macosx-universal',
83
- outputDirectory: '${propane.basedir}/lib'
84
- }
39
+ overrides do
40
+ plugin :resources, '2.6'
41
+ plugin :dependency, '2.10' do
42
+ execute_goals( id: 'default-cli',
43
+ artifactItems: [ { groupId: 'org.jogamp.jogl',
44
+ artifactId: 'jogl-all',
45
+ version: '${jogl.version}',
46
+ type: 'jar',
47
+ outputDirectory: '${propane.basedir}/lib'
48
+ },
49
+ { groupId: 'org.jogamp.gluegen',
50
+ artifactId: 'gluegen-rt',
51
+ version: '${jogl.version}',
52
+ type: 'jar',
53
+ outputDirectory: '${propane.basedir}/lib'
54
+ },
55
+ { groupId: 'org.jogamp.jogl',
56
+ artifactId: 'jogl-all',
57
+ version: '${jogl.version}',
58
+ classifier: 'natives-linux-amd64',
59
+ type: 'jar',
60
+ outputDirectory: '${propane.basedir}/lib'
61
+ },
62
+ { groupId: 'org.jogamp.gluegen',
63
+ artifactId: 'gluegen-rt',
64
+ version: '${jogl.version}',
65
+ type: 'jar',
66
+ classifier: 'natives-linux-amd64',
67
+ outputDirectory: '${propane.basedir}/lib'
68
+ },
69
+ { groupId: 'org.jogamp.jogl',
70
+ artifactId: 'jogl-all',
71
+ version: '${jogl.version}',
72
+ classifier: 'natives-macosx-universal',
73
+ type: 'jar',
74
+ outputDirectory: '${propane.basedir}/lib'
75
+ },
76
+ { groupId: 'org.jogamp.gluegen',
77
+ artifactId: 'gluegen-rt',
78
+ version: '${jogl.version}',
79
+ type: 'jar',
80
+ classifier: 'natives-macosx-universal',
81
+ outputDirectory: '${propane.basedir}/lib'
82
+ }
85
83
  ]
86
84
  )
87
85
  end
88
-
89
- plugin( :compiler, '3.7.0',
90
- source: '${maven.compiler.source}',
91
- target: '${maven.compiler.target}'
92
- )
93
- plugin( :javadoc, '2.10.4',
94
- detect_offline_links: 'false',
95
- links: ['${jruby.api}', '${processing.api}']
96
- )
97
- plugin( :jar, '3.0.2',
98
- archive: { manifestFile: 'MANIFEST.MF' }
99
- )
100
86
  end
101
87
 
102
- build do
103
- default_goal 'package'
104
- source_directory 'src'
105
- final_name 'propane'
106
- end
107
- end
88
+ plugin( :resources, '2.7',
89
+ 'encoding' => 'UTF-8' )
90
+ plugin( :compiler, '3.7.0',
91
+ 'source' => '1.8',
92
+ 'target' => '1.8' )
93
+ plugin( :pmd, '3.3',
94
+ 'sourceEncoding' => 'utf-8',
95
+ 'minimumTokens' => '100',
96
+ 'targetJdk' => '${compileSource}' )
97
+ build do
98
+ resource do
99
+ directory '${source.directory}/main/java'
100
+ includes ['**/**/*.glsl', '**/*.jnilib']
101
+ excludes '**/**/*.java'
102
+ end
103
+ resource do
104
+ directory '${source.directory}/main/resources'
105
+ includes ['**/*.png', '*.txt']
106
+ end
107
+ end
108
+ end
data/pom.xml CHANGED
@@ -9,12 +9,12 @@ DO NOT MODIFIY - GENERATED CODE
9
9
  <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
10
10
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
11
11
  <modelVersion>4.0.0</modelVersion>
12
- <groupId>propane</groupId>
12
+ <groupId>ruby-processing</groupId>
13
13
  <artifactId>propane</artifactId>
14
- <version>2.7.2</version>
15
- <name>rp5extras</name>
16
- <description>rp5extras for propane</description>
17
- <url>https://github.com/monkstone/propane</url>
14
+ <version>2.8.0</version>
15
+ <name>propane</name>
16
+ <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
+ <url>http://maven.apache.org</url>
18
18
  <organization>
19
19
  <name>ruby-processing</name>
20
20
  <url>https://ruby-processing.github.io</url>
@@ -24,6 +24,10 @@ DO NOT MODIFIY - GENERATED CODE
24
24
  <name>GPL 3</name>
25
25
  <url>http://www.gnu.org/licenses/gpl-3.0-standalone.html</url>
26
26
  </license>
27
+ <license>
28
+ <name>LGPL 2</name>
29
+ <url>https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html</url>
30
+ </license>
27
31
  </licenses>
28
32
  <developers>
29
33
  <developer>
@@ -33,12 +37,28 @@ DO NOT MODIFIY - GENERATED CODE
33
37
  <role>developer</role>
34
38
  </roles>
35
39
  </developer>
40
+ <developer>
41
+ <id>benfry</id>
42
+ <name>Ben Fry</name>
43
+ <roles>
44
+ <role>developer</role>
45
+ </roles>
46
+ </developer>
47
+ <developer>
48
+ <id>REAS</id>
49
+ <name>Casey Reas</name>
50
+ <roles>
51
+ <role>developer</role>
52
+ </roles>
53
+ </developer>
54
+ <developer>
55
+ <id>codeanticode</id>
56
+ <name>Andres Colubri</name>
57
+ <roles>
58
+ <role>developer</role>
59
+ </roles>
60
+ </developer>
36
61
  </developers>
37
- <scm>
38
- <connection>scm:git:git://github.com/ruby-processing/propane.git</connection>
39
- <developerConnection>scm:git:git@github.com/ruby-processing/propane.git</developerConnection>
40
- <url>https://github.com/ruby-processing/propane</url>
41
- </scm>
42
62
  <issueManagement>
43
63
  <system>Github</system>
44
64
  <url>https://github.com/ruby-processing/propane/issues</url>
@@ -61,11 +81,6 @@ DO NOT MODIFIY - GENERATED CODE
61
81
  <version>9.1.16.0</version>
62
82
  <type>pom</type>
63
83
  </dependency>
64
- <dependency>
65
- <groupId>org.processing</groupId>
66
- <artifactId>core</artifactId>
67
- <version>3.3.7</version>
68
- </dependency>
69
84
  <dependency>
70
85
  <groupId>org.processing</groupId>
71
86
  <artifactId>video</artifactId>
@@ -83,9 +98,25 @@ DO NOT MODIFIY - GENERATED CODE
83
98
  </dependency>
84
99
  </dependencies>
85
100
  <build>
86
- <sourceDirectory>src</sourceDirectory>
87
- <defaultGoal>package</defaultGoal>
88
- <finalName>propane</finalName>
101
+ <resources>
102
+ <resource>
103
+ <directory>${source.directory}/main/java</directory>
104
+ <includes>
105
+ <include>**/**/*.glsl</include>
106
+ <include>**/*.jnilib</include>
107
+ </includes>
108
+ <excludes>
109
+ <exclude>**/**/*.java</exclude>
110
+ </excludes>
111
+ </resource>
112
+ <resource>
113
+ <directory>${source.directory}/main/resources</directory>
114
+ <includes>
115
+ <include>**/*.png</include>
116
+ <include>*.txt</include>
117
+ </includes>
118
+ </resource>
119
+ </resources>
89
120
  <pluginManagement>
90
121
  <plugins>
91
122
  <plugin>
@@ -151,35 +182,33 @@ DO NOT MODIFIY - GENERATED CODE
151
182
  </execution>
152
183
  </executions>
153
184
  </plugin>
154
- <plugin>
155
- <artifactId>maven-compiler-plugin</artifactId>
156
- <version>3.7.0</version>
157
- <configuration>
158
- <source>${maven.compiler.source}</source>
159
- <target>${maven.compiler.target}</target>
160
- </configuration>
161
- </plugin>
162
- <plugin>
163
- <artifactId>maven-javadoc-plugin</artifactId>
164
- <version>2.10.4</version>
165
- <configuration>
166
- <detectOfflineLinks>false</detectOfflineLinks>
167
- <links>
168
- <link>${jruby.api}</link>
169
- <link>${processing.api}</link>
170
- </links>
171
- </configuration>
172
- </plugin>
173
- <plugin>
174
- <artifactId>maven-jar-plugin</artifactId>
175
- <version>3.0.2</version>
176
- <configuration>
177
- <archive>
178
- <manifestFile>MANIFEST.MF</manifestFile>
179
- </archive>
180
- </configuration>
181
- </plugin>
182
185
  </plugins>
183
186
  </pluginManagement>
187
+ <plugins>
188
+ <plugin>
189
+ <artifactId>maven-resources-plugin</artifactId>
190
+ <version>2.7</version>
191
+ <configuration>
192
+ <encoding>UTF-8</encoding>
193
+ </configuration>
194
+ </plugin>
195
+ <plugin>
196
+ <artifactId>maven-compiler-plugin</artifactId>
197
+ <version>3.7.0</version>
198
+ <configuration>
199
+ <source>1.8</source>
200
+ <target>1.8</target>
201
+ </configuration>
202
+ </plugin>
203
+ <plugin>
204
+ <artifactId>maven-pmd-plugin</artifactId>
205
+ <version>3.3</version>
206
+ <configuration>
207
+ <sourceEncoding>utf-8</sourceEncoding>
208
+ <minimumTokens>100</minimumTokens>
209
+ <targetJdk>${compileSource}</targetJdk>
210
+ </configuration>
211
+ </plugin>
212
+ </plugins>
184
213
  </build>
185
214
  </project>
data/propane.gemspec CHANGED
@@ -15,8 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.summary = %q{ruby wrapper for processing-3.3.7 on MacOS and linux64 bit only for opengl}
16
16
  gem.homepage = 'https://ruby-processing.github.io/propane/'
17
17
  gem.files = `git ls-files`.split($/)
18
- gem.files << 'lib/propane.jar'
19
- gem.files << 'lib/processing-core.jar'
18
+ gem.files << 'lib/propane-2.8.0.jar'
20
19
  gem.files << 'lib/gluegen-rt-2.3.2.jar'
21
20
  gem.files << 'lib/jogl-all-2.3.2.jar'
22
21
  gem.files << 'lib/gluegen-rt-2.3.2-natives-linux-amd64.jar'
@@ -0,0 +1,88 @@
1
+ /*
2
+ Part of the Processing project - http://processing.org
3
+
4
+ Copyright (c) 2011-12 hansi raber, released under LGPL under agreement
5
+
6
+ This library is free software; you can redistribute it and/or
7
+ modify it under the terms of the GNU Lesser General Public
8
+ License as published by the Free Software Foundation, version 2.1.
9
+
10
+ This library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General
16
+ Public License along with this library; if not, write to the
17
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
+ Boston, MA 02111-1307 USA
19
+ */
20
+ package japplemenubar;
21
+
22
+ import java.io.*;
23
+
24
+ import processing.core.PApplet;
25
+
26
+
27
+ /**
28
+ * Starting point for the application. General initialization should be done
29
+ * inside the ApplicationController's init() method. If certain kinds of
30
+ * non-Swing initialization takes too long, it should happen in a new Thread
31
+ * and off the Swing event dispatch thread (EDT).
32
+ *
33
+ * @author hansi
34
+ */
35
+ public class JAppleMenuBar {
36
+ static JAppleMenuBar instance;
37
+ static final String FILENAME = "libjAppleMenuBar.jnilib";
38
+
39
+ static {
40
+ try {
41
+ File temp = File.createTempFile("processing", "menubar");
42
+ temp.delete(); // remove the file itself
43
+ temp.mkdirs(); // create a directory out of it
44
+ temp.deleteOnExit();
45
+
46
+ File jnilibFile = new File(temp, FILENAME);
47
+ InputStream input = JAppleMenuBar.class.getResourceAsStream(FILENAME);
48
+ if (input != null) {
49
+ if (PApplet.saveStream(jnilibFile, input)) {
50
+ System.load(jnilibFile.getAbsolutePath());
51
+ instance = new JAppleMenuBar();
52
+
53
+ } else {
54
+ sadness("Problem saving " + FILENAME + " for full screen use.");
55
+ }
56
+ } else {
57
+ sadness("Could not load " + FILENAME + " from core.jar");
58
+ }
59
+ } catch (IOException e) {
60
+ sadness("Unknown error, here's the stack trace.");
61
+ e.printStackTrace();
62
+ }
63
+ }
64
+
65
+
66
+ static void sadness(String msg) {
67
+ System.err.println("Full screen mode disabled. " + msg);
68
+ }
69
+
70
+
71
+ // static public void show() {
72
+ // instance.setVisible(true);
73
+ // }
74
+
75
+
76
+ static public void hide() {
77
+ instance.setVisible(false, false);
78
+ }
79
+
80
+
81
+ public native void setVisible(boolean visibility, boolean kioskMode);
82
+
83
+
84
+ // public void setVisible(boolean visibility) {
85
+ // // Keep original API in-tact. Default kiosk-mode to off.
86
+ // setVisible(visibility, false);
87
+ // }
88
+ }