Class: Tuile::EventQueue::TTYSizeEvent

Inherits:
Object
  • Object
show all
Includes:
Tuile::Event
Defined in:
lib/tuile/event_queue.rb,
sig/tuile.rbs

Overview

TTY has been resized. Contains the current width and height of the TTY terminal.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(width:, height:) ⇒ TTYSizeEvent

@param width

@param height

Parameters:

  • width: (Integer)
  • height: (Integer)


217
218
219
220
221
222
# File 'lib/tuile/event_queue.rb', line 217

def initialize(width:, height:)
  super
  return unless !width.is_a?(Integer) || !height.is_a?(Integer) || width.negative? || height.negative?

  raise ArgumentError, "TTY size must be non-negative integers, got #{width.inspect} x #{height.inspect}"
end

Instance Attribute Details

#height ⇒ Integer (readonly)

@return — terminal height in rows.

Returns:

  • (Integer)


212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/tuile/event_queue.rb', line 212

class TTYSizeEvent < Data.define(:width, :height)
  include Tuile::Event

  # @param width [Integer]
  # @param height [Integer]
  def initialize(width:, height:)
    super
    return unless !width.is_a?(Integer) || !height.is_a?(Integer) || width.negative? || height.negative?

    raise ArgumentError, "TTY size must be non-negative integers, got #{width.inspect} x #{height.inspect}"
  end

  # @return [TTYSizeEvent] event with current TTY size.
  def self.create
    height, width = TTY::Screen.size
    TTYSizeEvent.new(width, height)
  end

  # @return [Size]
  def size = Size.new(width, height)
end

#width ⇒ Integer (readonly)

@return — terminal width in columns.

Returns:

  • (Integer)


212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/tuile/event_queue.rb', line 212

class TTYSizeEvent < Data.define(:width, :height)
  include Tuile::Event

  # @param width [Integer]
  # @param height [Integer]
  def initialize(width:, height:)
    super
    return unless !width.is_a?(Integer) || !height.is_a?(Integer) || width.negative? || height.negative?

    raise ArgumentError, "TTY size must be non-negative integers, got #{width.inspect} x #{height.inspect}"
  end

  # @return [TTYSizeEvent] event with current TTY size.
  def self.create
    height, width = TTY::Screen.size
    TTYSizeEvent.new(width, height)
  end

  # @return [Size]
  def size = Size.new(width, height)
end

Class Method Details

.create ⇒ TTYSizeEvent

@return — event with current TTY size.

Returns:



225
226
227
228
# File 'lib/tuile/event_queue.rb', line 225

def self.create
  height, width = TTY::Screen.size
  TTYSizeEvent.new(width, height)
end

Instance Method Details

#size ⇒ Size

Returns:



231
# File 'lib/tuile/event_queue.rb', line 231

def size = Size.new(width, height)