Sha256: f8c70b4c50177fb84dd107c5e04a9a021708c79fbdcb1d67312eeb72d5c40617

Contents?: true

Size: 758 Bytes

Versions: 1

Compression:

Stored size: 758 Bytes

Contents

# frozen_string_literal: true

module RubyJard
  ##
  # A screen is a unit of information drawing on the terminal. Each screen is
  # generated based on input layout specifiation, screen data, and top-left
  # corner cordination.
  class Screen
    attr_accessor :layout, :rows, :window, :cursor, :selected

    def initialize(session: nil, layout:)
      @session = session || RubyJard.current_session
      @layout = layout
      @window = []
      @cursor = nil
      @selected = 0
      @rows = []
    end

    def move_down; end

    def move_up; end

    def page_up; end

    def page_down; end

    def click(relative_x, relative_y); end

    def build
      raise NotImplementedError, "#{self.class} should implement this method."
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby_jard-0.2.3 lib/ruby_jard/screen.rb