Sha256: 06486eadd84f15e796ae31891b1b43b9a9dbd8547abc864f3659c634399b1b09

Contents?: true

Size: 1.61 KB

Versions: 1

Compression:

Stored size: 1.61 KB

Contents

module Vedeu

  module Bindings

    # System events relating to movement of cursors or interfaces.
    #
    # @api public
    # {include:file:docs/events/movement.md}
    module Movement

      Vedeu.bind(:_cursor_down_) do |name|
        Vedeu::Move.by_name(Vedeu::Cursor, :down, name)
      end

      Vedeu.bind(:_cursor_left_) do |name|
        Vedeu::Move.by_name(Vedeu::Cursor, :left, name)
      end

      Vedeu.bind(:_cursor_origin_) do |name|
        Vedeu::Move.by_name(Vedeu::Cursor, :origin, name)
      end

      # @todo This event queries Vedeu. Events should only be commands.
      Vedeu.bind(:_cursor_position_) do |name|
        Vedeu.cursors.by_name(name).position
      end

      Vedeu.bind(:_cursor_reposition_) do |name, y, x|
        Vedeu::Reposition.to(Vedeu::Cursor, name, y, x)
      end

      Vedeu.bind(:_cursor_reset_) do |name|
        Vedeu.trigger(:_cursor_origin_, name)
      end

      Vedeu.bind(:_cursor_right_) do |name|
        Vedeu::Move.by_name(Vedeu::Cursor, :right, name)
      end

      Vedeu.bind(:_cursor_up_) do |name|
        Vedeu::Move.by_name(Vedeu::Cursor, :up, name)
      end

      Vedeu.bind(:_geometry_down_) do |name|
        Vedeu::Move.by_name(Vedeu::Geometry, :down, name)
      end

      Vedeu.bind(:_geometry_left_) do |name|
        Vedeu::Move.by_name(Vedeu::Geometry, :left, name)
      end

      Vedeu.bind(:_geometry_right_) do |name|
        Vedeu::Move.by_name(Vedeu::Geometry, :right, name)
      end

      Vedeu.bind(:_geometry_up_) do |name|
        Vedeu::Move.by_name(Vedeu::Geometry, :up, name)
      end

    end # Movement

  end # Bindings

end # Vedeu

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.4.46 lib/vedeu/bindings/movement.rb