rubysketch 0.3.16 → 0.3.17

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: e7c911427a4145fa18e7395c65f49ed58077c6d294f93ee9d24a840f621bcfeb
4
- data.tar.gz: e5ecc52cb87042b8e59fd64f48c358f19638a3a4f35a696072b3f49d95998eba
3
+ metadata.gz: '0394813335c89ce937297ef2c62819dc3c11f70dbbf74efd320eaf0a72f8b386'
4
+ data.tar.gz: 9acea3187bd120239a7c387fa272e252593dc7ce0afa73425f39f65fe0b2d6bb
5
5
  SHA512:
6
- metadata.gz: ce775dec5c87470a3c3aa88e37fae94ecfaab96616c381bf71cbab5c17325ec0b93ab6640be326185de6f4b5e44b6aec9438418f1e57a00a9955ac5e148d20e1
7
- data.tar.gz: 433efaf677bb1538096b1453591e5d28608fc20793bbcdd9e648f54e286eff7d63923496375520e5c560904883eb9385ac2837f67e4aabe7988f7d1d0fa4f23a
6
+ metadata.gz: 7d1824db8f17db944d6b1a2d6069b1acfcc4dafdf3d52facc2e5cdf0281108b825e89150e509c7e58ad8e2c7641d3ee9e6612f8486ebf9190ccd30cc48dbd1ae
7
+ data.tar.gz: bdefffaabba512793dddc3204d749a22968096f464a9107214630012585f40f2aedd294216af321c4ae83f4fd5eb11e24d2eaab4fd1486cb39c3ecb50714c00f
@@ -12,10 +12,10 @@ jobs:
12
12
  - name: checkout
13
13
  uses: actions/checkout@v2
14
14
 
15
- - name: ruby 2.6
15
+ - name: ruby 2.7
16
16
  uses: actions/setup-ruby@v1
17
17
  with:
18
- ruby-version: 2.6.x
18
+ ruby-version: 2.7.x
19
19
 
20
20
  - name: install gems
21
21
  run: |
@@ -13,10 +13,10 @@ jobs:
13
13
  steps:
14
14
  - uses: actions/checkout@v2
15
15
 
16
- - name: ruby 2.6
16
+ - name: ruby 2.7
17
17
  uses: actions/setup-ruby@v1
18
18
  with:
19
- ruby-version: 2.6.x
19
+ ruby-version: 2.7.x
20
20
 
21
21
  - name: install gems
22
22
  run: |
data/ChangeLog.md CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  - add key, keyCode and keyPressed system values
7
7
  - add keyPressed(), keyReleased() and keyTyped() functions
8
+ - add motionGravity value and motion() function
8
9
 
9
10
 
10
11
  ## [0.3.15] - 2020-12-12
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.16
1
+ 0.3.17
@@ -708,6 +708,10 @@ module RubySketch
708
708
  #
709
709
  class Touch
710
710
 
711
+ # Identifier of each touch
712
+ #
713
+ attr_reader :id
714
+
711
715
  # Horizontal position of touch
712
716
  #
713
717
  attr_reader :x
@@ -717,12 +721,8 @@ module RubySketch
717
721
  attr_reader :y
718
722
 
719
723
  # @private
720
- def initialize(x, y)
721
- @x, @y = x, y
722
- end
723
-
724
- def id()
725
- raise NotImplementedError
724
+ def initialize(id, x, y)
725
+ @id, @x, @y = id, x, y
726
726
  end
727
727
 
728
728
  end# Touch
@@ -1591,7 +1591,7 @@ module RubySketch
1591
1591
  #
1592
1592
  def copy(img = nil, sx, sy, sw, sh, dx, dy, dw, dh)
1593
1593
  assertDrawing__
1594
- src = img&.getInternal__ || @window__.canvas
1594
+ src = img&.getInternal__ || @window__.canvas_image
1595
1595
  @painter__.image src, sx, sy, sw, sh, dx, dy, dw, dh
1596
1596
  end
1597
1597
 
@@ -1817,7 +1817,9 @@ module RubySketch
1817
1817
  tmpdir__.tap {|dir| FileUtils.rm_r dir.to_s if dir.directory?}
1818
1818
 
1819
1819
  @window__ = window
1820
- init__ @window__.canvas, @window__.canvas_painter.paint {background 0.8}
1820
+ init__(
1821
+ @window__.canvas_image,
1822
+ @window__.canvas_painter.paint {background 0.8})
1821
1823
 
1822
1824
  @loop__ = true
1823
1825
  @redraw__ = false
@@ -1829,12 +1831,13 @@ module RubySketch
1829
1831
  @pointerPrevPos__ = [0, 0]
1830
1832
  @pointersPressed__ = Set.new
1831
1833
  @touches__ = []
1834
+ @motionGravity__ = createVector 0, 0
1832
1835
 
1833
1836
  @window__.before_draw = proc {beginDraw__}
1834
1837
  @window__.after_draw = proc {endDraw__}
1835
1838
 
1836
1839
  drawFrame = -> {
1837
- updateCanvas__ @window__.canvas, @window__.canvas_painter
1840
+ updateCanvas__ @window__.canvas_image, @window__.canvas_painter
1838
1841
  begin
1839
1842
  push
1840
1843
  @drawBlock__.call if @drawBlock__
@@ -1863,9 +1866,9 @@ module RubySketch
1863
1866
 
1864
1867
  updatePointerStates = -> event, pressed = nil {
1865
1868
  @pointerPos__ = event.pos.to_a
1866
- @touches__ = event.positions.map {|pos| Touch.new(*pos.to_a)}
1869
+ @touches__ = event.pointers.map {|p| Touch.new(p.id, *p.pos.to_a)}
1867
1870
  if pressed != nil
1868
- set, type = @pointersPressed__, event.pointer_type
1871
+ set, type = @pointersPressed__, event.type
1869
1872
  pressed ? set.add(type) : set.delete(type)
1870
1873
  end
1871
1874
  }
@@ -1873,7 +1876,7 @@ module RubySketch
1873
1876
  @window__.key_down = proc do |e|
1874
1877
  updateKeyStates.call e, true
1875
1878
  @keyPressedBlock__&.call
1876
- @keyTypedBlock__&.call unless @key__.empty?
1879
+ @keyTypedBlock__&.call if @key__ && !@key__.empty?
1877
1880
  end
1878
1881
 
1879
1882
  @window__.key_up = proc do |e|
@@ -2045,7 +2048,7 @@ module RubySketch
2045
2048
 
2046
2049
  @painter__.__send__ :end_paint
2047
2050
  @window__.__send__ :resize_canvas, width, height, pixelDensity
2048
- updateCanvas__ @window__.canvas, @window__.canvas_painter
2051
+ updateCanvas__ @window__.canvas_image, @window__.canvas_painter
2049
2052
  @painter__.__send__ :begin_paint
2050
2053
 
2051
2054
  @window__.auto_resize = false
@@ -10,12 +10,12 @@ module RubySketch
10
10
 
11
11
  attr_accessor :auto_resize
12
12
 
13
- attr_reader :canvas, :canvas_painter
13
+ attr_reader :canvas_image, :canvas_painter
14
14
 
15
15
  def initialize(width = 500, height = 500, *args, **kwargs, &block)
16
16
  RubySketch.instance_variable_set :@window, self
17
17
 
18
- @canvas =
18
+ @canvas_image =
19
19
  @canvas_painter = nil
20
20
  @events = []
21
21
  @auto_resize = true
@@ -24,9 +24,12 @@ module RubySketch
24
24
  painter.miter_limit = 10
25
25
  resize_canvas 1, 1
26
26
 
27
- root.on(:update) {|e| on_canvas_update e}
28
- root.on(:draw) {|e| on_canvas_draw e}
29
- root.on(:pointer) {|e| on_canvas_pointer e}
27
+ @canvas_view = add Reflex::View.new {|v|
28
+ v.on(:update) {|e| on_canvas_update e}
29
+ v.on(:draw) {|e| on_canvas_draw e}
30
+ v.on(:pointer) {|e| on_canvas_pointer e}
31
+ v.on(:resize) {|e| on_canvas_resize e}
32
+ }
30
33
 
31
34
  super(*args, size: [width, height], **kwargs, &block)
32
35
  end
@@ -46,13 +49,12 @@ module RubySketch
46
49
  call_block @setup, nil
47
50
  end
48
51
 
49
- def on_draw(e)
50
- update_canvas_view
52
+ def on_resize(e)
53
+ on_canvas_resize e
51
54
  end
52
55
 
53
- def on_resize(e)
54
- resize_canvas e.width, e.height if @auto_resize
55
- draw_canvas {call_block @resize, e} if @resize
56
+ def on_draw(e)
57
+ update_canvas_view
56
58
  end
57
59
 
58
60
  def on_key(e)
@@ -69,16 +71,16 @@ module RubySketch
69
71
 
70
72
  def on_canvas_update(e)
71
73
  call_block @update, e
72
- redraw
74
+ @canvas_view.redraw
73
75
  end
74
76
 
75
77
  def on_canvas_draw(e)
76
78
  draw_canvas {call_block @draw, e} if @draw
77
- e.painter.image @canvas
79
+ e.painter.image @canvas_image
78
80
  end
79
81
 
80
82
  def on_canvas_pointer(e)
81
- block = case e.type
83
+ block = case e.action
82
84
  when :down then @pointer_down
83
85
  when :up then @pointer_up
84
86
  when :move then e.drag? ? @pointer_drag : @pointer_move
@@ -86,27 +88,32 @@ module RubySketch
86
88
  draw_canvas {call_block block, e} if block
87
89
  end
88
90
 
91
+ def on_canvas_resize(e)
92
+ resize_canvas e.width, e.height if @auto_resize
93
+ draw_canvas {call_block @resize, e} if @resize
94
+ end
95
+
89
96
  private
90
97
 
91
98
  def resize_canvas(width, height, pixel_density = nil)
92
99
  return nil if width * height == 0
93
100
 
94
- unless width == @canvas&.width &&
95
- height == @canvas&.height &&
101
+ unless width == @canvas_image&.width &&
102
+ height == @canvas_image&.height &&
96
103
  pixel_density == @canvas_painter&.pixel_density
97
104
 
98
- old_canvas = @canvas
105
+ old_image = @canvas_image
99
106
  old_painter = @canvas_painter
100
- cs = old_canvas&.color_space || Rays::RGBA
107
+ cs = old_image&.color_space || Rays::RGBA
101
108
  pd = pixel_density ||
102
109
  old_painter&.pixel_density ||
103
110
  painter .pixel_density
104
111
 
105
- @canvas = Rays::Image.new width, height, cs, pd
106
- @canvas_painter = @canvas.painter
112
+ @canvas_image = Rays::Image.new width, height, cs, pd
113
+ @canvas_painter = @canvas_image.painter
107
114
 
108
- if old_canvas
109
- @canvas_painter.paint {image old_canvas}
115
+ if old_image
116
+ @canvas_painter.paint {image old_image}
110
117
  copy_painter_attributes old_painter, @canvas_painter
111
118
  end
112
119
 
@@ -132,13 +139,13 @@ module RubySketch
132
139
 
133
140
  def update_canvas_view()
134
141
  scrollx, scrolly, zoom = get_scroll_and_zoom
135
- root.scroll_to scrollx, scrolly
136
- root.zoom zoom
142
+ @canvas_view.scroll_to scrollx, scrolly
143
+ @canvas_view.zoom zoom
137
144
  end
138
145
 
139
146
  def get_scroll_and_zoom()
140
- ww, wh = width.to_f, height.to_f
141
- cw, ch = @canvas.width.to_f, @canvas.height.to_f
147
+ ww, wh = width.to_f, height.to_f
148
+ cw, ch = @canvas_image.width.to_f, @canvas_image.height.to_f
142
149
  return [0, 0, 1] if ww == 0 || wh == 0 || cw == 0 || ch == 0
143
150
 
144
151
  wratio, cratio = ww / wh, cw / ch
data/rubysketch.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
26
26
  s.homepage = "https://github.com/xord/rubysketch"
27
27
 
28
28
  s.platform = Gem::Platform::RUBY
29
- s.required_ruby_version = '~> 2'
29
+ s.required_ruby_version = '>= 2.6.0'
30
30
 
31
31
  s.add_runtime_dependency 'reflexion', '~> 0.1'
32
32
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubysketch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-13 00:00:00.000000000 Z
11
+ date: 2021-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: reflexion
@@ -68,16 +68,16 @@ require_paths:
68
68
  - lib
69
69
  required_ruby_version: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
71
+ - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: '2'
73
+ version: 2.6.0
74
74
  required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  requirements:
76
76
  - - ">="
77
77
  - !ruby/object:Gem::Version
78
78
  version: '0'
79
79
  requirements: []
80
- rubygems_version: 3.0.3
80
+ rubygems_version: 3.1.6
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: Processing like Creative Coding Framework.