Win32-2.3.1.0: A binding to part of the Win32 library

Copyright | (c) Alastair Reid, 1997-2003
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | Esa Ilari Vuokko <ei@vuokko.info>
Stability | provisional
Portability | portable
Safe Haskell | Trustworthy
Language | Haskell98

Graphics.Win32.GDI.Types

Description

A collection of FFI declarations for interfacing with Win32.

# Documentation

type POINT = (LONG, LONG)

sizeofPOINT :: Int

allocaPOINT :: (Ptr POINT -> IO a) -> IO a

peekPOINT :: Ptr POINT -> IO POINT

pokePOINT :: Ptr POINT -> POINT -> IO ()

withPOINT :: POINT -> (Ptr POINT -> IO a) -> IO a

type RECT = (LONG, LONG, LONG, LONG)

allocaRECT :: (Ptr RECT -> IO a) -> IO a

peekRECT :: Ptr RECT -> IO RECT

pokeRECT :: Ptr RECT -> RECT -> IO ()

type SIZE = (LONG, LONG)

allocaSIZE :: (Ptr SIZE -> IO a) -> IO a

peekSIZE :: Ptr SIZE -> IO SIZE

pokeSIZE :: Ptr SIZE -> SIZE -> IO ()

withPOINTArray :: [POINT] -> (Ptr POINT -> Int -> IO a) -> IO a

pokePOINTArray :: Ptr POINT -> [POINT] -> IO ()

setPOINT :: Ptr POINT -> Int -> POINT -> IO ()

type LPRECT = Ptr RECT

type MbLPRECT = Maybe LPRECT

withRECT :: RECT -> (Ptr RECT -> IO a) -> IO a

getRECT :: LPRECT -> IO RECT

type HBITMAP = HANDLE

type MbHBITMAP = Maybe HBITMAP

type HFONT = HANDLE

type MbHFONT = Maybe HFONT

type HCURSOR = HICON

type MbHCURSOR = Maybe HCURSOR

type HICON = HANDLE

type MbHICON = Maybe HICON

type HRGN = ForeignHANDLE

type PRGN = HANDLE

type MbHRGN = Maybe HRGN

type HPALETTE = HANDLE

type MbHPALETTE = Maybe HPALETTE

type HBRUSH = HANDLE

type MbHBRUSH = Maybe HBRUSH

type HPEN = HANDLE

type MbHPEN = Maybe HPEN

type HACCEL = HANDLE

type HDC = HANDLE

type MbHDC = Maybe HDC

type HDWP = HANDLE

type MbHDWP = Maybe HDWP

type HWND = HANDLE

type MbHWND = Maybe HWND

hWND_BOTTOM :: HWND

hWND_NOTOPMOST :: HWND

hWND_TOP :: HWND

hWND_TOPMOST :: HWND

type HMENU = HANDLE

type MbHMENU = Maybe HMENU

type COLORREF = Word32

rgb :: BYTE -> BYTE -> BYTE -> COLORREF

getRValue :: COLORREF -> BYTE

getGValue :: COLORREF -> BYTE

getBValue :: COLORREF -> BYTE

pALETTERGB :: BYTE -> BYTE -> BYTE -> COLORREF

pALETTEINDEX :: WORD -> COLORREF

type RasterOp3 = Word32

type RasterOp4 = Word32

mAKEROP4 :: RasterOp3 -> RasterOp3 -> RasterOp4

type PolyFillMode = INT

aLTERNATE :: PolyFillMode

wINDING :: PolyFillMode

type ArcDirection = INT

type MbArcDirection = Maybe ArcDirection

aD_COUNTERCLOCKWISE :: ArcDirection

aD_CLOCKWISE :: ArcDirection

type GraphicsMode = DWORD

type MbGraphicsMode = Maybe GraphicsMode

gM_COMPATIBLE :: GraphicsMode

gM_ADVANCED :: GraphicsMode

type BackgroundMode = INT

tRANSPARENT :: BackgroundMode

oPAQUE :: BackgroundMode

type HatchStyle = INT

hS_HORIZONTAL :: HatchStyle

hS_VERTICAL :: HatchStyle

hS_FDIAGONAL :: HatchStyle

hS_BDIAGONAL :: HatchStyle

hS_CROSS :: HatchStyle

hS_DIAGCROSS :: HatchStyle

type StretchBltMode = INT

bLACKONWHITE :: StretchBltMode

wHITEONBLACK :: StretchBltMode

cOLORONCOLOR :: StretchBltMode

hALFTONE :: StretchBltMode

sTRETCH_ANDSCANS :: StretchBltMode

sTRETCH_ORSCANS :: StretchBltMode

type TextAlignment = UINT

sTRETCH_DELETESCANS :: StretchBltMode

tA_NOUPDATECP :: TextAlignment

tA_UPDATECP :: TextAlignment

tA_LEFT :: TextAlignment

tA_RIGHT :: TextAlignment

tA_CENTER :: TextAlignment

tA_TOP :: TextAlignment

tA_BOTTOM :: TextAlignment

type ClippingMode = INT

rGN_AND :: ClippingMode

tA_BASELINE :: TextAlignment

rGN_OR :: ClippingMode

rGN_XOR :: ClippingMode

rGN_DIFF :: ClippingMode

rGN_COPY :: ClippingMode

type RegionType = INT

eRROR :: RegionType

nULLREGION :: RegionType

sIMPLEREGION :: RegionType

cOMPLEXREGION :: RegionType

gDI_ERROR :: Num a => a

cLR_INVALID :: COLORREF

oBJ_PEN :: UINT

oBJ_BRUSH :: UINT

oBJ_DC :: UINT

oBJ_METADC :: UINT

oBJ_PAL :: UINT

oBJ_FONT :: UINT

oBJ_BITMAP :: UINT

oBJ_REGION :: UINT

oBJ_METAFILE :: UINT

oBJ_MEMDC :: UINT

oBJ_EXTPEN :: UINT

oBJ_ENHMETADC :: UINT

prim_ChildWindowFromPoint :: HWND -> Ptr POINT -> IO HWND

oBJ_ENHMETAFILE :: UINT

prim_ChildWindowFromPointEx :: HWND -> Ptr POINT -> DWORD -> IO HWND

prim_MenuItemFromPoint :: HWND -> HMENU -> Ptr POINT -> IO UINT