Sha256: 0dd243dd36eaf1f767569931c48846fec0376caaf710091276b887d924cc0bc6

Contents?: true

Size: 1.95 KB

Versions: 16

Compression:

Stored size: 1.95 KB

Contents

# frozen_string_literal: true

module Vedeu

  # The Geometry group of classes all handle the size of interfaces in
  # relation to the current size of the terminal. This helps Vedeu to
  # draw content in a consistent way.
  #
  # You can define the geometry of your interfaces using the
  # {Vedeu::Geometries::DSL}.
  #
  module Geometries

  end # Geometries

  # :nocov:

  # See {file:docs/events/view.md#\_maximise_}
  Vedeu.bind(:_maximise_) do |name|
    Vedeu.geometries.by_name(name).maximise
  end

  # {include:file:docs/events/by_name/movement_refresh.md}
  Vedeu.bind(:_movement_refresh_) do |name|
    Vedeu.trigger(:_clear_)
    Vedeu.trigger(:_refresh_)
    Vedeu.trigger(:_clear_view_, name)
    Vedeu.trigger(:_refresh_view_, name)
  end

  # See {file:docs/events/view.md#\_unmaximise_}
  Vedeu.bind(:_unmaximise_) do |name|
    Vedeu.geometries.by_name(name).unmaximise
  end

  # {include:file:docs/events/by_name/view_down.md}
  Vedeu.bind(:_view_down_) do |name, offset|
    Vedeu::Geometries::Move.move(name: name, offset: offset, direction: :down)
  end

  # {include:file:docs/events/by_name/view_left.md}
  Vedeu.bind(:_view_left_) do |name, offset|
    Vedeu::Geometries::Move.move(name: name, offset: offset, direction: :left)
  end

  # {include:file:docs/events/by_name/view_right.md}
  Vedeu.bind(:_view_right_) do |name, offset|
    Vedeu::Geometries::Move.move(name: name, offset: offset, direction: :right)
  end

  # {include:file:docs/events/by_name/view_up.md}
  Vedeu.bind(:_view_up_) do |name, offset|
    Vedeu::Geometries::Move.move(name: name, offset: offset, direction: :up)
  end

  [:down, :left, :right, :up].each do |direction|
    Vedeu.bind_alias(:"_geometry_#{direction}_", :"_view_#{direction}_")
  end

  # :nocov:

end # Vedeu

require 'vedeu/geometries/area/all'
require 'vedeu/geometries/dsl/all'
require 'vedeu/geometries/geometry'
require 'vedeu/geometries/move'
require 'vedeu/geometries/position'
require 'vedeu/geometries/repository'

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
vedeu-0.8.32 lib/vedeu/geometries/all.rb
vedeu-0.8.31 lib/vedeu/geometries/all.rb
vedeu-0.8.30 lib/vedeu/geometries/all.rb
vedeu-0.8.29 lib/vedeu/geometries/all.rb
vedeu-0.8.28 lib/vedeu/geometries/all.rb
vedeu-0.8.27 lib/vedeu/geometries/all.rb
vedeu-0.8.26 lib/vedeu/geometries/all.rb
vedeu-0.8.25 lib/vedeu/geometries/all.rb
vedeu-0.8.24 lib/vedeu/geometries/all.rb
vedeu-0.8.23 lib/vedeu/geometries/all.rb
vedeu-0.8.22 lib/vedeu/geometries/all.rb
vedeu-0.8.21 lib/vedeu/geometries/all.rb
vedeu-0.8.20 lib/vedeu/geometries/all.rb
vedeu-0.8.19 lib/vedeu/geometries/all.rb
vedeu-0.8.18 lib/vedeu/geometries/all.rb
vedeu-0.8.17 lib/vedeu/geometries/all.rb