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
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 98912fc6c5238c86d49019bba74ea9c72f89d4e0888d0718400e16da3f57756c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b0519d1aa9030d1a63c012e3274e34c3908287af72232b687f0a6e6e9d5fa6d3
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: aa44b2c66509e6348d3a455cb27de46c1a8f004278adb4062a306f0b1da6d7398efa00b5841d3c71b7c9c2f6482b15cc6282fcd668789db518507046a76665bf
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f63e3511db6a033fcce9bf87a691324deebe1329897edf9c74556d9d1da701acbecd2ca7f9b601adf42cc1b2521d8d55b8a996b0115e619affd63160d061a2d7
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,9 +1,12 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            __C6H3N3O7__ [](https://badge.fury.io/rb/picrate)
         
     | 
| 
      
 1 
     | 
    
         
            +
            __C6H3N3O7__ [](https://badge.fury.io/rb/picrate)
         
     | 
| 
       3 
2 
     | 
    
         | 
| 
       4 
3 
     | 
    
         
             
            # PiCrate
         
     | 
| 
       5 
4 
     | 
    
         
             
            Create processing sketches in ruby on raspberry-pi and linux (this project is a parallel development of [propane][propane] targetting the raspberry-pi, but will initially be developed on a regular linux box). The aim is to produce a gem installable app that can be run with jruby, with minimal dependencies. Drop the `C` and you get pirate, or and an `e` and get `PiCreate`, a happy coincidence?
         
     | 
| 
       6 
5 
     | 
    
         | 
| 
      
 6 
     | 
    
         
            +
            ### To install from rubygems ###
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            Unfortunately jgem will not currently download the gem (see #https://github.com/jruby/jruby/issues/5192 issue on raspberrypi) so download the gem and install locally.
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       7 
10 
     | 
    
         
             
            ### To Build and Test ###
         
     | 
| 
       8 
11 
     | 
    
         | 
| 
       9 
12 
     | 
    
         
             
            Clone this repo:-
         
     | 
| 
         @@ -12,14 +15,14 @@ Requires maven, [jdk8][oracle] (but could be openjdk), and a jruby install. 
     | 
|
| 
       12 
15 
     | 
    
         | 
| 
       13 
16 
     | 
    
         
             
            ```bash
         
     | 
| 
       14 
17 
     | 
    
         
             
            cd PiCrate
         
     | 
| 
       15 
     | 
    
         
            -
            rake
         
     | 
| 
       16 
     | 
    
         
            -
            jgem install picrate-0. 
     | 
| 
      
 18 
     | 
    
         
            +
            rake # assumes an installed version of vanilla processing
         
     | 
| 
      
 19 
     | 
    
         
            +
            jgem install picrate-0.2.0-java.gem
         
     | 
| 
       17 
20 
     | 
    
         
             
            ```
         
     | 
| 
       18 
21 
     | 
    
         
             
            To create a template sketch:-
         
     | 
| 
       19 
22 
     | 
    
         
             
            ```bash
         
     | 
| 
       20 
23 
     | 
    
         
             
            picrate -c my_sketch 200 200
         
     | 
| 
       21 
24 
     | 
    
         
             
            ```
         
     | 
| 
       22 
     | 
    
         
            -
            Edit sketch (vim is good choice):-
         
     | 
| 
      
 25 
     | 
    
         
            +
            Edit sketch (vim is a good choice):-
         
     | 
| 
       23 
26 
     | 
    
         
             
            ```ruby
         
     | 
| 
       24 
27 
     | 
    
         
             
            #!/usr/bin/env jruby
         
     | 
| 
       25 
28 
     | 
    
         
             
            # frozen_string_literal: false
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -13,14 +13,22 @@ end 
     | 
|
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            task default: [:init, :compile, :install, :test, :gem]
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 16 
     | 
    
         
            +
            # depends on installed processing, with processing on path
         
     | 
| 
      
 17 
     | 
    
         
            +
            desc 'Create Manifest and Copy Jars'
         
     | 
| 
       17 
18 
     | 
    
         
             
            task :init do
         
     | 
| 
       18 
19 
     | 
    
         
             
              create_manifest
         
     | 
| 
      
 20 
     | 
    
         
            +
              processing_root = File.dirname(`readlink -f $(which processing)`)
         
     | 
| 
      
 21 
     | 
    
         
            +
              jar_dir = File.join(processing_root, 'core', 'library')
         
     | 
| 
      
 22 
     | 
    
         
            +
              opengl = Dir.entries(jar_dir).grep(/amd64|armv6hf/).select { |jar| jar =~ /linux/ }
         
     | 
| 
      
 23 
     | 
    
         
            +
              opengl.concat %w[jogl-all.jar gluegen-rt.jar]
         
     | 
| 
      
 24 
     | 
    
         
            +
              opengl.each do |gl|
         
     | 
| 
      
 25 
     | 
    
         
            +
            	  FileUtils.cp(File.join(jar_dir, gl), File.join('.', 'lib'))
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
       19 
27 
     | 
    
         
             
            end
         
     | 
| 
       20 
28 
     | 
    
         | 
| 
       21 
29 
     | 
    
         
             
            desc 'Install'
         
     | 
| 
       22 
30 
     | 
    
         
             
            task :install do
         
     | 
| 
       23 
     | 
    
         
            -
              sh 'mv target/picrate-0. 
     | 
| 
      
 31 
     | 
    
         
            +
              sh 'mv target/picrate-0.3.0.jar lib'
         
     | 
| 
       24 
32 
     | 
    
         
             
            end
         
     | 
| 
       25 
33 
     | 
    
         | 
| 
       26 
34 
     | 
    
         
             
            desc 'Gem'
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            layout: post
         
     | 
| 
      
 3 
     | 
    
         
            +
            title:  "Automated PiCrate Install"
         
     | 
| 
      
 4 
     | 
    
         
            +
            date:   2018-06-26 07:34:13
         
     | 
| 
      
 5 
     | 
    
         
            +
            categories: PiCrate update
         
     | 
| 
      
 6 
     | 
    
         
            +
            permalink: /install_picrate/
         
     | 
| 
      
 7 
     | 
    
         
            +
            ---
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            For a semi-automated setup and install, download and extract [this gist](https://gist.github.com/monkstone/8f06529790c36f5b7f668015faadcbc5/archive/d8617b32e5b83f33e077d48b862a79b46bcdbbbc.zip)
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            ```bash
         
     | 
| 
      
 12 
     | 
    
         
            +
            bash gem_environment.sh # sets up a local gem environment
         
     | 
| 
      
 13 
     | 
    
         
            +
            rake # default is to install jruby to opt, then link using update-alternatives
         
     | 
| 
      
 14 
     | 
    
         
            +
            ```
         
     | 
| 
      
 15 
     | 
    
         
            +
            Adjust script to suit needs if required, currently downloads gems and installs using downloaded copies (currently there is an issue with jgem downloads from rubygems on raspberryPI).
         
     | 
    
        data/lib/export.txt
    ADDED
    
    | 
         @@ -0,0 +1,8 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # If you want to support more platforms, visit jogamp.org to get the 
         
     | 
| 
      
 2 
     | 
    
         
            +
            # natives libraries for the platform in question (i.e. Solaris). 
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            name = OpenGL
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            application.linux64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-amd64.jar,gluegen-rt-natives-linux-amd64.jar
         
     | 
| 
      
 7 
     | 
    
         
            +
            application.linux-armv6hf=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-armv6hf.jar,gluegen-rt-natives-linux-armv6hf.jar
         
     | 
| 
      
 8 
     | 
    
         
            +
            application.linux-arm64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-aarch64.jar,gluegen-rt-natives-linux-aarch64.jar
         
     | 
    
        data/lib/picrate/app.rb
    CHANGED
    
    | 
         @@ -62,6 +62,10 @@ module Processing 
     | 
|
| 
       62 
62 
     | 
    
         
             
                  self.class.sketch_class
         
     | 
| 
       63 
63 
     | 
    
         
             
                end
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
      
 65 
     | 
    
         
            +
                def sketch_title(title)
         
     | 
| 
      
 66 
     | 
    
         
            +
                  surface.set_title(title)
         
     | 
| 
      
 67 
     | 
    
         
            +
                end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
       65 
69 
     | 
    
         
             
                # Keep track of what inherits from the Processing::App, because we're
         
     | 
| 
       66 
70 
     | 
    
         
             
                # going to want to instantiate one.
         
     | 
| 
       67 
71 
     | 
    
         
             
                def self.inherited(subclass)
         
     | 
| 
         @@ -133,10 +137,6 @@ module Processing 
     | 
|
| 
       133 
137 
     | 
    
         
             
                def post_initialize(_args)
         
     | 
| 
       134 
138 
     | 
    
         
             
                end
         
     | 
| 
       135 
139 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                def sketch_title(title)
         
     | 
| 
       137 
     | 
    
         
            -
                  surface.set_title(title)
         
     | 
| 
       138 
     | 
    
         
            -
                end
         
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
       140 
140 
     | 
    
         
             
                def data_path(dat)
         
     | 
| 
       141 
141 
     | 
    
         
             
                  dat_root = File.join(SKETCH_ROOT, 'data')
         
     | 
| 
       142 
142 
     | 
    
         
             
                  Dir.mkdir(dat_root) unless File.exist?(dat_root)
         
     | 
    
        data/lib/picrate/version.rb
    CHANGED
    
    
    
        data/picrate.gemspec
    CHANGED
    
    | 
         @@ -15,7 +15,7 @@ Gem::Specification.new do |gem| 
     | 
|
| 
       15 
15 
     | 
    
         
             
              gem.summary       = %q{ruby wrapper for processing-3.3.7 on raspberrypi and linux64}
         
     | 
| 
       16 
16 
     | 
    
         
             
              gem.homepage      = 'https://ruby-processing.github.io/PiCrate/'
         
     | 
| 
       17 
17 
     | 
    
         
             
              gem.files         = `git ls-files`.split($/)
         
     | 
| 
       18 
     | 
    
         
            -
              gem.files << 'lib/picrate-0. 
     | 
| 
      
 18 
     | 
    
         
            +
              gem.files << 'lib/picrate-0.3.0.jar'
         
     | 
| 
       19 
19 
     | 
    
         
             
              gem.files << 'lib/gluegen-rt.jar'
         
     | 
| 
       20 
20 
     | 
    
         
             
              gem.files << 'lib/jogl-all.jar'
         
     | 
| 
       21 
21 
     | 
    
         
             
              gem.files << 'lib/gluegen-rt-natives-linux-amd64.jar'
         
     | 
    
        data/pom.rb
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            project 'picrate', 'http://maven.apache.org' do
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
              model_version '4.0.0'
         
     | 
| 
       4 
     | 
    
         
            -
              id 'ruby-processing:picrate:0. 
     | 
| 
      
 4 
     | 
    
         
            +
              id 'ruby-processing:picrate:0.3.0'
         
     | 
| 
       5 
5 
     | 
    
         
             
              packaging 'jar'
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
         
     | 
    
        data/pom.xml
    CHANGED
    
    | 
         @@ -11,7 +11,7 @@ DO NOT MODIFIY - GENERATED CODE 
     | 
|
| 
       11 
11 
     | 
    
         
             
              <modelVersion>4.0.0</modelVersion>
         
     | 
| 
       12 
12 
     | 
    
         
             
              <groupId>ruby-processing</groupId>
         
     | 
| 
       13 
13 
     | 
    
         
             
              <artifactId>picrate</artifactId>
         
     | 
| 
       14 
     | 
    
         
            -
              <version>0. 
     | 
| 
      
 14 
     | 
    
         
            +
              <version>0.3.0</version>
         
     | 
| 
       15 
15 
     | 
    
         
             
              <name>picrate</name>
         
     | 
| 
       16 
16 
     | 
    
         
             
              <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
         
     | 
| 
       17 
17 
     | 
    
         
             
              <url>http://maven.apache.org</url>
         
     | 
| 
         @@ -60,10 +60,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       60 
60 
     | 
    
         
             
            ////  boolean useOffscreen = true;  // ~40fps
         
     | 
| 
       61 
61 
     | 
    
         
             
            //  boolean useOffscreen = false;
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
     | 
    
         
            -
                /**
         
     | 
| 
       64 
     | 
    
         
            -
                 *
         
     | 
| 
       65 
     | 
    
         
            -
                 */
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
63 
     | 
    
         
             
              public Graphics2D g2;
         
     | 
| 
       68 
64 
     | 
    
         
             
            //  protected BufferedImage offscreen;
         
     | 
| 
       69 
65 
     | 
    
         | 
| 
         @@ -95,45 +91,16 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       95 
91 
     | 
    
         
             
              Rectangle2D.Float rect = new Rectangle2D.Float();
         
     | 
| 
       96 
92 
     | 
    
         
             
              Arc2D.Float arc = new Arc2D.Float();
         
     | 
| 
       97 
93 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
                 *
         
     | 
| 
       100 
     | 
    
         
            -
                 */
         
     | 
| 
       101 
     | 
    
         
            -
                protected Color tintColorObject;
         
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
                /**
         
     | 
| 
       104 
     | 
    
         
            -
                 *
         
     | 
| 
       105 
     | 
    
         
            -
                 */
         
     | 
| 
       106 
     | 
    
         
            -
                protected Color fillColorObject;
         
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
                /**
         
     | 
| 
       109 
     | 
    
         
            -
                 *
         
     | 
| 
       110 
     | 
    
         
            -
                 */
         
     | 
| 
       111 
     | 
    
         
            -
                public boolean fillGradient;
         
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
                /**
         
     | 
| 
       114 
     | 
    
         
            -
                 *
         
     | 
| 
       115 
     | 
    
         
            -
                 */
         
     | 
| 
       116 
     | 
    
         
            -
                public Paint fillGradientObject;
         
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
       118 
     | 
    
         
            -
                /**
         
     | 
| 
       119 
     | 
    
         
            -
                 *
         
     | 
| 
       120 
     | 
    
         
            -
                 */
         
     | 
| 
       121 
     | 
    
         
            -
                protected Stroke strokeObject;
         
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
                /**
         
     | 
| 
       124 
     | 
    
         
            -
                 *
         
     | 
| 
       125 
     | 
    
         
            -
                 */
         
     | 
| 
       126 
     | 
    
         
            -
                protected Color strokeColorObject;
         
     | 
| 
      
 94 
     | 
    
         
            +
              protected Color tintColorObject;
         
     | 
| 
       127 
95 
     | 
    
         | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
       130 
     | 
    
         
            -
             
     | 
| 
       131 
     | 
    
         
            -
                public boolean strokeGradient;
         
     | 
| 
      
 96 
     | 
    
         
            +
              protected Color fillColorObject;
         
     | 
| 
      
 97 
     | 
    
         
            +
              public boolean fillGradient;
         
     | 
| 
      
 98 
     | 
    
         
            +
              public Paint fillGradientObject;
         
     | 
| 
       132 
99 
     | 
    
         | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
      
 100 
     | 
    
         
            +
              protected Stroke strokeObject;
         
     | 
| 
      
 101 
     | 
    
         
            +
              protected Color strokeColorObject;
         
     | 
| 
      
 102 
     | 
    
         
            +
              public boolean strokeGradient;
         
     | 
| 
      
 103 
     | 
    
         
            +
              public Paint strokeGradientObject;
         
     | 
| 
       137 
104 
     | 
    
         | 
| 
       138 
105 
     | 
    
         
             
              Font fontObject;
         
     | 
| 
       139 
106 
     | 
    
         | 
| 
         @@ -143,10 +110,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       143 
110 
     | 
    
         | 
| 
       144 
111 
     | 
    
         
             
              // INTERNAL
         
     | 
| 
       145 
112 
     | 
    
         | 
| 
       146 
     | 
    
         
            -
                /**
         
     | 
| 
       147 
     | 
    
         
            -
                 *
         
     | 
| 
       148 
     | 
    
         
            -
                 */
         
     | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
113 
     | 
    
         | 
| 
       151 
114 
     | 
    
         
             
              public PGraphicsJava2D() { }
         
     | 
| 
       152 
115 
     | 
    
         | 
| 
         @@ -293,7 +256,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       293 
256 
     | 
    
         
             
              /**
         
     | 
| 
       294 
257 
     | 
    
         
             
               * Still need a means to get the java.awt.Image object, since getNative()
         
     | 
| 
       295 
258 
     | 
    
         
             
               * is going to return the {@link Graphics2D} object.
         
     | 
| 
       296 
     | 
    
         
            -
                 * @return 
         
     | 
| 
       297 
259 
     | 
    
         
             
               */
         
     | 
| 
       298 
260 
     | 
    
         
             
              @Override
         
     | 
| 
       299 
261 
     | 
    
         
             
              public Image getImage() {
         
     | 
| 
         @@ -301,8 +263,7 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       301 
263 
     | 
    
         
             
              }
         
     | 
| 
       302 
264 
     | 
    
         | 
| 
       303 
265 
     | 
    
         | 
| 
       304 
     | 
    
         
            -
              /** Returns the java.awt.Graphics2D object used by this renderer.
         
     | 
| 
       305 
     | 
    
         
            -
                 * @return  */
         
     | 
| 
      
 266 
     | 
    
         
            +
              /** Returns the java.awt.Graphics2D object used by this renderer. */
         
     | 
| 
       306 
267 
     | 
    
         
             
              @Override
         
     | 
| 
       307 
268 
     | 
    
         
             
              public Object getNative() {
         
     | 
| 
       308 
269 
     | 
    
         
             
                return g2;
         
     | 
| 
         @@ -332,11 +293,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       332 
293 
     | 
    
         | 
| 
       333 
294 
     | 
    
         
             
            //  Graphics2D g2old;
         
     | 
| 
       334 
295 
     | 
    
         | 
| 
       335 
     | 
    
         
            -
                /**
         
     | 
| 
       336 
     | 
    
         
            -
                 *
         
     | 
| 
       337 
     | 
    
         
            -
                 * @return
         
     | 
| 
       338 
     | 
    
         
            -
                 */
         
     | 
| 
       339 
     | 
    
         
            -
             
     | 
| 
       340 
296 
     | 
    
         
             
              public Graphics2D checkImage() {
         
     | 
| 
       341 
297 
     | 
    
         
             
                if (image == null ||
         
     | 
| 
       342 
298 
     | 
    
         
             
                  ((BufferedImage) image).getWidth() != width*pixelDensity ||
         
     | 
| 
         @@ -1367,11 +1323,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       1367 
1323 
     | 
    
         | 
| 
       1368 
1324 
     | 
    
         
             
              // JAVA2D SHAPE/PATH HANDLING
         
     | 
| 
       1369 
1325 
     | 
    
         | 
| 
       1370 
     | 
    
         
            -
                /**
         
     | 
| 
       1371 
     | 
    
         
            -
                 *
         
     | 
| 
       1372 
     | 
    
         
            -
                 * @param s
         
     | 
| 
       1373 
     | 
    
         
            -
                 */
         
     | 
| 
       1374 
     | 
    
         
            -
             
     | 
| 
       1375 
1326 
     | 
    
         | 
| 
       1376 
1327 
     | 
    
         
             
              protected void fillShape(Shape s) {
         
     | 
| 
       1377 
1328 
     | 
    
         
             
                if (fillGradient) {
         
     | 
| 
         @@ -1383,11 +1334,8 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       1383 
1334 
     | 
    
         
             
                }
         
     | 
| 
       1384 
1335 
     | 
    
         
             
              }
         
     | 
| 
       1385 
1336 
     | 
    
         | 
| 
       1386 
     | 
    
         
            -
             
     | 
| 
       1387 
     | 
    
         
            -
             
     | 
| 
       1388 
     | 
    
         
            -
                 * @param s
         
     | 
| 
       1389 
     | 
    
         
            -
                 */
         
     | 
| 
       1390 
     | 
    
         
            -
                protected void strokeShape(Shape s) {
         
     | 
| 
      
 1337 
     | 
    
         
            +
             
     | 
| 
      
 1338 
     | 
    
         
            +
              protected void strokeShape(Shape s) {
         
     | 
| 
       1391 
1339 
     | 
    
         
             
                if (strokeGradient) {
         
     | 
| 
       1392 
1340 
     | 
    
         
             
                  g2.setPaint(strokeGradientObject);
         
     | 
| 
       1393 
1341 
     | 
    
         
             
                  g2.draw(s);
         
     | 
| 
         @@ -1397,11 +1345,8 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       1397 
1345 
     | 
    
         
             
                }
         
     | 
| 
       1398 
1346 
     | 
    
         
             
              }
         
     | 
| 
       1399 
1347 
     | 
    
         | 
| 
       1400 
     | 
    
         
            -
             
     | 
| 
       1401 
     | 
    
         
            -
             
     | 
| 
       1402 
     | 
    
         
            -
                 * @param s
         
     | 
| 
       1403 
     | 
    
         
            -
                 */
         
     | 
| 
       1404 
     | 
    
         
            -
                protected void drawShape(Shape s) {
         
     | 
| 
      
 1348 
     | 
    
         
            +
             
     | 
| 
      
 1349 
     | 
    
         
            +
              protected void drawShape(Shape s) {
         
     | 
| 
       1405 
1350 
     | 
    
         
             
                if (fillGradient) {
         
     | 
| 
       1406 
1351 
     | 
    
         
             
                  g2.setPaint(fillGradientObject);
         
     | 
| 
       1407 
1352 
     | 
    
         
             
                  g2.fill(s);
         
     | 
| 
         @@ -1614,7 +1559,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       1614 
1559 
     | 
    
         | 
| 
       1615 
1560 
     | 
    
         
             
              /**
         
     | 
| 
       1616 
1561 
     | 
    
         
             
               * Handle renderer-specific image drawing.
         
     | 
| 
       1617 
     | 
    
         
            -
                 * @param who
         
     | 
| 
       1618 
1562 
     | 
    
         
             
               */
         
     | 
| 
       1619 
1563 
     | 
    
         
             
              @Override
         
     | 
| 
       1620 
1564 
     | 
    
         
             
              protected void imageImpl(PImage who,
         
     | 
| 
         @@ -2486,10 +2430,8 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       2486 
2430 
     | 
    
         
             
                strokeImpl();
         
     | 
| 
       2487 
2431 
     | 
    
         
             
              }
         
     | 
| 
       2488 
2432 
     | 
    
         | 
| 
       2489 
     | 
    
         
            -
             
     | 
| 
       2490 
     | 
    
         
            -
             
     | 
| 
       2491 
     | 
    
         
            -
                 */
         
     | 
| 
       2492 
     | 
    
         
            -
                protected void strokeImpl() {
         
     | 
| 
      
 2433 
     | 
    
         
            +
             
     | 
| 
      
 2434 
     | 
    
         
            +
              protected void strokeImpl() {
         
     | 
| 
       2493 
2435 
     | 
    
         
             
                int cap = BasicStroke.CAP_BUTT;
         
     | 
| 
       2494 
2436 
     | 
    
         
             
                if (strokeCap == ROUND) {
         
     | 
| 
       2495 
2437 
     | 
    
         
             
                  cap = BasicStroke.CAP_ROUND;
         
     | 
| 
         @@ -2611,11 +2553,7 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       2611 
2553 
     | 
    
         | 
| 
       2612 
2554 
     | 
    
         
             
              int[] clearPixels;
         
     | 
| 
       2613 
2555 
     | 
    
         | 
| 
       2614 
     | 
    
         
            -
             
     | 
| 
       2615 
     | 
    
         
            -
                 *
         
     | 
| 
       2616 
     | 
    
         
            -
                 * @param color
         
     | 
| 
       2617 
     | 
    
         
            -
                 */
         
     | 
| 
       2618 
     | 
    
         
            -
                protected void clearPixels(int color) {
         
     | 
| 
      
 2556 
     | 
    
         
            +
              protected void clearPixels(int color) {
         
     | 
| 
       2619 
2557 
     | 
    
         
             
                // On a hi-res display, image may be larger than width/height
         
     | 
| 
       2620 
2558 
     | 
    
         
             
                int imageWidth = image.getWidth(null);
         
     | 
| 
       2621 
2559 
     | 
    
         
             
                int imageHeight = image.getHeight(null);
         
     | 
| 
         @@ -2772,11 +2710,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       2772 
2710 
     | 
    
         | 
| 
       2773 
2711 
     | 
    
         
             
              // getImage, setCache, getCache, removeCache, isModified, setModified
         
     | 
| 
       2774 
2712 
     | 
    
         | 
| 
       2775 
     | 
    
         
            -
                /**
         
     | 
| 
       2776 
     | 
    
         
            -
                 *
         
     | 
| 
       2777 
     | 
    
         
            -
                 * @return
         
     | 
| 
       2778 
     | 
    
         
            -
                 */
         
     | 
| 
       2779 
     | 
    
         
            -
             
     | 
| 
       2780 
2713 
     | 
    
         | 
| 
       2781 
2714 
     | 
    
         
             
              protected WritableRaster getRaster() {
         
     | 
| 
       2782 
2715 
     | 
    
         
             
                WritableRaster raster = null;
         
     | 
| 
         @@ -2850,8 +2783,6 @@ public class PGraphicsJava2D extends PGraphics { 
     | 
|
| 
       2850 
2783 
     | 
    
         
             
               * <P>
         
     | 
| 
       2851 
2784 
     | 
    
         
             
               * Unlike in PImage, where updatePixels() only requests that the
         
     | 
| 
       2852 
2785 
     | 
    
         
             
               * update happens, in PGraphicsJava2D, this will happen immediately.
         
     | 
| 
       2853 
     | 
    
         
            -
                 * @param c
         
     | 
| 
       2854 
     | 
    
         
            -
                 * @param d
         
     | 
| 
       2855 
2786 
     | 
    
         
             
               */
         
     | 
| 
       2856 
2787 
     | 
    
         
             
              @Override
         
     | 
| 
       2857 
2788 
     | 
    
         
             
              public void updatePixels(int x, int y, int c, int d) {
         
     | 
| 
         @@ -47,29 +47,18 @@ public class PShapeJava2D extends PShapeSVG { 
     | 
|
| 
       47 
47 
     | 
    
         
             
              Paint strokeGradientPaint;
         
     | 
| 
       48 
48 
     | 
    
         
             
              Paint fillGradientPaint;
         
     | 
| 
       49 
49 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
                 * @param svg
         
     | 
| 
       53 
     | 
    
         
            -
                 */
         
     | 
| 
       54 
     | 
    
         
            -
                public PShapeJava2D(XML svg) {
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
              public PShapeJava2D(XML svg) {
         
     | 
| 
       55 
52 
     | 
    
         
             
                super(svg);
         
     | 
| 
       56 
53 
     | 
    
         
             
              }
         
     | 
| 
       57 
54 
     | 
    
         | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
                 * @param parent
         
     | 
| 
       61 
     | 
    
         
            -
                 * @param properties
         
     | 
| 
       62 
     | 
    
         
            -
                 * @param parseKids
         
     | 
| 
       63 
     | 
    
         
            -
                 */
         
     | 
| 
       64 
     | 
    
         
            -
                public PShapeJava2D(PShapeSVG parent, XML properties, boolean parseKids) {
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
              public PShapeJava2D(PShapeSVG parent, XML properties, boolean parseKids) {
         
     | 
| 
       65 
57 
     | 
    
         
             
                super(parent, properties, parseKids);
         
     | 
| 
       66 
58 
     | 
    
         
             
              }
         
     | 
| 
       67 
59 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
             
     | 
| 
       70 
     | 
    
         
            -
                 * @param parent
         
     | 
| 
       71 
     | 
    
         
            -
                 */
         
     | 
| 
       72 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              @Override
         
     | 
| 
       73 
62 
     | 
    
         
             
              protected void setParent(PShapeSVG parent) {
         
     | 
| 
       74 
63 
     | 
    
         
             
                super.setParent(parent);
         
     | 
| 
       75 
64 
     | 
    
         | 
| 
         @@ -85,11 +74,7 @@ public class PShapeJava2D extends PShapeSVG { 
     | 
|
| 
       85 
74 
     | 
    
         
             
              }
         
     | 
| 
       86 
75 
     | 
    
         | 
| 
       87 
76 
     | 
    
         | 
| 
       88 
     | 
    
         
            -
              /** Factory method for subclasses.
         
     | 
| 
       89 
     | 
    
         
            -
                 * @param parent
         
     | 
| 
       90 
     | 
    
         
            -
                 * @param properties
         
     | 
| 
       91 
     | 
    
         
            -
                 * @param parseKids
         
     | 
| 
       92 
     | 
    
         
            -
                 * @return  */
         
     | 
| 
      
 77 
     | 
    
         
            +
              /** Factory method for subclasses. */
         
     | 
| 
       93 
78 
     | 
    
         
             
              @Override
         
     | 
| 
       94 
79 
     | 
    
         
             
              protected PShapeSVG createShape(PShapeSVG parent, XML properties, boolean parseKids) {
         
     | 
| 
       95 
80 
     | 
    
         
             
                return new PShapeJava2D(parent, properties, parseKids);
         
     | 
| 
         @@ -313,12 +298,8 @@ public class PShapeJava2D extends PShapeSVG { 
     | 
|
| 
       313 
298 
     | 
    
         
             
                }
         
     | 
| 
       314 
299 
     | 
    
         
             
              }
         
     | 
| 
       315 
300 
     | 
    
         | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
             
     | 
| 
       318 
     | 
    
         
            -
                 * @param gradient
         
     | 
| 
       319 
     | 
    
         
            -
                 * @return
         
     | 
| 
       320 
     | 
    
         
            -
                 */
         
     | 
| 
       321 
     | 
    
         
            -
                protected Paint calcGradientPaint(Gradient gradient) {
         
     | 
| 
      
 301 
     | 
    
         
            +
             
     | 
| 
      
 302 
     | 
    
         
            +
              protected Paint calcGradientPaint(Gradient gradient) {
         
     | 
| 
       322 
303 
     | 
    
         
             
                if (gradient instanceof LinearGradient) {
         
     | 
| 
       323 
304 
     | 
    
         
             
            //      System.out.println("creating linear gradient");
         
     | 
| 
       324 
305 
     | 
    
         
             
                  LinearGradient grad = (LinearGradient) gradient;
         
     | 
| 
         @@ -363,11 +344,6 @@ public class PShapeJava2D extends PShapeSVG { 
     | 
|
| 
       363 
344 
     | 
    
         | 
| 
       364 
345 
     | 
    
         
             
              // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
         
     | 
| 
       365 
346 
     | 
    
         | 
| 
       366 
     | 
    
         
            -
                /**
         
     | 
| 
       367 
     | 
    
         
            -
                 *
         
     | 
| 
       368 
     | 
    
         
            -
                 * @param g
         
     | 
| 
       369 
     | 
    
         
            -
                 */
         
     | 
| 
       370 
     | 
    
         
            -
             
     | 
| 
       371 
347 
     | 
    
         | 
| 
       372 
348 
     | 
    
         
             
              @Override
         
     | 
| 
       373 
349 
     | 
    
         
             
              protected void styles(PGraphics g) {
         
     | 
| 
         @@ -57,10 +57,7 @@ import processing.core.PSurfaceNone; 
     | 
|
| 
       57 
57 
     | 
    
         
             
            import processing.event.KeyEvent;
         
     | 
| 
       58 
58 
     | 
    
         
             
            import processing.event.MouseEvent;
         
     | 
| 
       59 
59 
     | 
    
         | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
       61 
     | 
    
         
            -
             *
         
     | 
| 
       62 
     | 
    
         
            -
             * @author tux
         
     | 
| 
       63 
     | 
    
         
            -
             */
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       64 
61 
     | 
    
         
             
            public class PSurfaceAWT extends PSurfaceNone {
         
     | 
| 
       65 
62 
     | 
    
         
             
              GraphicsDevice displayDevice;
         
     | 
| 
       66 
63 
     | 
    
         | 
| 
         @@ -95,11 +92,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       95 
92 
     | 
    
         | 
| 
       96 
93 
     | 
    
         
             
              int windowScaleFactor;
         
     | 
| 
       97 
94 
     | 
    
         | 
| 
       98 
     | 
    
         
            -
             
     | 
| 
       99 
     | 
    
         
            -
             
     | 
| 
       100 
     | 
    
         
            -
                 * @param graphics
         
     | 
| 
       101 
     | 
    
         
            -
                 */
         
     | 
| 
       102 
     | 
    
         
            -
                public PSurfaceAWT(PGraphics graphics) {
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
              public PSurfaceAWT(PGraphics graphics) {
         
     | 
| 
       103 
97 
     | 
    
         
             
                //this.graphics = graphics;
         
     | 
| 
       104 
98 
     | 
    
         
             
                super(graphics);
         
     | 
| 
       105 
99 
     | 
    
         | 
| 
         @@ -189,10 +183,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       189 
183 
     | 
    
         | 
| 
       190 
184 
     | 
    
         
             
              // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
         
     | 
| 
       191 
185 
     | 
    
         | 
| 
       192 
     | 
    
         
            -
                /**
         
     | 
| 
       193 
     | 
    
         
            -
                 *
         
     | 
| 
       194 
     | 
    
         
            -
                 */
         
     | 
| 
       195 
     | 
    
         
            -
             
     | 
| 
       196 
186 
     | 
    
         | 
| 
       197 
187 
     | 
    
         
             
              public class SmoothCanvas extends Canvas {
         
     | 
| 
       198 
188 
     | 
    
         
             
                private Dimension oldSize = new Dimension(0, 0);
         
     | 
| 
         @@ -200,47 +190,31 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       200 
190 
     | 
    
         | 
| 
       201 
191 
     | 
    
         | 
| 
       202 
192 
     | 
    
         
             
                // Turns out getParent() returns a JPanel on a JFrame. Yech.
         
     | 
| 
       203 
     | 
    
         
            -
             
     | 
| 
       204 
     | 
    
         
            -
                  /**
         
     | 
| 
       205 
     | 
    
         
            -
                   *
         
     | 
| 
       206 
     | 
    
         
            -
                   * @return
         
     | 
| 
       207 
     | 
    
         
            -
                   */
         
     | 
| 
       208 
193 
     | 
    
         
             
                public Frame getFrame() {
         
     | 
| 
       209 
194 
     | 
    
         
             
                  return frame;
         
     | 
| 
       210 
195 
     | 
    
         
             
                }
         
     | 
| 
       211 
196 
     | 
    
         | 
| 
       212 
     | 
    
         
            -
             
     | 
| 
       213 
     | 
    
         
            -
             
     | 
| 
       214 
     | 
    
         
            -
                   * @return
         
     | 
| 
       215 
     | 
    
         
            -
                   */
         
     | 
| 
       216 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
                @Override
         
     | 
| 
       217 
199 
     | 
    
         
             
                public Dimension getPreferredSize() {
         
     | 
| 
       218 
200 
     | 
    
         
             
                  return new Dimension(sketchWidth, sketchHeight);
         
     | 
| 
       219 
201 
     | 
    
         
             
                }
         
     | 
| 
       220 
202 
     | 
    
         | 
| 
       221 
     | 
    
         
            -
             
     | 
| 
       222 
     | 
    
         
            -
             
     | 
| 
       223 
     | 
    
         
            -
                   * @return
         
     | 
| 
       224 
     | 
    
         
            -
                   */
         
     | 
| 
       225 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
      
 204 
     | 
    
         
            +
                @Override
         
     | 
| 
       226 
205 
     | 
    
         
             
                public Dimension getMinimumSize() {
         
     | 
| 
       227 
206 
     | 
    
         
             
                  return getPreferredSize();
         
     | 
| 
       228 
207 
     | 
    
         
             
                }
         
     | 
| 
       229 
208 
     | 
    
         | 
| 
       230 
     | 
    
         
            -
             
     | 
| 
       231 
     | 
    
         
            -
             
     | 
| 
       232 
     | 
    
         
            -
                   * @return
         
     | 
| 
       233 
     | 
    
         
            -
                   */
         
     | 
| 
       234 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 209 
     | 
    
         
            +
             
     | 
| 
      
 210 
     | 
    
         
            +
                @Override
         
     | 
| 
       235 
211 
     | 
    
         
             
                public Dimension getMaximumSize() {
         
     | 
| 
       236 
212 
     | 
    
         
             
                  //return resizable ? super.getMaximumSize() : getPreferredSize();
         
     | 
| 
       237 
213 
     | 
    
         
             
                  return frame.isResizable() ? super.getMaximumSize() : getPreferredSize();
         
     | 
| 
       238 
214 
     | 
    
         
             
                }
         
     | 
| 
       239 
215 
     | 
    
         | 
| 
       240 
     | 
    
         
            -
             
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
       242 
     | 
    
         
            -
                   */
         
     | 
| 
       243 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 216 
     | 
    
         
            +
             
     | 
| 
      
 217 
     | 
    
         
            +
                @Override
         
     | 
| 
       244 
218 
     | 
    
         
             
                public void validate() {
         
     | 
| 
       245 
219 
     | 
    
         
             
                  super.validate();
         
     | 
| 
       246 
220 
     | 
    
         
             
                  newSize.width = getWidth();
         
     | 
| 
         @@ -261,21 +235,15 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       261 
235 
     | 
    
         
             
                  }
         
     | 
| 
       262 
236 
     | 
    
         
             
                }
         
     | 
| 
       263 
237 
     | 
    
         | 
| 
       264 
     | 
    
         
            -
             
     | 
| 
       265 
     | 
    
         
            -
             
     | 
| 
       266 
     | 
    
         
            -
                   * @param g
         
     | 
| 
       267 
     | 
    
         
            -
                   */
         
     | 
| 
       268 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 238 
     | 
    
         
            +
             
     | 
| 
      
 239 
     | 
    
         
            +
                @Override
         
     | 
| 
       269 
240 
     | 
    
         
             
                public void update(Graphics g) {
         
     | 
| 
       270 
241 
     | 
    
         
             
            //      System.out.println("updating");
         
     | 
| 
       271 
242 
     | 
    
         
             
                  paint(g);
         
     | 
| 
       272 
243 
     | 
    
         
             
                }
         
     | 
| 
       273 
244 
     | 
    
         | 
| 
       274 
     | 
    
         
            -
             
     | 
| 
       275 
     | 
    
         
            -
             
     | 
| 
       276 
     | 
    
         
            -
                   * @param screen
         
     | 
| 
       277 
     | 
    
         
            -
                   */
         
     | 
| 
       278 
     | 
    
         
            -
                  @Override
         
     | 
| 
      
 245 
     | 
    
         
            +
             
     | 
| 
      
 246 
     | 
    
         
            +
                @Override
         
     | 
| 
       279 
247 
     | 
    
         
             
                public void paint(Graphics screen) {
         
     | 
| 
       280 
248 
     | 
    
         
             
            //      System.out.println("painting");
         
     | 
| 
       281 
249 
     | 
    
         
             
            //      if (useStrategy) {
         
     | 
| 
         @@ -312,10 +280,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       312 
280 
     | 
    
         
             
                }
         
     | 
| 
       313 
281 
     | 
    
         
             
                */
         
     | 
| 
       314 
282 
     | 
    
         | 
| 
       315 
     | 
    
         
            -
             
     | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
                 */
         
     | 
| 
       318 
     | 
    
         
            -
                synchronized protected void render() {
         
     | 
| 
      
 283 
     | 
    
         
            +
             
     | 
| 
      
 284 
     | 
    
         
            +
              synchronized protected void render() {
         
     | 
| 
       319 
285 
     | 
    
         
             
                if (canvas.isDisplayable() &&
         
     | 
| 
       320 
286 
     | 
    
         
             
                    graphics.image != null) {
         
     | 
| 
       321 
287 
     | 
    
         
             
                  if (canvas.getBufferStrategy() == null) {
         
     | 
| 
         @@ -391,11 +357,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       391 
357 
     | 
    
         | 
| 
       392 
358 
     | 
    
         | 
| 
       393 
359 
     | 
    
         
             
              // what needs to happen here?
         
     | 
| 
       394 
     | 
    
         
            -
             
     | 
| 
       395 
     | 
    
         
            -
                /**
         
     | 
| 
       396 
     | 
    
         
            -
                 *
         
     | 
| 
       397 
     | 
    
         
            -
                 * @param sketch
         
     | 
| 
       398 
     | 
    
         
            -
                 */
         
     | 
| 
       399 
360 
     | 
    
         
             
              @Override
         
     | 
| 
       400 
361 
     | 
    
         
             
              public void initOffscreen(PApplet sketch) {
         
     | 
| 
       401 
362 
     | 
    
         
             
                this.sketch = sketch;
         
     | 
| 
         @@ -423,11 +384,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       423 
384 
     | 
    
         
             
              }
         
     | 
| 
       424 
385 
     | 
    
         
             
              */
         
     | 
| 
       425 
386 
     | 
    
         | 
| 
       426 
     | 
    
         
            -
             
     | 
| 
       427 
     | 
    
         
            -
             
     | 
| 
       428 
     | 
    
         
            -
                 * @param sketch
         
     | 
| 
       429 
     | 
    
         
            -
                 */
         
     | 
| 
       430 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 387 
     | 
    
         
            +
             
     | 
| 
      
 388 
     | 
    
         
            +
              @Override
         
     | 
| 
       431 
389 
     | 
    
         
             
              public void initFrame(final PApplet sketch) {/*, int backgroundColor,
         
     | 
| 
       432 
390 
     | 
    
         
             
                                    int deviceIndex, boolean fullScreen, boolean spanDisplays) {*/
         
     | 
| 
       433 
391 
     | 
    
         
             
                this.sketch = sketch;
         
     | 
| 
         @@ -600,8 +558,7 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       600 
558 
     | 
    
         
             
            //  }
         
     | 
| 
       601 
559 
     | 
    
         | 
| 
       602 
560 
     | 
    
         | 
| 
       603 
     | 
    
         
            -
              /** Set the window (and dock, or whatever necessary) title.
         
     | 
| 
       604 
     | 
    
         
            -
                 * @param title */
         
     | 
| 
      
 561 
     | 
    
         
            +
              /** Set the window (and dock, or whatever necessary) title. */
         
     | 
| 
       605 
562 
     | 
    
         
             
              @Override
         
     | 
| 
       606 
563 
     | 
    
         
             
              public void setTitle(String title) {
         
     | 
| 
       607 
564 
     | 
    
         
             
                frame.setTitle(title);
         
     | 
| 
         @@ -616,8 +573,7 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       616 
573 
     | 
    
         
             
              }
         
     | 
| 
       617 
574 
     | 
    
         | 
| 
       618 
575 
     | 
    
         | 
| 
       619 
     | 
    
         
            -
              /** Set true if we want to resize things (default is not resizable)
         
     | 
| 
       620 
     | 
    
         
            -
                 * @param resizable */
         
     | 
| 
      
 576 
     | 
    
         
            +
              /** Set true if we want to resize things (default is not resizable) */
         
     | 
| 
       621 
577 
     | 
    
         
             
              @Override
         
     | 
| 
       622 
578 
     | 
    
         
             
              public void setResizable(boolean resizable) {
         
     | 
| 
       623 
579 
     | 
    
         
             
                //this.resizable = resizable;  // really only used for canvas
         
     | 
| 
         @@ -627,29 +583,26 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       627 
583 
     | 
    
         
             
                }
         
     | 
| 
       628 
584 
     | 
    
         
             
              }
         
     | 
| 
       629 
585 
     | 
    
         | 
| 
       630 
     | 
    
         
            -
             
     | 
| 
       631 
     | 
    
         
            -
             
     | 
| 
       632 
     | 
    
         
            -
                 * @param image
         
     | 
| 
       633 
     | 
    
         
            -
                 */
         
     | 
| 
       634 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 586 
     | 
    
         
            +
             
     | 
| 
      
 587 
     | 
    
         
            +
              @Override
         
     | 
| 
       635 
588 
     | 
    
         
             
              public void setIcon(PImage image) {
         
     | 
| 
       636 
589 
     | 
    
         
             
                Image awtImage = (Image) image.getNative();
         
     | 
| 
       637 
     | 
    
         
            -
             
     | 
| 
       638 
     | 
    
         
            -
                 
     | 
| 
       639 
     | 
    
         
            -
             
     | 
| 
       640 
     | 
    
         
            -
             
     | 
| 
       641 
     | 
    
         
            -
                 
     | 
| 
       642 
     | 
    
         
            -
             
     | 
| 
       643 
     | 
    
         
            -
             
     | 
| 
       644 
     | 
    
         
            -
             
     | 
| 
       645 
     | 
    
         
            -
             
     | 
| 
       646 
     | 
    
         
            -
             
     | 
| 
       647 
     | 
    
         
            -
             
     | 
| 
       648 
     | 
    
         
            -
             
     | 
| 
       649 
     | 
    
         
            -
             
     | 
| 
       650 
     | 
    
         
            -
             
     | 
| 
       651 
     | 
    
         
            -
             
     | 
| 
       652 
     | 
    
         
            -
                 
     | 
| 
      
 590 
     | 
    
         
            +
             
     | 
| 
      
 591 
     | 
    
         
            +
                if (PApplet.platform != PConstants.MACOSX) {
         
     | 
| 
      
 592 
     | 
    
         
            +
                  frame.setIconImage(awtImage);
         
     | 
| 
      
 593 
     | 
    
         
            +
             
     | 
| 
      
 594 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 595 
     | 
    
         
            +
                  try {
         
     | 
| 
      
 596 
     | 
    
         
            +
                    final String td = "processing.core.ThinkDifferent";
         
     | 
| 
      
 597 
     | 
    
         
            +
                    Class<?> thinkDifferent =
         
     | 
| 
      
 598 
     | 
    
         
            +
                      Thread.currentThread().getContextClassLoader().loadClass(td);
         
     | 
| 
      
 599 
     | 
    
         
            +
                    Method method =
         
     | 
| 
      
 600 
     | 
    
         
            +
                      thinkDifferent.getMethod("setIconImage", new Class[] { java.awt.Image.class });
         
     | 
| 
      
 601 
     | 
    
         
            +
                    method.invoke(null, new Object[] { awtImage });
         
     | 
| 
      
 602 
     | 
    
         
            +
                  } catch (Exception e) {
         
     | 
| 
      
 603 
     | 
    
         
            +
                    e.printStackTrace();  // That's unfortunate
         
     | 
| 
      
 604 
     | 
    
         
            +
                  }
         
     | 
| 
      
 605 
     | 
    
         
            +
                }
         
     | 
| 
       653 
606 
     | 
    
         
             
              }
         
     | 
| 
       654 
607 
     | 
    
         | 
| 
       655 
608 
     | 
    
         | 
| 
         @@ -658,12 +611,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       658 
611 
     | 
    
         
             
                frame.setAlwaysOnTop(always);
         
     | 
| 
       659 
612 
     | 
    
         
             
              }
         
     | 
| 
       660 
613 
     | 
    
         | 
| 
       661 
     | 
    
         
            -
             
     | 
| 
       662 
     | 
    
         
            -
             
     | 
| 
       663 
     | 
    
         
            -
                 * @param x
         
     | 
| 
       664 
     | 
    
         
            -
                 * @param y
         
     | 
| 
       665 
     | 
    
         
            -
                 */
         
     | 
| 
       666 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 614 
     | 
    
         
            +
             
     | 
| 
      
 615 
     | 
    
         
            +
              @Override
         
     | 
| 
       667 
616 
     | 
    
         
             
              public void setLocation(int x, int y) {
         
     | 
| 
       668 
617 
     | 
    
         
             
                frame.setLocation(x, y);
         
     | 
| 
       669 
618 
     | 
    
         
             
              }
         
     | 
| 
         @@ -671,14 +620,10 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       671 
620 
     | 
    
         | 
| 
       672 
621 
     | 
    
         
             
              List<Image> iconImages;
         
     | 
| 
       673 
622 
     | 
    
         | 
| 
       674 
     | 
    
         
            -
             
     | 
| 
       675 
     | 
    
         
            -
                 *
         
     | 
| 
       676 
     | 
    
         
            -
                 * @param frame
         
     | 
| 
       677 
     | 
    
         
            -
                 */
         
     | 
| 
       678 
     | 
    
         
            -
                protected void setProcessingIcon(Frame frame) {
         
     | 
| 
      
 623 
     | 
    
         
            +
              protected void setProcessingIcon(Frame frame) {
         
     | 
| 
       679 
624 
     | 
    
         
             
                // On OS X, this only affects what shows up in the dock when minimized.
         
     | 
| 
       680 
625 
     | 
    
         
             
                // So replacing it is actually a step backwards. Brilliant.
         
     | 
| 
       681 
     | 
    
         
            -
                 
     | 
| 
      
 626 
     | 
    
         
            +
                if (PApplet.platform != PConstants.MACOSX) {
         
     | 
| 
       682 
627 
     | 
    
         
             
                  //Image image = Toolkit.getDefaultToolkit().createImage(ICON_IMAGE);
         
     | 
| 
       683 
628 
     | 
    
         
             
                  //frame.setIconImage(image);
         
     | 
| 
       684 
629 
     | 
    
         
             
                  try {
         
     | 
| 
         @@ -698,25 +643,25 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       698 
643 
     | 
    
         | 
| 
       699 
644 
     | 
    
         
             
                  } catch (Exception e) { }  // harmless; keep this to ourselves
         
     | 
| 
       700 
645 
     | 
    
         | 
| 
       701 
     | 
    
         
            -
                 
     | 
| 
       702 
     | 
    
         
            -
             
     | 
| 
       703 
     | 
    
         
            -
             
     | 
| 
       704 
     | 
    
         
            -
             
     | 
| 
       705 
     | 
    
         
            -
             
     | 
| 
       706 
     | 
    
         
            -
             
     | 
| 
       707 
     | 
    
         
            -
             
     | 
| 
       708 
     | 
    
         
            -
             
     | 
| 
       709 
     | 
    
         
            -
             
     | 
| 
       710 
     | 
    
         
            -
             
     | 
| 
       711 
     | 
    
         
            -
             
     | 
| 
       712 
     | 
    
         
            -
             
     | 
| 
       713 
     | 
    
         
            -
             
     | 
| 
       714 
     | 
    
         
            -
             
     | 
| 
       715 
     | 
    
         
            -
             
     | 
| 
       716 
     | 
    
         
            -
             
     | 
| 
       717 
     | 
    
         
            -
             
     | 
| 
       718 
     | 
    
         
            -
             
     | 
| 
       719 
     | 
    
         
            -
                 
     | 
| 
      
 646 
     | 
    
         
            +
                } else {  // handle OS X differently
         
     | 
| 
      
 647 
     | 
    
         
            +
                  if (!dockIconSpecified()) {  // don't override existing -Xdock param
         
     | 
| 
      
 648 
     | 
    
         
            +
                    // On OS X, set this for AWT surfaces, which handles the dock image
         
     | 
| 
      
 649 
     | 
    
         
            +
                    // as well as the cmd-tab image that's shown. Just one size, I guess.
         
     | 
| 
      
 650 
     | 
    
         
            +
                    URL url = PApplet.class.getResource("/icon/icon-512.png");
         
     | 
| 
      
 651 
     | 
    
         
            +
                    // Seems dangerous to have this in code instead of using reflection, no?
         
     | 
| 
      
 652 
     | 
    
         
            +
                    //ThinkDifferent.setIconImage(Toolkit.getDefaultToolkit().getImage(url));
         
     | 
| 
      
 653 
     | 
    
         
            +
                    try {
         
     | 
| 
      
 654 
     | 
    
         
            +
                      final String td = "processing.core.ThinkDifferent";
         
     | 
| 
      
 655 
     | 
    
         
            +
                      Class<?> thinkDifferent =
         
     | 
| 
      
 656 
     | 
    
         
            +
                        Thread.currentThread().getContextClassLoader().loadClass(td);
         
     | 
| 
      
 657 
     | 
    
         
            +
                      Method method =
         
     | 
| 
      
 658 
     | 
    
         
            +
                        thinkDifferent.getMethod("setIconImage", new Class[] { java.awt.Image.class });
         
     | 
| 
      
 659 
     | 
    
         
            +
                      method.invoke(null, new Object[] { Toolkit.getDefaultToolkit().getImage(url) });
         
     | 
| 
      
 660 
     | 
    
         
            +
                    } catch (Exception e) {
         
     | 
| 
      
 661 
     | 
    
         
            +
                      e.printStackTrace();  // That's unfortunate
         
     | 
| 
      
 662 
     | 
    
         
            +
                    }
         
     | 
| 
      
 663 
     | 
    
         
            +
                  }
         
     | 
| 
      
 664 
     | 
    
         
            +
                }
         
     | 
| 
       720 
665 
     | 
    
         
             
              }
         
     | 
| 
       721 
666 
     | 
    
         | 
| 
       722 
667 
     | 
    
         | 
| 
         @@ -767,11 +712,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       767 
712 
     | 
    
         | 
| 
       768 
713 
     | 
    
         | 
| 
       769 
714 
     | 
    
         
             
              //public void placeFullScreen(boolean hideStop) {
         
     | 
| 
       770 
     | 
    
         
            -
             
     | 
| 
       771 
     | 
    
         
            -
                /**
         
     | 
| 
       772 
     | 
    
         
            -
                 *
         
     | 
| 
       773 
     | 
    
         
            -
                 * @param stopColor
         
     | 
| 
       774 
     | 
    
         
            -
                 */
         
     | 
| 
       775 
715 
     | 
    
         
             
              @Override
         
     | 
| 
       776 
716 
     | 
    
         
             
              public void placePresent(int stopColor) {
         
     | 
| 
       777 
717 
     | 
    
         
             
                setFullFrame();
         
     | 
| 
         @@ -919,12 +859,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       919 
859 
     | 
    
         
             
                //frame.setVisible(true);  // re-add native resources
         
     | 
| 
       920 
860 
     | 
    
         
             
              }
         
     | 
| 
       921 
861 
     | 
    
         | 
| 
       922 
     | 
    
         
            -
             
     | 
| 
       923 
     | 
    
         
            -
             
     | 
| 
       924 
     | 
    
         
            -
                 * @param location
         
     | 
| 
       925 
     | 
    
         
            -
                 * @param editorLocation
         
     | 
| 
       926 
     | 
    
         
            -
                 */
         
     | 
| 
       927 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 862 
     | 
    
         
            +
             
     | 
| 
      
 863 
     | 
    
         
            +
              @Override
         
     | 
| 
       928 
864 
     | 
    
         
             
              public void placeWindow(int[] location, int[] editorLocation) {
         
     | 
| 
       929 
865 
     | 
    
         
             
                //Dimension window = setFrameSize(sketchWidth, sketchHeight);
         
     | 
| 
       930 
866 
     | 
    
         
             
                Dimension window = setFrameSize(); //sketchWidth, sketchHeight);
         
     | 
| 
         @@ -1007,12 +943,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1007 
943 
     | 
    
         | 
| 
       1008 
944 
     | 
    
         | 
| 
       1009 
945 
     | 
    
         
             
              // needs to resize the frame, which will resize the canvas, and so on...
         
     | 
| 
       1010 
     | 
    
         
            -
             
     | 
| 
       1011 
     | 
    
         
            -
                /**
         
     | 
| 
       1012 
     | 
    
         
            -
                 *
         
     | 
| 
       1013 
     | 
    
         
            -
                 * @param wide
         
     | 
| 
       1014 
     | 
    
         
            -
                 * @param high
         
     | 
| 
       1015 
     | 
    
         
            -
                 */
         
     | 
| 
       1016 
946 
     | 
    
         
             
              @Override
         
     | 
| 
       1017 
947 
     | 
    
         
             
              public void setSize(int wide, int high) {
         
     | 
| 
       1018 
948 
     | 
    
         
             
                // When the surface is set to resizable via surface.setResizable(true),
         
     | 
| 
         @@ -1305,7 +1235,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1305 
1235 
     | 
    
         
             
               * Figure out how to process a mouse event. When loop() has been
         
     | 
| 
       1306 
1236 
     | 
    
         
             
               * called, the events will be queued up until drawing is complete.
         
     | 
| 
       1307 
1237 
     | 
    
         
             
               * If noLoop() has been called, then events will happen immediately.
         
     | 
| 
       1308 
     | 
    
         
            -
                 * @param nativeEvent
         
     | 
| 
       1309 
1238 
     | 
    
         
             
               */
         
     | 
| 
       1310 
1239 
     | 
    
         
             
              protected void nativeMouseEvent(java.awt.event.MouseEvent nativeEvent) {
         
     | 
| 
       1311 
1240 
     | 
    
         
             
                // the 'amount' is the number of button clicks for a click event,
         
     | 
| 
         @@ -1405,11 +1334,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1405 
1334 
     | 
    
         
             
                                                peCount));
         
     | 
| 
       1406 
1335 
     | 
    
         
             
              }
         
     | 
| 
       1407 
1336 
     | 
    
         | 
| 
       1408 
     | 
    
         
            -
             
     | 
| 
       1409 
     | 
    
         
            -
             
     | 
| 
       1410 
     | 
    
         
            -
                 * @param event
         
     | 
| 
       1411 
     | 
    
         
            -
                 */
         
     | 
| 
       1412 
     | 
    
         
            -
                protected void nativeKeyEvent(java.awt.event.KeyEvent event) {
         
     | 
| 
      
 1337 
     | 
    
         
            +
             
     | 
| 
      
 1338 
     | 
    
         
            +
              protected void nativeKeyEvent(java.awt.event.KeyEvent event) {
         
     | 
| 
       1413 
1339 
     | 
    
         
             
                int peAction = 0;
         
     | 
| 
       1414 
1340 
     | 
    
         
             
                switch (event.getID()) {
         
     | 
| 
       1415 
1341 
     | 
    
         
             
                case java.awt.event.KeyEvent.KEY_PRESSED:
         
     | 
| 
         @@ -1441,10 +1367,6 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1441 
1367 
     | 
    
         | 
| 
       1442 
1368 
     | 
    
         | 
| 
       1443 
1369 
     | 
    
         
             
              // listeners, for all my men!
         
     | 
| 
       1444 
     | 
    
         
            -
             
     | 
| 
       1445 
     | 
    
         
            -
                /**
         
     | 
| 
       1446 
     | 
    
         
            -
                 *
         
     | 
| 
       1447 
     | 
    
         
            -
                 */
         
     | 
| 
       1448 
1370 
     | 
    
         
             
              protected void addListeners() {
         
     | 
| 
       1449 
1371 
     | 
    
         | 
| 
       1450 
1372 
     | 
    
         
             
                canvas.addMouseListener(new MouseListener() {
         
     | 
| 
         @@ -1558,11 +1480,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1558 
1480 
     | 
    
         
             
              boolean cursorVisible = true;
         
     | 
| 
       1559 
1481 
     | 
    
         
             
              Cursor invisibleCursor;
         
     | 
| 
       1560 
1482 
     | 
    
         | 
| 
       1561 
     | 
    
         
            -
             
     | 
| 
       1562 
     | 
    
         
            -
             
     | 
| 
       1563 
     | 
    
         
            -
                 * @param kind
         
     | 
| 
       1564 
     | 
    
         
            -
                 */
         
     | 
| 
       1565 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 1483 
     | 
    
         
            +
             
     | 
| 
      
 1484 
     | 
    
         
            +
              @Override
         
     | 
| 
       1566 
1485 
     | 
    
         
             
              public void setCursor(int kind) {
         
     | 
| 
       1567 
1486 
     | 
    
         
             
                // Swap the HAND cursor because MOVE doesn't seem to be available on OS X
         
     | 
| 
       1568 
1487 
     | 
    
         
             
                // https://github.com/processing/processing/issues/2358
         
     | 
| 
         @@ -1574,13 +1493,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1574 
1493 
     | 
    
         
             
                this.cursorType = kind;
         
     | 
| 
       1575 
1494 
     | 
    
         
             
              }
         
     | 
| 
       1576 
1495 
     | 
    
         | 
| 
       1577 
     | 
    
         
            -
             
     | 
| 
       1578 
     | 
    
         
            -
             
     | 
| 
       1579 
     | 
    
         
            -
                 * @param img
         
     | 
| 
       1580 
     | 
    
         
            -
                 * @param x
         
     | 
| 
       1581 
     | 
    
         
            -
                 * @param y
         
     | 
| 
       1582 
     | 
    
         
            -
                 */
         
     | 
| 
       1583 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 1496 
     | 
    
         
            +
             
     | 
| 
      
 1497 
     | 
    
         
            +
              @Override
         
     | 
| 
       1584 
1498 
     | 
    
         
             
              public void setCursor(PImage img, int x, int y) {
         
     | 
| 
       1585 
1499 
     | 
    
         
             
                // Don't set cursorType, instead use cursorType to save the last
         
     | 
| 
       1586 
1500 
     | 
    
         
             
                // regular cursor type used for when cursor() is called.
         
     | 
| 
         @@ -1600,10 +1514,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1600 
1514 
     | 
    
         
             
                cursorVisible = true;
         
     | 
| 
       1601 
1515 
     | 
    
         
             
              }
         
     | 
| 
       1602 
1516 
     | 
    
         | 
| 
       1603 
     | 
    
         
            -
             
     | 
| 
       1604 
     | 
    
         
            -
             
     | 
| 
       1605 
     | 
    
         
            -
                 */
         
     | 
| 
       1606 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 1517 
     | 
    
         
            +
             
     | 
| 
      
 1518 
     | 
    
         
            +
              @Override
         
     | 
| 
       1607 
1519 
     | 
    
         
             
              public void showCursor() {
         
     | 
| 
       1608 
1520 
     | 
    
         
             
                // Maybe should always set here? Seems dangerous, since it's likely that
         
     | 
| 
       1609 
1521 
     | 
    
         
             
                // Java will set the cursor to something else on its own, and the sketch
         
     | 
| 
         @@ -1614,10 +1526,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1614 
1526 
     | 
    
         
             
                }
         
     | 
| 
       1615 
1527 
     | 
    
         
             
              }
         
     | 
| 
       1616 
1528 
     | 
    
         | 
| 
       1617 
     | 
    
         
            -
             
     | 
| 
       1618 
     | 
    
         
            -
             
     | 
| 
       1619 
     | 
    
         
            -
                 */
         
     | 
| 
       1620 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 1529 
     | 
    
         
            +
             
     | 
| 
      
 1530 
     | 
    
         
            +
              @Override
         
     | 
| 
       1621 
1531 
     | 
    
         
             
              public void hideCursor() {
         
     | 
| 
       1622 
1532 
     | 
    
         
             
                // Because the OS may have shown the cursor on its own,
         
     | 
| 
       1623 
1533 
     | 
    
         
             
                // don't return if 'cursorVisible' is set to true. [rev 0216]
         
     | 
| 
         @@ -1638,11 +1548,8 @@ public class PSurfaceAWT extends PSurfaceNone { 
     | 
|
| 
       1638 
1548 
     | 
    
         
             
                cursorVisible = false;
         
     | 
| 
       1639 
1549 
     | 
    
         
             
              }
         
     | 
| 
       1640 
1550 
     | 
    
         | 
| 
       1641 
     | 
    
         
            -
             
     | 
| 
       1642 
     | 
    
         
            -
             
     | 
| 
       1643 
     | 
    
         
            -
                 * @return
         
     | 
| 
       1644 
     | 
    
         
            -
                 */
         
     | 
| 
       1645 
     | 
    
         
            -
                @Override
         
     | 
| 
      
 1551 
     | 
    
         
            +
             
     | 
| 
      
 1552 
     | 
    
         
            +
              @Override
         
     | 
| 
       1646 
1553 
     | 
    
         
             
              public Thread createThread() {
         
     | 
| 
       1647 
1554 
     | 
    
         
             
                return new AnimationThread() {
         
     | 
| 
       1648 
1555 
     | 
    
         
             
                  @Override
         
     |