processing 0.5.30 → 0.5.32
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/.github/workflows/test-draw.yml +0 -1
 - data/.github/workflows/test.yml +0 -1
 - data/ChangeLog.md +26 -0
 - data/Rakefile +14 -6
 - data/VERSION +1 -1
 - data/lib/processing/all.rb +1 -0
 - data/lib/processing/font.rb +30 -3
 - data/lib/processing/graphics.rb +0 -11
 - data/lib/processing/graphics_context.rb +526 -53
 - data/lib/processing/image.rb +38 -10
 - data/lib/processing/shape.rb +294 -0
 - data/lib/processing/vector.rb +3 -3
 - data/processing.gemspec +4 -4
 - data/test/helper.rb +86 -4
 - data/test/{draw/p5.rb → p5.rb} +22 -8
 - data/test/test_font.rb +33 -2
 - data/test/test_graphics.rb +1 -7
 - data/test/test_graphics_context.rb +671 -5
 - data/test/test_image.rb +21 -0
 - data/test/test_shape.rb +512 -0
 - data/test/test_vector.rb +1 -1
 - metadata +15 -16
 - data/test/draw/helper.rb +0 -31
 - data/test/draw/test_draw.rb +0 -22
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f96427cef5e2add31fe4baa3c6055a94bdff9d126d1ae194cd937c24066d4af4
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: a4a797bb6246dbb1de3450d6a802ec273553cdf4d5c4b8b2a87e82160f8a22b4
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8d39fcf7857c9ad1b10597811adcb23b04f96f1f78e128ff089b2cd7cd1fe4b851ba0ff235813f8946853d940383ec82568300d9a9914ce028fc9d3622d58b4a
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 226f9d830533ae9f5836ad447bd84de2bb8939d8a5718d1b43c4f66dc073b776c67c7b5c5ccfa421e9271707a9511568b626a9124b6cfaf65dd61ba95fd88af5
         
     | 
    
        data/.github/workflows/test.yml
    CHANGED
    
    
    
        data/ChangeLog.md
    CHANGED
    
    | 
         @@ -1,6 +1,32 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # processing ChangeLog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         | 
| 
      
 4 
     | 
    
         
            +
            ## [v0.5.32] - 2024-01-08
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            - Add requestImage()
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Add texture(), textureMode(), and textureWrap()
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Add loadPixels(), updatePixels(), and pixels()
         
     | 
| 
      
 9 
     | 
    
         
            +
            - Add curveVertex(), bezierVertex(), and quadraticVertex()
         
     | 
| 
      
 10 
     | 
    
         
            +
            - Add beginContour() and endContour()
         
     | 
| 
      
 11 
     | 
    
         
            +
            - Add createFont(), loadFont(), and Font.list()
         
     | 
| 
      
 12 
     | 
    
         
            +
            - Add Shape#setFill
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            - vertex() can teke UV parameters
         
     | 
| 
      
 15 
     | 
    
         
            +
            - vertex() records the fill color
         
     | 
| 
      
 16 
     | 
    
         
            +
            - Drawing shapes with texture is affected by tin() instead of the fill()
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            ## [v0.5.31] - 2023-12-09
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            - Add Shape class
         
     | 
| 
      
 22 
     | 
    
         
            +
            - Add createShape(), shape(), shapeMode()
         
     | 
| 
      
 23 
     | 
    
         
            +
            - Add beginShape(), endShape(), and vertex(x, y)
         
     | 
| 
      
 24 
     | 
    
         
            +
            - Test with p5.rb
         
     | 
| 
      
 25 
     | 
    
         
            +
            - GraphicsContext#rotate() can take z parameter
         
     | 
| 
      
 26 
     | 
    
         
            +
            - Set default miter_limit to 10
         
     | 
| 
      
 27 
     | 
    
         
            +
            - Trigger github actions on all pull_request
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       4 
30 
     | 
    
         
             
            ## [v0.5.30] - 2023-11-09
         
     | 
| 
       5 
31 
     | 
    
         | 
| 
       6 
32 
     | 
    
         
             
            - Test drawing methods with p5.rb
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -14,12 +14,16 @@ require 'reflex/extension' 
     | 
|
| 
       14 
14 
     | 
    
         
             
            require 'processing/extension'
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
            def test_with_p5()
         
     | 
| 
      
 18 
     | 
    
         
            +
              ENV['TEST_WITH_P5'] = '1'
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            EXTENSIONS = [Xot, Rucy, Rays, Reflex, Processing]
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
            ENV['RDOC'] = 'yardoc --no-private'
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
      
 25 
     | 
    
         
            +
            #test_with_p5 if ci?
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       23 
27 
     | 
    
         
             
            default_tasks
         
     | 
| 
       24 
28 
     | 
    
         
             
            use_bundler
         
     | 
| 
       25 
29 
     | 
    
         
             
            test_ruby_extension
         
     | 
| 
         @@ -30,10 +34,14 @@ task :clean => 'test:clean' 
     | 
|
| 
       30 
34 
     | 
    
         | 
| 
       31 
35 
     | 
    
         
             
            namespace :test do
         
     | 
| 
       32 
36 
     | 
    
         
             
              task :clean do
         
     | 
| 
       33 
     | 
    
         
            -
                sh %( rm -rf test 
     | 
| 
      
 37 
     | 
    
         
            +
                sh %( rm -rf test/.png/*.png )
         
     | 
| 
      
 38 
     | 
    
         
            +
              end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
              task :with_p5 do
         
     | 
| 
      
 41 
     | 
    
         
            +
                test_with_p5
         
     | 
| 
       34 
42 
     | 
    
         
             
              end
         
     | 
| 
       35 
43 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
               
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
      
 44 
     | 
    
         
            +
              ::Rake::TestTask.new :draw do |t|
         
     | 
| 
      
 45 
     | 
    
         
            +
                t.test_files = FileList['test/test_*.rb']
         
     | 
| 
       38 
46 
     | 
    
         
             
              end
         
     | 
| 
       39 
47 
     | 
    
         
             
            end
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.5. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.5.32
         
     | 
    
        data/lib/processing/all.rb
    CHANGED
    
    
    
        data/lib/processing/font.rb
    CHANGED
    
    | 
         @@ -7,7 +7,8 @@ module Processing 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                # @private
         
     | 
| 
       9 
9 
     | 
    
         
             
                def initialize(font)
         
     | 
| 
       10 
     | 
    
         
            -
                  @font 
     | 
| 
      
 10 
     | 
    
         
            +
                  @font        = font or raise ArgumentError
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @cachedSizes = {}
         
     | 
| 
       11 
12 
     | 
    
         
             
                end
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
                # Returns bounding box.
         
     | 
| 
         @@ -24,8 +25,8 @@ module Processing 
     | 
|
| 
       24 
25 
     | 
    
         
             
                # @return [TextBounds] bounding box for text
         
     | 
| 
       25 
26 
     | 
    
         
             
                #
         
     | 
| 
       26 
27 
     | 
    
         
             
                def textBounds(str, x = 0, y = 0, fontSize = nil)
         
     | 
| 
       27 
     | 
    
         
            -
                   
     | 
| 
       28 
     | 
    
         
            -
                  TextBounds.new x, y, x +  
     | 
| 
      
 28 
     | 
    
         
            +
                  font = getInternal__ fontSize
         
     | 
| 
      
 29 
     | 
    
         
            +
                  TextBounds.new x, y, x + font.width(str), y + font.height
         
     | 
| 
       29 
30 
     | 
    
         
             
                end
         
     | 
| 
       30 
31 
     | 
    
         | 
| 
       31 
32 
     | 
    
         
             
                # Returns a string containing a human-readable representation of object.
         
     | 
| 
         @@ -36,6 +37,32 @@ module Processing 
     | 
|
| 
       36 
37 
     | 
    
         
             
                  "#<Processing::Font: name:'#{@font.name}' size:#{@font.size}>"
         
     | 
| 
       37 
38 
     | 
    
         
             
                end
         
     | 
| 
       38 
39 
     | 
    
         | 
| 
      
 40 
     | 
    
         
            +
                # Returns available font names
         
     | 
| 
      
 41 
     | 
    
         
            +
                #
         
     | 
| 
      
 42 
     | 
    
         
            +
                # @return [String] font names
         
     | 
| 
      
 43 
     | 
    
         
            +
                #
         
     | 
| 
      
 44 
     | 
    
         
            +
                # @see https://processing.org/reference/PFont_list_.html
         
     | 
| 
      
 45 
     | 
    
         
            +
                #
         
     | 
| 
      
 46 
     | 
    
         
            +
                def self.list()
         
     | 
| 
      
 47 
     | 
    
         
            +
                  Rays::Font.families.values.flatten
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 51 
     | 
    
         
            +
                def getInternal__(size = nil)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  if size
         
     | 
| 
      
 53 
     | 
    
         
            +
                    @cachedSizes[size.to_f] ||= @font.dup.tap {|font| font.size = size}
         
     | 
| 
      
 54 
     | 
    
         
            +
                  else
         
     | 
| 
      
 55 
     | 
    
         
            +
                    @font
         
     | 
| 
      
 56 
     | 
    
         
            +
                  end
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
                # @private
         
     | 
| 
      
 60 
     | 
    
         
            +
                def setSize__(size)
         
     | 
| 
      
 61 
     | 
    
         
            +
                  return if size == @font.size
         
     | 
| 
      
 62 
     | 
    
         
            +
                  @cachedSizes[@font.size] = @font
         
     | 
| 
      
 63 
     | 
    
         
            +
                  @font = getInternal__ size
         
     | 
| 
      
 64 
     | 
    
         
            +
                end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
       39 
66 
     | 
    
         
             
              end# Font
         
     | 
| 
       40 
67 
     | 
    
         | 
| 
       41 
68 
     | 
    
         | 
    
        data/lib/processing/graphics.rb
    CHANGED
    
    | 
         @@ -38,17 +38,6 @@ module Processing 
     | 
|
| 
       38 
38 
     | 
    
         
             
                  endDraw__
         
     | 
| 
       39 
39 
     | 
    
         
             
                end
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
                # Saves image to file.
         
     | 
| 
       42 
     | 
    
         
            -
                #
         
     | 
| 
       43 
     | 
    
         
            -
                # @param filename [String] file name to save image
         
     | 
| 
       44 
     | 
    
         
            -
                #
         
     | 
| 
       45 
     | 
    
         
            -
                # @return [nil] nil
         
     | 
| 
       46 
     | 
    
         
            -
                #
         
     | 
| 
       47 
     | 
    
         
            -
                def save(filename)
         
     | 
| 
       48 
     | 
    
         
            -
                  @image__.save filename
         
     | 
| 
       49 
     | 
    
         
            -
                  nil
         
     | 
| 
       50 
     | 
    
         
            -
                end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
41 
     | 
    
         
             
              end# Graphics
         
     | 
| 
       53 
42 
     | 
    
         | 
| 
       54 
43 
     | 
    
         |