The ComponentHandle represent a realised, active user interface component. The ComponentHandle interface defines a number of operations for communicating via these handles, see Representing interactive components for more inexampleion.
{-
A simple sink for ComponentHandle requests and commands.
-}
nullCH :: IO ComponentHandle
{-
Return the geometric requirements, nat size and current size.
-}
getGeometry :: ComponentHandle -> IO Geometry
getNatSize :: ComponentHandle -> IO Size
getSize :: ComponentHandle -> IO Size
{-
Send system command to every component in the list,
starting at the front
-}
broadcastWComm :: [ComponentHandle] -> WComm -> IO ()
{-
Tell the component to take on new size.
-}
resizeCH :: ComponentHandle -> Unit -> Unit -> IO ()
{-
redraw the contents of the component using a different painter
(used to dump the UI to PostScript)
-}
drawCH :: ComponentHandle -> Painter -> IO ()
{-
ask component to repair a part of its bounding box
-}
repairCH :: ComponentHandle -> Portion Region -> IO ()
{-
Set the current clipping region for a component, i.e.,
the visible region. If the region is empty, then the
component is `unmapped'.
-}
clipCH :: ComponentHandle -> Portion Region -> IO ()
{-
Command to shutdown activity.
-}
closeCH :: ComponentHandle -> IO ()
{-
Tell the lose or take on keyboard input focus.
-}
focusCH :: ComponentHandle -> Bool -> IO ()
{-
Set the UpHandler, see Child requests for more.
-}
setUpHandler :: ComponentHandle -> UpHandler -> IO ()
{-
Send user input events to components, see Section Event type for more.
-}
sendButtonEv :: ComponentHandle -> ButtonEv -> Int -> ModState -> Coord -> IO ()
sendMotionEv :: ComponentHandle -> MotionEv -> ModState -> Coord -> IO ()
sendKeyEv :: ComponentHandle -> KeyEv -> KeyValue -> ModState -> Coord -> IO ()
sendEnterEv :: ComponentHandle -> ModState -> Coord -> IO ()
sendLeaveEv :: ComponentHandle -> ModState -> Coord -> IO ()
sendDevEv :: ComponentHandle -> DeviceEvent -> IO ()