module Graphics.X11.XimTypes (
XNInputStyle(..)
, getCXNInputStyle
, XLookupStatus(..)
, fromCXLookupStatus
) where
import Data.Bits ( (.|.) )
import Foreign ( Int32 )
data XNInputStyle =
XIMPreeditArea |
XIMPreeditCallbacks |
XIMPreeditPosition |
XIMPreeditNothing |
XIMPreeditNone |
XIMStatusArea |
XIMStatusCallbacks |
XIMStatusNothing |
XIMStatusNone
getCXNInputStyle1 :: XNInputStyle -> Int32
getCXNInputStyle1 XIMPreeditArea = 1
getCXNInputStyle1 XIMPreeditCallbacks = 2
getCXNInputStyle1 XIMPreeditPosition = 4
getCXNInputStyle1 XIMPreeditNothing = 8
getCXNInputStyle1 XIMPreeditNone = 16
getCXNInputStyle1 XIMStatusArea = 256
getCXNInputStyle1 XIMStatusCallbacks = 512
getCXNInputStyle1 XIMStatusNothing = 1024
getCXNInputStyle1 XIMStatusNone = 2048
getCXNInputStyle :: [ XNInputStyle ] -> Int32
getCXNInputStyle = foldl1 (.|.) . map getCXNInputStyle1
data XLookupStatus =
XBufferOverflow |
XLookupNone |
XLookupChars |
XLookupKeySym |
XLookupBoth
fromCXLookupStatus :: Int32 -> XLookupStatus
fromCXLookupStatus ( 1) = XBufferOverflow
fromCXLookupStatus ( 1) = XLookupNone
fromCXLookupStatus ( 2) = XLookupChars
fromCXLookupStatus ( 3) = XLookupKeySym
fromCXLookupStatus ( 4) = XLookupBoth
fromCXLookupStatus _ = error "bad Status"