Sha256: 4ff80f2d31dfa86971ab46b7149bf280e2bddecb7cc57515e4f6bbbebbcbbcf9

Contents?: true

Size: 1009 Bytes

Versions: 5

Compression:

Stored size: 1009 Bytes

Contents

module Browser; class Event

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

  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.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

5 entries across 5 versions & 2 rubygems

Version Path
atome-opal-browser-0.3.9.5 opal/browser/event/wheel.rb
opal-browser-0.3.3 opal/browser/event/wheel.rb
opal-browser-0.3.2 opal/browser/event/wheel.rb
opal-browser-0.3.1 opal/browser/event/wheel.rb
opal-browser-0.3.0 opal/browser/event/wheel.rb