module CyberarmEngine::DSL

Public Instance Methods

background(color = Gosu::Color::NONE) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 100
def background(color = Gosu::Color::NONE)
  element_parent.style.default[:background] = color
end
button(text, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 37
def button(text, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::Button.new(text, options, block) { block.call if block.is_a?(Proc) })
end
check_box(text, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 72
def check_box(text, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::CheckBox.new(text, options, block))
end
current_theme() click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 108
def current_theme
  element_parent.options[:theme]
end
edit_box(text, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 58
def edit_box(text, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::EditBox.new(text, options, block))
end
edit_line(text, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 51
def edit_line(text, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::EditLine.new(text, options, block))
end
flow(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 3
def flow(options = {}, &block)
  container(CyberarmEngine::Element::Flow, options, &block)
end
image(path, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 79
def image(path, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::Image.new(path, options, block))
end
label(text, options = {}, &block) click to toggle source

TODO: Remove in version 0.16.0+

# File lib/cyberarm_engine/ui/dsl.rb, line 12
def label(text, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::TextBlock.new(text, options, block))
end
list_box(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 44
def list_box(options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::ListBox.new(options, block) { block.call if block.is_a?(Proc) })
end
progress(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 86
def progress(options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::Progress.new(options, block))
end
slider(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 93
def slider(options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::Slider.new(options, block))
end
stack(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 7
def stack(options = {}, &block)
  container(CyberarmEngine::Element::Stack, options, &block)
end
theme(theme) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 104
def theme(theme)
  element_parent.options[:theme] = theme
end
toggle_button(options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 65
def toggle_button(options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  add_element(Element::ToggleButton.new(options, block))
end

Private Instance Methods

add_element(element) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 112
        def add_element(element)
  element_parent.add(element)

  element
end
container(klass, options = {}, &block) click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 122
        def container(klass, options = {}, &block)
  options[:parent] = element_parent
  options[:theme] = current_theme

  _container = klass.new(options, block)

  old_parent = element_parent
  $__current_container__ = _container

  _container.build
  _container.parent.add(_container)

  $__current_container__ = old_parent

  _container
end
element_parent() click to toggle source
# File lib/cyberarm_engine/ui/dsl.rb, line 118
        def element_parent
  $__current_container__
end