Sha256: 822ce837fb8dbf728003a6e2a267241a82882f2de6ebed4266c1ccdb4af1cf51

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

module Gosu
  class Channel
    def initialize(pointer)
      @managed_pointer = FFI::AutoPointer.new(pointer, GosuFFI.method(:Gosu_Channel_destroy))
    end

    def __pointer
      @managed_pointer
    end

    def playing?
      GosuFFI.check_last_error(GosuFFI.Gosu_Channel_playing(__pointer))
    end

    def pause
      GosuFFI.Gosu_Channel_pause(__pointer)
      GosuFFI.check_last_error
    end

    def paused?
      GosuFFI.check_last_error(GosuFFI.Gosu_Channel_paused(__pointer))
    end

    def resume
      GosuFFI.Gosu_Channel_resume(__pointer)
      GosuFFI.check_last_error
    end

    def stop
      GosuFFI.Gosu_Channel_stop(__pointer)
      GosuFFI.check_last_error
    end

    def volume=(double)
      GosuFFI.Gosu_Channel_set_volume(__pointer, double)
      GosuFFI.check_last_error
    end

    def speed=(double)
      GosuFFI.Gosu_Channel_set_speed(__pointer, double)
      GosuFFI.check_last_error
    end

    def pan=(double)
      GosuFFI.Gosu_Channel_set_pan(__pointer, double)
      GosuFFI.check_last_error
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gosu-2.0.0.pre8 lib/gosu/channel.rb
gosu-2.0.0.pre7 lib/gosu/channel.rb
gosu-2.0.0.pre6 lib/gosu/channel.rb