Sha256: 876085877f81a533e4fb1db0aab35d9a40dc7975c39ed27c6fcd0dc19b3d2de5

Contents?: true

Size: 1015 Bytes

Versions: 1

Compression:

Stored size: 1015 Bytes

Contents

module Browser; module DOM; class Event

class Wheel < UI
  def self.supported?
    not $$[:WheelEvent].nil?
  end

  class Definition < Definition
    def x=(value)
      `#@native.deltaX = #{value}`
    end

    def y=(value)
      `#@native.deltaY = #{value}`
    end

    def z=(value)
      `#@native.deltaZ = #{value}`
    end

    def mode=(value)
      value = case value
        when :pixel then `WheelEvent.DOM_DELTA_PIXEL`
        when :line  then `WheelEvent.DOM_DELTA_LINE`
        when :page  then `WheelEvent.DOM_DELTA_PAGE`
      end

      `#@native.deltaMode = #{value}`
    end
  end

  def self.create(name, &block)
    new(`new WheelEvent(#{name}, #{Definition.new(&block)})`)
  end

  alias_native :x, :deltaX
  alias_native :y, :deltaY
  alias_native :z, :deltaZ

  def mode
    case `#@native.deltaMode`
      when `WheelEvent.DOM_DELTA_PIXEL` then :pixel
      when `WheelEvent.DOM_DELTA_LINE`  then :line
      when `WheelEvent.DOM_DELTA_PAGE`  then :page
    end
  end
end

end; end; end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
opal-browser-0.1.0.beta1 opal/browser/dom/event/wheel.rb