module XDraw(module DrawTypes,module XDraw) where import Command(XCommand(Draw,DrawMany,ClearArea,ClearWindow)) import FRequest import Geometry(Rect(..),Point(..)) import DrawTypes draw :: Drawable -> GCId -> DrawCommand -> FRequest draw Drawable d GCId gc DrawCommand dcmd = XCommand -> FRequest XCmd (Drawable -> GCId -> DrawCommand -> XCommand Draw Drawable d GCId gc DrawCommand dcmd) drawMany :: Drawable -> [(GCId, [DrawCommand])] -> FRequest drawMany Drawable d [(GCId, [DrawCommand])] dcmds = XCommand -> FRequest XCmd (Drawable -> [(GCId, [DrawCommand])] -> XCommand DrawMany Drawable d [(GCId, [DrawCommand])] dcmds) wDraw :: GCId -> DrawCommand -> FRequest wDraw = Drawable -> GCId -> DrawCommand -> FRequest draw Drawable MyWindow wDrawMany :: [(GCId, [DrawCommand])] -> FRequest wDrawMany = Drawable -> [(GCId, [DrawCommand])] -> FRequest drawMany Drawable MyWindow pmDraw :: PixmapId -> GCId -> DrawCommand -> FRequest pmDraw = Drawable -> GCId -> DrawCommand -> FRequest draw (Drawable -> GCId -> DrawCommand -> FRequest) -> (PixmapId -> Drawable) -> PixmapId -> GCId -> DrawCommand -> FRequest forall b c a. (b -> c) -> (a -> b) -> a -> c . PixmapId -> Drawable Pixmap pmDrawMany :: PixmapId -> [(GCId, [DrawCommand])] -> FRequest pmDrawMany = Drawable -> [(GCId, [DrawCommand])] -> FRequest drawMany (Drawable -> [(GCId, [DrawCommand])] -> FRequest) -> (PixmapId -> Drawable) -> PixmapId -> [(GCId, [DrawCommand])] -> FRequest forall b c a. (b -> c) -> (a -> b) -> a -> c . PixmapId -> Drawable Pixmap clearArea :: Rect -> Bool -> FRequest clearArea Rect r Bool b = XCommand -> FRequest XCmd (Rect -> Bool -> XCommand ClearArea Rect r Bool b) clearWindow :: FRequest clearWindow = XCommand -> FRequest XCmd XCommand ClearWindow fillCircle :: Point -> Int -> DrawCommand fillCircle Point p Int r = Rect -> Int -> Int -> DrawCommand FillArc (Point -> Point -> Rect Rect Point p (Int -> Int -> Point Point Int r Int r)) Int 0 (Int 64 Int -> Int -> Int forall a. Num a => a -> a -> a * Int 360) drawCircle :: Point -> Int -> DrawCommand drawCircle Point p Int r = Rect -> Int -> Int -> DrawCommand DrawArc (Point -> Point -> Rect Rect Point p (Int -> Int -> Point Point Int r Int r)) Int 0 (Int 64 Int -> Int -> Int forall a. Num a => a -> a -> a * Int 360)