Sha256: bea091f28004ca8a6a717cc67559377d976810184b41397eb7bf3a8248650177

Contents?: true

Size: 937 Bytes

Versions: 13

Compression:

Stored size: 937 Bytes

Contents

proc_name = "slide-number"

@slide_number_props ||= {
  "size" => @xx_small_font_size,
  "font_family" => @font_family,
}

@slide_number_color || nil
@slide_number_position ||= :bottom

match(Slide) do |slides|
  slides.delete_post_draw_proc_by_name(proc_name)

  break if @slide_number_uninstall

  slides.add_post_draw_proc(proc_name) do |slide, canvas, x, y, w, h, simulation|
    unless simulation
      text = Text.new("#{slide.index}/#{canvas.slide_size - 1}")
      text.font @slide_number_props
      text.align = Pango::Layout::ALIGN_RIGHT
      text.compile(canvas, x, y, w, h)
      layout = text.layout
      layout.set_width(w * Pango::SCALE)
      case @slide_number_position
      when :bottom
        number_y = canvas.height - @margin_bottom - text.height
      when :top
        number_y = @margin_top
      end
      canvas.draw_layout(text.layout, x, number_y, @slide_number_color)
    end
    [x, y, w, h]
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rabbit-2.0.1 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-2.0.0 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.9 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.8 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.7 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.6 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.5 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.4 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.3 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.2 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.1 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-1.0.0 lib/rabbit/theme/slide-number/slide-number.rb
rabbit-0.9.3 lib/rabbit/theme/slide-number/slide-number.rb