Sha256: 23e302e368d16a956f8f66c01adf9b39f806fdd0a21b18fc3e4091f83cb1ca1a

Contents?: true

Size: 946 Bytes

Versions: 2

Compression:

Stored size: 946 Bytes

Contents

# backtick_javascript: true

module Browser; class Event

class Wheel < UI
  handles 'wheel', 'mousewheel'

  def self.supported?
    not $$[:WheelEvent].nil?
  end

  class Definition < Definition
    alias_native :x=, :deltaX=
    alias_native :y=, :deltaY=
    alias_native :z=, :deltaZ=

    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.construct(name, desc)
    `new WheelEvent(#{name}, #{desc})`
  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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
opal-browser-0.3.5 opal/browser/event/wheel.rb
opal-browser-0.3.4 opal/browser/event/wheel.rb