Skip to content

Commit 13cf027

Browse files
committed
avoid the set/get syndrome
1 parent 021c7a8 commit 13cf027

File tree

3 files changed

+37
-5
lines changed

3 files changed

+37
-5
lines changed
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Simple demo Rakefile to autorun samples in current directory
2+
# adjust path to jruby executable, and or opts as required
3+
4+
SAMPLES_DIR = './'
5+
6+
desc 'run demo'
7+
task default: [:demo]
8+
9+
desc 'demo'
10+
task :demo do
11+
samples_list.shuffle.each { |sample| run_sample sample }
12+
end
13+
14+
def samples_list
15+
files = []
16+
Dir.chdir(SAMPLES_DIR)
17+
Dir.glob('*.rb').each do |file|
18+
files << File.join(SAMPLES_DIR, file)
19+
end
20+
return files
21+
end
22+
23+
def run_sample(sample_name)
24+
puts "Running #{sample_name}...quit to run next sample"
25+
open("|jruby #{sample_name}", 'r') do |io|
26+
while l = io.gets
27+
puts(l.chop)
28+
end
29+
end
30+
end

processing_app/library/glvideo/library/corners/corners.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ def initialize(width, height, ws, wh)
2020
@idx = -1
2121
end
2222

23-
def set_corner(mx, my)
23+
def change_selected(mx, my)
2424
self[idx] = Vect.new(mx, my)
2525
end
2626

2727
def selected?
2828
idx != -1
2929
end
3030

31-
def set_index(sel)
31+
def select_corner(sel)
3232
@idx = sel
3333
end
3434
end

processing_app/library/glvideo/video_mapping.rb

+5-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class VideoMapping < Propane::App
1010

1111
attr_reader :sources, :sel, :video, :corners, :quads, :last_mouse_move
1212
RES = 5 # number of subdivisions (e.g. 5 x 5)
13+
NONE = -1
1314

1415
def setup
1516
@last_mouse_move = 0
@@ -28,7 +29,7 @@ def draw
2829
video.read if sel.respond_to?(:read) && video.available
2930
# regenerate mesh if we're dragging a corner
3031
if corners.selected? && (pmouse_x != mouse_x || pmouse_y != mouse_y)
31-
corners.set_corner(mouse_x, mouse_y)
32+
corners.change_selected(mouse_x, mouse_y)
3233
# this improves performance, but will be replaced by a
3334
# more elegant way in a future release
3435
@quads = []
@@ -50,15 +51,16 @@ def draw
5051

5152
def mouse_pressed
5253
corners.each_with_index do |corner, i|
53-
return corners.set_index(i) if dist(mouse_x, mouse_y, corner.x, corner.y) < 20
54+
return corners.select_corner(i) if dist(mouse_x, mouse_y, corner.x, corner.y) < 20
5455
end
5556
# no corner? then switch texture
5657
@sel = sel.respond_to?(:loop) ? sources.image : sources.video
5758
@quads = create_mesh(sel, corners, RES)
5859
end
5960

6061
def mouse_released
61-
corners.set_index(-1)
62+
# no corner selected
63+
corners.select_corner(NONE)
6264
end
6365

6466
def create_mesh(tex, corners, res)

0 commit comments

Comments
 (0)