21 lines
548 B
Haskell
21 lines
548 B
Haskell
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
|
|
module Affection.MouseInteractable where
|
|
|
|
import Affection.Types
|
|
|
|
import qualified SDL
|
|
|
|
-- class MouseHoverable a us where
|
|
-- onHover :: a -> Affection us ()
|
|
|
|
-- | Define a mouse clickable object
|
|
class MouseClickable a us where
|
|
onClick
|
|
:: a -- The object
|
|
-> SDL.MouseButton -- The clicked button
|
|
-> (Int, Int) -- The coordinates of the click
|
|
-> SDL.InputMotion -- The 'SDL.InputMotion' of the click
|
|
-> Int -- The number of clicks
|
|
-> Affection us ()
|