Skip to content

Commit b1286ae

Browse files
committed
Some refactoring
1 parent 4ea36a4 commit b1286ae

File tree

2 files changed

+23
-47
lines changed

2 files changed

+23
-47
lines changed

external_library/java/controlP5/scrollable_list.rb

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
attr_reader :cp5
2020

2121
def setup
22+
sketch_title 'ScrollableList ControlP5'
2223
@cp5 = ControlP5.new(self)
2324
# add a ScrollableList, by default it behaves like a DropdownList
2425
cp5.addScrollableList("dropdown")
@@ -249,16 +250,14 @@ def draw
249250
# java.lang.Object : boolean equals(Object)
250251
#
251252
# created: 2015/03/24 12:21:22
252-
def listen(e)
253-
puts e
254-
end
253+
# def listen(e)
254+
# puts e
255+
# end
255256

256257
def controlEvent(event)
257-
if event.controller?
258-
if event.getController.getName =~ /dropdown/
259-
puts event.getController.getName
260-
end
261-
end
258+
return unless event.controller?
259+
return unless event.getController.getName =~ /dropdown/
260+
puts "Dropdown value #{event.getController.getValue}"
262261
end
263262

264263
def settings
Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,29 @@
11
# Blending
2-
# by Andres Colubri.
3-
#
2+
# by Andres Colubri. Somewhat refactored for JRubyArt by Martin Prout would be
3+
# better in java if constant were enums (we use a ruby hash here)
44
# Images can be blended using one of the 10 blending modes
55
# (currently available only in P2D and P3).
66
# Click to go to cycle through the modes.
77
#
88

99
# NOTE: THIS EXAMPLE IS IN PROGRESS -- REAS
1010

11-
attr_reader :img1, :img2, :pic_alpha, :name, :sel_mode
11+
attr_reader :img1, :img2, :pic_alpha, :sel_mode, :idx
12+
13+
NAMES = %w[
14+
REPLACE BLEND ADD SUBTRACT LIGHTEST DARKEST DIFFERENCE EXCLUSION MULTIPLY SCREEN
15+
].freeze
16+
VALUES = [
17+
REPLACE, BLEND, ADD, SUBTRACT, LIGHTEST, DARKEST, DIFFERENCE, EXCLUSION, MULTIPLY
18+
]
19+
FILTERS = VALUES.zip(NAMES).to_h # avoids the need for a lengthy if else chain
1220

1321
def setup
1422
sketch_title 'Blending'
1523
@img1 = load_image(data_path('layer1.jpg'))
1624
@img2 = load_image(data_path('layer2.jpg'))
17-
@name = 'REPLACE'
1825
noStroke
26+
@idx = -1
1927
@sel_mode = REPLACE
2028
end
2129

@@ -31,42 +39,12 @@ def draw
3139
fill(255)
3240
rect(0, 0, 94, 22)
3341
fill(0)
34-
text(name, 10, 15)
42+
text(FILTERS.fetch(sel_mode, 'REPLACE'), 10, 15)
3543
end
3644

3745
def mouse_pressed
38-
case @sel_mode
39-
when REPLACE
40-
@sel_mode = BLEND
41-
@name = 'BLEND'
42-
when BLEND
43-
@sel_mode = ADD
44-
@name = 'ADD'
45-
when ADD
46-
@sel_mode = SUBTRACT
47-
@name = 'SUBTRACT'
48-
when SUBTRACT
49-
@sel_mode = LIGHTEST
50-
@name = 'LIGHTEST'
51-
when LIGHTEST
52-
@sel_mode = DARKEST
53-
@name = 'DARKEST'
54-
when DARKEST
55-
@sel_mode = DIFFERENCE
56-
@name = 'DIFFERENCE'
57-
when DIFFERENCE
58-
@sel_mode = EXCLUSION
59-
@name = 'EXCLUSION'
60-
when EXCLUSION
61-
@sel_mode = MULTIPLY
62-
@name = 'MULTIPLY'
63-
when MULTIPLY
64-
@sel_mode = SCREEN
65-
@name = 'SCREEN'
66-
when SCREEN
67-
@sel_mode = REPLACE
68-
@name = 'REPLACE'
69-
end
46+
@idx = (idx == VALUES.length) ? 0 : idx + 1
47+
@sel_mode = VALUES[idx]
7048
end
7149

7250
def mouse_dragged
@@ -75,6 +53,5 @@ def mouse_dragged
7553
end
7654

7755
def settings
78-
size(640, 360)
56+
size(640, 360, P2D)
7957
end
80-

0 commit comments

Comments
 (0)