packages feed

affection-0.0.0.5: src/Affection/MouseInteractable.hs

{-# 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 ()