Class: SlideField::Viewer
- Inherits:
-
Gosu::Window
- Object
- Gosu::Window
- SlideField::Viewer
- Defined in:
- lib/slidefield/viewer.rb
Instance Method Summary collapse
- #button_down(id) ⇒ Object
- #draw ⇒ Object
-
#initialize(project) ⇒ Viewer
constructor
A new instance of Viewer.
- #needs_redraw? ⇒ Boolean
- #update ⇒ Object
Constructor Details
#initialize(project) ⇒ Viewer
Returns a new instance of Viewer.
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/slidefield/viewer.rb', line 2 def initialize(project) layout = project[:layout].first layout_size = layout.get :size fullscreen = layout.get :fullscreen super *layout_size, fullscreen @animator = SlideField::Animator.new layout_size @slides = [] project[:slide].each {|| manager = SlideField::ObjectManager.new , self manager.load @slides << manager } 0 end |
Instance Method Details
#button_down(id) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/slidefield/viewer.rb', line 42 def (id) case id when Gosu::KbHome 0 when Gosu::KbEnd @slides.length-1 when Gosu::KbReturn, Gosu::KbSpace, Gosu::KbTab, Gosu::KbRight, Gosu::KbDown, Gosu::KbPageDown, Gosu::KbNumpadAdd @current+1 when Gosu::KbBackspace, Gosu::KbLeft, Gosu::KbUp, Gosu::KbPageUp, Gosu::KbNumpadSubtract @current-1 when Gosu::KbEscape, Gosu::KbQ close end end |
#draw ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/slidefield/viewer.rb', line 25 def draw @animator.frame @time, true, @forward do @slides[@current].draw @animator end # animate the previous slide if @previous && @animator.need_redraw? @animator.frame @time, false, @forward do @slides[@previous].draw @animator end end end |
#needs_redraw? ⇒ Boolean
38 39 40 |
# File 'lib/slidefield/viewer.rb', line 38 def needs_redraw? @animator.need_redraw? end |
#update ⇒ Object
21 22 23 |
# File 'lib/slidefield/viewer.rb', line 21 def update @time = Gosu::milliseconds end |