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