processing 0.5.27 → 0.5.29

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39a9026716f02cf561cb4123126620d2fe3f0b5cc14c8feaecf2817312bfaa7c
4
- data.tar.gz: 5a4eb5ac394c6451f69ca9334273c4bcaf2cdee4a80a481a6e4313139c63241b
3
+ metadata.gz: 43c304fcb0736f53301de6d1dcdea69d62c0f2cce027c6f5557102c8e92372b7
4
+ data.tar.gz: a75abc1fec6ddbb3ee785ae444304dcd0a36ef1f67d5957779eb1926cc096fdd
5
5
  SHA512:
6
- metadata.gz: b93cd12cd8d8fc50f43b7d2f7a18062433916526aa2d9a73563bc1a957663d85f894d7c13307ac8a76a16f858a470d0cf232c7385a2a2f449d77ff7868dea239
7
- data.tar.gz: 638accedff577b47dcb9e1414452cc0f06dd9865fb9e3daa95f2d81887f70c6fa8f45e9263f12c2360feeba2e1c846ce557c951e370e1477e38de199c0e84679
6
+ metadata.gz: 35a3a70db26dd8ff031675de548fb5593af891ca2699c6bf57a9fb2beccddada68e8ff2bd59ec8556edd625654d626fbe1c1aa82177253bcce884c3cec878ca7
7
+ data.tar.gz: 74ee44f9aad045d7c7646afbe51f0952a40929aac202a92080e469f1693d21f56e9381aa5c57a81d5a6ae5aa7607313297ee48ad550695eafd9633275494a4c7
data/ChangeLog.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # processing ChangeLog
2
2
 
3
3
 
4
+ ## [v0.5.29] - 2023-10-29
5
+
6
+ - Update dependencies
7
+
8
+
9
+ ## [v0.5.28] - 2023-10-25
10
+
11
+ - Add GraphicsContext#clear
12
+ - Add Graphics#save
13
+ - save() returns nil
14
+
15
+
4
16
  ## [v0.5.27] - 2023-07-30
5
17
 
6
18
  - Update dependencies
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.27
1
+ 0.5.29
@@ -455,7 +455,7 @@ module Processing
455
455
  #
456
456
  # @return [nil] nil
457
457
  #
458
- def windowOrientation (*orientations)
458
+ def windowOrientation(*orientations)
459
459
  @window__.orientations = orientations.flatten.uniq
460
460
  end
461
461
 
@@ -38,6 +38,17 @@ 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
+
41
52
  end# Graphics
42
53
 
43
54
 
@@ -802,6 +802,12 @@ module Processing
802
802
  nil
803
803
  end
804
804
 
805
+ def clear()
806
+ assertDrawing__
807
+ @painter__.background 0, 0
808
+ nil
809
+ end
810
+
805
811
  # Draws a point.
806
812
  #
807
813
  # @param x [Numeric] horizontal position
@@ -1140,8 +1146,11 @@ module Processing
1140
1146
  #
1141
1147
  # @param filename [String] file name to save image
1142
1148
  #
1149
+ # @return [nil] nil
1150
+ #
1143
1151
  def save(filename)
1144
1152
  @window__.canvas_image.save filename
1153
+ nil
1145
1154
  end
1146
1155
 
1147
1156
  # Applies translation matrix to current transformation matrix.
@@ -142,8 +142,11 @@ module Processing
142
142
  #
143
143
  # @param filename [String] file name to save image
144
144
  #
145
+ # @return [nil] nil
146
+ #
145
147
  def save(filename)
146
148
  @image.save filename
149
+ nil
147
150
  end
148
151
 
149
152
  # @private
data/processing.gemspec CHANGED
@@ -26,9 +26,9 @@ Gem::Specification.new do |s|
26
26
  s.required_ruby_version = '>= 3.0.0'
27
27
 
28
28
  s.add_runtime_dependency 'xot', '~> 0.1.39'
29
- s.add_runtime_dependency 'rucy', '~> 0.1.39'
30
- s.add_runtime_dependency 'rays', '~> 0.1.43'
31
- s.add_runtime_dependency 'reflexion', '~> 0.1.51'
29
+ s.add_runtime_dependency 'rucy', '~> 0.1.40'
30
+ s.add_runtime_dependency 'rays', '~> 0.1.45'
31
+ s.add_runtime_dependency 'reflexion', '~> 0.1.53'
32
32
 
33
33
  s.add_development_dependency 'rake'
34
34
  s.add_development_dependency 'test-unit'
data/test/helper.rb CHANGED
@@ -5,15 +5,28 @@
5
5
  require 'xot/test'
6
6
  require 'processing/all'
7
7
 
8
+ require 'tempfile'
8
9
  require 'test/unit'
9
10
 
10
11
  include Xot::Test
11
12
 
12
13
 
13
- def assert_equal_vector(v1, v2, delta = 0.000001)
14
- assert_in_delta v1.x, v2.x, delta
15
- assert_in_delta v1.y, v2.y, delta
16
- assert_in_delta v1.z, v2.z, delta
14
+ def temppath(ext: nil, &block)
15
+ f = Tempfile.new
16
+ path = f.path
17
+ path += ".#{ext}" if ext
18
+ f.close!
19
+ block.call path
20
+ File.delete path
21
+ end
22
+
23
+ def get_pixels(image)
24
+ %i[@image @image__]
25
+ .map {image.instance_variable_get _1}
26
+ .compact
27
+ .first
28
+ .bitmap
29
+ .to_a
17
30
  end
18
31
 
19
32
  def graphics(width = 10, height = 10, &block)
@@ -21,3 +34,9 @@ def graphics(width = 10, height = 10, &block)
21
34
  g.beginDraw {block.call g, g.getInternal__} if block
22
35
  end
23
36
  end
37
+
38
+ def assert_equal_vector(v1, v2, delta = 0.000001)
39
+ assert_in_delta v1.x, v2.x, delta
40
+ assert_in_delta v1.y, v2.y, delta
41
+ assert_in_delta v1.z, v2.z, delta
42
+ end
@@ -15,6 +15,21 @@ class TestGraphics < Test::Unit::TestCase
15
15
  assert_raise {g.beginDraw}
16
16
  end
17
17
 
18
+ def test_save()
19
+ g = graphics 100, 100
20
+ g.beginDraw do
21
+ g.background 200
22
+ g.fill 255
23
+ g.stroke 0
24
+ g.ellipseMode :corner
25
+ g.ellipse 0, 0, g.width, g.height
26
+ end
27
+ temppath(ext: 'png') do |path|
28
+ assert_nothing_raised {g.save path}
29
+ assert_equal get_pixels(g), get_pixels(g.loadImage path)
30
+ end
31
+ end
32
+
18
33
  def test_inspect()
19
34
  assert_match %r|#<Processing::Graphics:0x\w{16}>|, graphics.inspect
20
35
  end
@@ -10,6 +10,23 @@ class TestGraphicsContext < Test::Unit::TestCase
10
10
  G.new w, h
11
11
  end
12
12
 
13
+ def test_color()
14
+ g = graphics
15
+
16
+ g.colorMode G::RGB, 255
17
+ c = g.color 10, 20, 30, 40
18
+ assert_equal 0x280a141e, c
19
+ assert_equal [10, 20, 30, 40], [g.red(c), g.green(c), g.blue(c), g.alpha(c)]
20
+
21
+ g.colorMode G::RGB, 1.0
22
+ c = g.color 0.1, 0.2, 0.3, 0.4
23
+ assert_equal 0x6619334c, c
24
+ assert_in_delta 0.1, g.red(c), 1 / 256.0
25
+ assert_in_delta 0.2, g.green(c), 1 / 256.0
26
+ assert_in_delta 0.3, g.blue(c), 1 / 256.0
27
+ assert_in_delta 0.4, g.alpha(c), 1 / 256.0
28
+ end
29
+
13
30
  def test_colorMode()
14
31
  g = graphics
15
32
  assert_equal G::RGB, g.colorMode
@@ -40,21 +57,17 @@ class TestGraphicsContext < Test::Unit::TestCase
40
57
  assert_raise {g.blendMode LEFT}
41
58
  end
42
59
 
43
- def test_color()
60
+ def test_clear()
61
+ colors = -> g {get_pixels(g).map(&:to_a).flatten.uniq}
62
+
44
63
  g = graphics
64
+ assert_equal [0], colors[g]
45
65
 
46
- g.colorMode G::RGB, 255
47
- c = g.color 10, 20, 30, 40
48
- assert_equal 0x280a141e, c
49
- assert_equal [10, 20, 30, 40], [g.red(c), g.green(c), g.blue(c), g.alpha(c)]
66
+ g.beginDraw {g.ellipse 0, 0, g.width, g.height}
67
+ assert_not_equal [0], colors[g]
50
68
 
51
- g.colorMode G::RGB, 1.0
52
- c = g.color 0.1, 0.2, 0.3, 0.4
53
- assert_equal 0x6619334c, c
54
- assert_in_delta 0.1, g.red(c), 1 / 256.0
55
- assert_in_delta 0.2, g.green(c), 1 / 256.0
56
- assert_in_delta 0.3, g.blue(c), 1 / 256.0
57
- assert_in_delta 0.4, g.alpha(c), 1 / 256.0
69
+ g.beginDraw {g.clear}
70
+ assert_equal [0], colors[g]
58
71
  end
59
72
 
60
73
  def test_lerp()
data/test/test_image.rb CHANGED
@@ -7,7 +7,7 @@ class TestImage < Test::Unit::TestCase
7
7
 
8
8
  def image(w = 10, h = 10, &block)
9
9
  img = Rays::Image.new w, h
10
- img.paint &block if block
10
+ img.paint(&block) if block
11
11
  P::Image.new img
12
12
  end
13
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: processing
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.27
4
+ version: 0.5.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-30 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.39
33
+ version: 0.1.40
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.39
40
+ version: 0.1.40
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rays
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.43
47
+ version: 0.1.45
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.43
54
+ version: 0.1.45
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: reflexion
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.51
61
+ version: 0.1.53
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.51
68
+ version: 0.1.53
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement