Sha256: 13187a2c92c0dc0be66cfe939b5614b661e3de6c2381701d8217cf99506aa967

Contents?: true

Size: 769 Bytes

Versions: 6

Compression:

Stored size: 769 Bytes

Contents

class Shoes
  class Anim
    def initialize cs, n=100, repaint=true, &blk
      @cs, @n, @repaint, @i, @blk = cs, n, repaint, 0, blk
    end
    
    def run
      if continue? 
        @blk[@i = pause? ? @i : @i+1]
        if @cs.isDisposed
          stop
          return
        elsif @repaint
          @cs.redraw
        end
        Shoes.display.timerExec @n, self
      end
    end
    
    def stop
      @stop = true
    end

    def continue?
      !@stop
    end

    def pause
      @pause = !@pause
    end

    def pause?
      @pause
    end
  end

  class Timer
    def initialize app, n=1000, &blk
      @app, @n, @blk = app, n, blk
    end

    def run
      @blk.call
      @app.flush
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
purple_shoes-0.7.166 lib/shoes/anim.rb
purple_shoes-0.6.153 lib/shoes/anim.rb
purple_shoes-0.5.149 lib/shoes/anim.rb
purple_shoes-0.0.126 lib/shoes/anim.rb
purple_shoes-0.0.115 lib/shoes/anim.rb
purple_shoes-0.0.101 lib/shoes/anim.rb