class TP::SlideDeck

Attributes

cursor[R]
slides[R]

Public Class Methods

new(slides) click to toggle source
# File lib/tp/slide_deck.rb, line 5
def initialize(slides)
  @cursor = 0
  @slides = slides
end

Public Instance Methods

current() click to toggle source
# File lib/tp/slide_deck.rb, line 10
def current
  frames[cursor]
end
Also aliased as: current_frame
current_frame()
Alias for: current
ended?() click to toggle source
# File lib/tp/slide_deck.rb, line 15
def ended?
  not current
end
frames() click to toggle source
# File lib/tp/slide_deck.rb, line 19
def frames
  return @frames if @frames

  @frames = []

  slides.each do |slide|
    @frames |= slide.frames
  end

  @frames
end
height() click to toggle source
# File lib/tp/slide_deck.rb, line 51
def height
  slides.collect(&:height).max
end
maximum_hard_width() click to toggle source
# File lib/tp/slide_deck.rb, line 63
def maximum_hard_width
  slides.select(&:hard_width?).collect(&:width).max
end
maximum_header_length() click to toggle source
# File lib/tp/slide_deck.rb, line 55
def maximum_header_length
  slides.collect(&:header).map(&:length).max
end
maximum_width() click to toggle source
# File lib/tp/slide_deck.rb, line 59
def maximum_width
  slides.collect(&:width).max
end
next() click to toggle source
# File lib/tp/slide_deck.rb, line 31
def next
  @cursor += 1

  current
end
previous() click to toggle source
# File lib/tp/slide_deck.rb, line 37
def previous
  @cursor -= 1

  current
end
width() click to toggle source
# File lib/tp/slide_deck.rb, line 43
def width
  if maximum_hard_width
    [maximum_header_length, maximum_hard_width].max
  else
    [maximum_width, 80].min
  end
end