module Pixmap(bitmapFromData, readBitmapFile, createPixmap) where
import Command
import Event
import Xrequest
createPixmap :: Point -> Int -> (PixmapId -> f b ho) -> f b ho
createPixmap Point
size Int
depth =
let cmd :: XRequest
cmd = Point -> Int -> XRequest
CreatePixmap Point
size Int
depth
expected :: XResponse -> Maybe PixmapId
expected (PixmapCreated PixmapId
pixmap) = PixmapId -> Maybe PixmapId
forall a. a -> Maybe a
Just PixmapId
pixmap
expected XResponse
_ = Maybe PixmapId
forall a. Maybe a
Nothing
in XRequest
-> (XResponse -> Maybe PixmapId) -> (PixmapId -> f b ho) -> f b ho
forall (f :: * -> * -> *) ans b ho.
FudgetIO f =>
XRequest -> (XResponse -> Maybe ans) -> (ans -> f b ho) -> f b ho
xrequest XRequest
cmd XResponse -> Maybe PixmapId
expected
readBitmapFile :: [Char] -> (BitmapReturn -> f b ho) -> f b ho
readBitmapFile [Char]
name =
let cmd :: XRequest
cmd = [Char] -> XRequest
ReadBitmapFile [Char]
name
expected :: XResponse -> Maybe BitmapReturn
expected (BitmapRead BitmapReturn
b) = BitmapReturn -> Maybe BitmapReturn
forall a. a -> Maybe a
Just BitmapReturn
b
expected XResponse
_ = Maybe BitmapReturn
forall a. Maybe a
Nothing
in XRequest
-> (XResponse -> Maybe BitmapReturn)
-> (BitmapReturn -> f b ho)
-> f b ho
forall (f :: * -> * -> *) ans b ho.
FudgetIO f =>
XRequest -> (XResponse -> Maybe ans) -> (ans -> f b ho) -> f b ho
xrequest XRequest
cmd XResponse -> Maybe BitmapReturn
expected
bitmapFromData :: BitmapData -> (BitmapReturn -> f b ho) -> f b ho
bitmapFromData BitmapData
bd =
let cmd :: XRequest
cmd = BitmapData -> XRequest
CreateBitmapFromData BitmapData
bd
expected :: XResponse -> Maybe BitmapReturn
expected (BitmapRead BitmapReturn
b) = BitmapReturn -> Maybe BitmapReturn
forall a. a -> Maybe a
Just BitmapReturn
b
expected XResponse
_ = Maybe BitmapReturn
forall a. Maybe a
Nothing
in XRequest
-> (XResponse -> Maybe BitmapReturn)
-> (BitmapReturn -> f b ho)
-> f b ho
forall (f :: * -> * -> *) ans b ho.
FudgetIO f =>
XRequest -> (XResponse -> Maybe ans) -> (ans -> f b ho) -> f b ho
xrequest XRequest
cmd XResponse -> Maybe BitmapReturn
expected