packages feed

ghcjs-dom-0.0.6: src/GHCJS/DOM/EventTargetClosures.hs

{-# LANGUAGE CPP #-}
#if (defined(ghcjs_HOST_OS) && defined(USE_JAVASCRIPTFFI)) || !defined(USE_WEBKIT)
{-# LANGUAGE JavaScriptFFI, ForeignFunctionInterface #-}
module GHCJS.DOM.EventTargetClosures
       (eventTargetAddEventListener) where

import GHCJS.Types
import GHCJS.Foreign
import GHCJS.DOM.Types
import Control.Applicative ((<$>))

#ifdef ghcjs_HOST_OS
foreign import javascript unsafe
        "($1[\"addEventListener\"]($2, $3, $4) ? 1 : 0)"
        ghcjs_dom_event_target_add_event_listener ::
        JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
#else
ghcjs_dom_event_target_add_event_listener ::
        JSRef GObject -> JSString -> JSRef a -> Bool -> IO Bool
ghcjs_dom_event_target_add_event_listener = undefined
#endif

eventTargetAddEventListener ::
                         (GObjectClass self, IsEvent event) =>
                           self -> String -> Bool -> (self -> event -> IO ()) -> IO Bool
eventTargetAddEventListener self eventName bubble user = do
    callback <- syncCallback1 NeverRetain True $ \e -> user self (unsafeCastGObject $ GObject e)
    ghcjs_dom_event_target_add_event_listener
        (unGObject (toGObject self))
        (toJSString eventName)
        callback
        bubble
#else
module GHCJS.DOM.EventTargetClosures (
  module Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
  ) where
import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
#endif