{-# LINE 1 "Graphics/X11/XimTypes.hsc" #-}

{-# LINE 2 "Graphics/X11/XimTypes.hsc" #-}



{-# LINE 5 "Graphics/X11/XimTypes.hsc" #-}

{-# LINE 6 "Graphics/X11/XimTypes.hsc" #-}

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
{-# LINE 32 "Graphics/X11/XimTypes.hsc" #-}

getCXNInputStyle1 XIMPreeditArea	= 1
{-# LINE 34 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMPreeditCallbacks	= 2
{-# LINE 35 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMPreeditPosition	= 4
{-# LINE 36 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMPreeditNothing	= 8
{-# LINE 37 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMPreeditNone	= 16
{-# LINE 38 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMStatusArea	= 256
{-# LINE 39 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMStatusCallbacks	= 512
{-# LINE 40 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMStatusNothing	= 1024
{-# LINE 41 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle1 XIMStatusNone	= 2048
{-# LINE 42 "Graphics/X11/XimTypes.hsc" #-}


getCXNInputStyle :: [ XNInputStyle ] -> Int32
{-# LINE 45 "Graphics/X11/XimTypes.hsc" #-}
getCXNInputStyle = foldl1 (.|.) . map getCXNInputStyle1

data XLookupStatus =
	XBufferOverflow	|
	XLookupNone	|
	XLookupChars	|
	XLookupKeySym	|
	XLookupBoth
fromCXLookupStatus :: Int32 -> XLookupStatus
{-# LINE 54 "Graphics/X11/XimTypes.hsc" #-}

fromCXLookupStatus ( -1) = XBufferOverflow
{-# LINE 56 "Graphics/X11/XimTypes.hsc" #-}
fromCXLookupStatus ( 1) = XLookupNone
{-# LINE 57 "Graphics/X11/XimTypes.hsc" #-}
fromCXLookupStatus ( 2) = XLookupChars
{-# LINE 58 "Graphics/X11/XimTypes.hsc" #-}
fromCXLookupStatus ( 3) = XLookupKeySym
{-# LINE 59 "Graphics/X11/XimTypes.hsc" #-}
fromCXLookupStatus ( 4) = XLookupBoth
{-# LINE 60 "Graphics/X11/XimTypes.hsc" #-}

fromCXLookupStatus _  = error "bad Status"