19 lines
526 B
Haskell
19 lines
526 B
Haskell
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||
|
|
||
|
module Affection.MouseInteractable where
|
||
|
|
||
|
import Affection.Types
|
||
|
|
||
|
-- 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 ()
|