Class: CyberarmEngine::Element::Button
- Inherits:
-
Label
show all
- Defined in:
- lib/cyberarm_engine/ui/elements/button.rb
Constant Summary
Constants included
from Theme
Theme::THEME
Instance Attribute Summary
#background_canvas, #border_canvas, #enabled, #event_handler, #options, #parent, #style, #tip, #x, #y, #z
Instance Method Summary
collapse
Methods inherited from Label
#recalculate, #value, #value=
#background=, #button_down, #button_up, #content_height, #content_width, #default_events, #draggable?, #draw, #enabled?, #height, #hide, #hit?, #inner_height, #inner_width, #is_root?, #noncontent_height, #noncontent_width, #outer_height, #outer_width, #recalculate, #reposition, #root, #set_background, #set_border_color, #set_border_thickness, #set_margin, #set_padding, #show, #stylize, #to_s, #toggle, #update, #update_background, #value, #value=, #visible?, #width
Methods included from Common
#current_state, #darken, #draw_rect, #fill, #get_asset, #get_image, #get_sample, #get_song, #lighten, #opacity, #pop_state, #previous_state, #push_state, #show_cursor, #show_cursor=, #window
#event, #publish, #subscribe, #unsubscribe
Methods included from Theme
#deep_merge, #default, #theme_defaults
Constructor Details
#initialize(text, options = {}, block = nil) ⇒ Button
Returns a new instance of Button.
4
5
6
7
8
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 4
def initialize(text, options = {}, block = nil)
super(text, options, block)
@style.background_canvas.background = default(:background)
end
|
Instance Method Details
#blur(sender) ⇒ Object
60
61
62
63
64
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 60
def blur(sender)
@focus = false
return :handled
end
|
47
48
49
50
51
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 47
def clicked_left_mouse_button(sender, x, y)
@block.call(self) if @block
return :handled
end
|
#draw_text ⇒ Object
14
15
16
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 14
def draw_text
@text.draw
end
|
#enter(sender) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 18
def enter(sender)
@focus = false unless window.button_down?(Gosu::MsLeft)
if @focus
@style.background_canvas.background = default(:active, :background)
@text.color = default(:active, :color)
else
@style.background_canvas.background = default(:hover, :background)
@text.color = default(:hover, :color)
end
return :handled
end
|
#leave(sender) ⇒ Object
53
54
55
56
57
58
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 53
def leave(sender)
@style.background_canvas.background = default(:background)
@text.color = default(:color)
return :handled
end
|
32
33
34
35
36
37
38
39
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 32
def left_mouse_button(sender, x, y)
@focus = true
@style.background_canvas.background = default(:active, :background)
window.current_state.focus = self
@text.color = default(:active, :color)
return :handled
end
|
41
42
43
44
45
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 41
def released_left_mouse_button(sender,x, y)
enter(sender)
return :handled
end
|
#render ⇒ Object
10
11
12
|
# File 'lib/cyberarm_engine/ui/elements/button.rb', line 10
def render
draw_text
end
|