X11 1.3.0 → 1.4.0
raw patch · 15 files changed
+2212/−2186 lines, 15 files
Files
- Graphics/X11/Types.hsc +1676/−1676
- Graphics/X11/Xinerama.hsc +34/−15
- Graphics/X11/Xlib/Atom.hsc +72/−72
- Graphics/X11/Xlib/Color.hs +60/−52
- Graphics/X11/Xlib/Context.hs +46/−46
- Graphics/X11/Xlib/Display.hs +40/−40
- Graphics/X11/Xlib/Extras.hsc +10/−11
- Graphics/X11/Xlib/Region.hs +67/−67
- Graphics/X11/Xlib/Screen.hs +20/−20
- Graphics/X11/Xlib/Types.hsc +126/−126
- Graphics/X11/Xlib/Window.hs +56/−56
- X11.buildinfo.in +2/−2
- X11.cabal +1/−1
- configure +1/−1
- configure.ac +1/−1
Graphics/X11/Types.hsc view
@@ -13,1680 +13,1680 @@ ----------------------------------------------------------------------------- module Graphics.X11.Types- (-- XID,- Mask,- Atom,- VisualID,- Time,- Window,- Drawable,- Font,- Pixmap,- Cursor,- Colormap,- GContext,- KeyCode,-- -- * Enumeration types- -- | These types were introduced to make function types clearer.- -- Note that the types are synonyms for 'Int', so no extra- -- typesafety was obtained.-- -- ** Key symbols- KeySym,-- xK_VoidSymbol,- xK_BackSpace,- xK_Tab,- xK_Linefeed,- xK_Clear,- xK_Return,- xK_Pause,- xK_Scroll_Lock,- xK_Sys_Req,- xK_Escape,- xK_Delete,- xK_Multi_key,- xK_Home,- xK_Left,- xK_Up,- xK_Right,- xK_Down,- xK_Prior,- xK_Page_Up,- xK_Next,- xK_Page_Down,- xK_End,- xK_Begin,- xK_Select,- xK_Print,- xK_Execute,- xK_Insert,- xK_Undo,- xK_Redo,- xK_Menu,- xK_Find,- xK_Cancel,- xK_Help,- xK_Break,- xK_Mode_switch,- xK_script_switch,- xK_Num_Lock,- xK_KP_Space,- xK_KP_Tab,- xK_KP_Enter,- xK_KP_F1,- xK_KP_F2,- xK_KP_F3,- xK_KP_F4,- xK_KP_Home,- xK_KP_Left,- xK_KP_Up,- xK_KP_Right,- xK_KP_Down,- xK_KP_Prior,- xK_KP_Page_Up,- xK_KP_Next,- xK_KP_Page_Down,- xK_KP_End,- xK_KP_Begin,- xK_KP_Insert,- xK_KP_Delete,- xK_KP_Equal,- xK_KP_Multiply,- xK_KP_Add,- xK_KP_Separator,- xK_KP_Subtract,- xK_KP_Decimal,- xK_KP_Divide,- xK_KP_0,- xK_KP_1,- xK_KP_2,- xK_KP_3,- xK_KP_4,- xK_KP_5,- xK_KP_6,- xK_KP_7,- xK_KP_8,- xK_KP_9,- xK_F1,- xK_F2,- xK_F3,- xK_F4,- xK_F5,- xK_F6,- xK_F7,- xK_F8,- xK_F9,- xK_F10,- xK_F11,- xK_L1,- xK_F12,- xK_L2,- xK_F13,- xK_L3,- xK_F14,- xK_L4,- xK_F15,- xK_L5,- xK_F16,- xK_L6,- xK_F17,- xK_L7,- xK_F18,- xK_L8,- xK_F19,- xK_L9,- xK_F20,- xK_L10,- xK_F21,- xK_R1,- xK_F22,- xK_R2,- xK_F23,- xK_R3,- xK_F24,- xK_R4,- xK_F25,- xK_R5,- xK_F26,- xK_R6,- xK_F27,- xK_R7,- xK_F28,- xK_R8,- xK_F29,- xK_R9,- xK_F30,- xK_R10,- xK_F31,- xK_R11,- xK_F32,- xK_R12,- xK_F33,- xK_R13,- xK_F34,- xK_R14,- xK_F35,- xK_R15,- xK_Shift_L,- xK_Shift_R,- xK_Control_L,- xK_Control_R,- xK_Caps_Lock,- xK_Shift_Lock,- xK_Meta_L,- xK_Meta_R,- xK_Alt_L,- xK_Alt_R,- xK_Super_L,- xK_Super_R,- xK_Hyper_L,- xK_Hyper_R,- xK_space,- xK_exclam,- xK_quotedbl,- xK_numbersign,- xK_dollar,- xK_percent,- xK_ampersand,- xK_apostrophe,- xK_quoteright,- xK_parenleft,- xK_parenright,- xK_asterisk,- xK_plus,- xK_comma,- xK_minus,- xK_period,- xK_slash,- xK_0,- xK_1,- xK_2,- xK_3,- xK_4,- xK_5,- xK_6,- xK_7,- xK_8,- xK_9,- xK_colon,- xK_semicolon,- xK_less,- xK_equal,- xK_greater,- xK_question,- xK_at,- xK_A,- xK_B,- xK_C,- xK_D,- xK_E,- xK_F,- xK_G,- xK_H,- xK_I,- xK_J,- xK_K,- xK_L,- xK_M,- xK_N,- xK_O,- xK_P,- xK_Q,- xK_R,- xK_S,- xK_T,- xK_U,- xK_V,- xK_W,- xK_X,- xK_Y,- xK_Z,- xK_bracketleft,- xK_backslash,- xK_bracketright,- xK_asciicircum,- xK_underscore,- xK_grave,- xK_quoteleft,- xK_a,- xK_b,- xK_c,- xK_d,- xK_e,- xK_f,- xK_g,- xK_h,- xK_i,- xK_j,- xK_k,- xK_l,- xK_m,- xK_n,- xK_o,- xK_p,- xK_q,- xK_r,- xK_s,- xK_t,- xK_u,- xK_v,- xK_w,- xK_x,- xK_y,- xK_z,- xK_braceleft,- xK_bar,- xK_braceright,- xK_asciitilde,- xK_nobreakspace,- xK_exclamdown,- xK_cent,- xK_sterling,- xK_currency,- xK_yen,- xK_brokenbar,- xK_section,- xK_diaeresis,- xK_copyright,- xK_ordfeminine,- xK_guillemotleft,- xK_notsign,- xK_hyphen,- xK_registered,- xK_macron,- xK_degree,- xK_plusminus,- xK_twosuperior,- xK_threesuperior,- xK_acute,- xK_mu,- xK_paragraph,- xK_periodcentered,- xK_cedilla,- xK_onesuperior,- xK_masculine,- xK_guillemotright,- xK_onequarter,- xK_onehalf,- xK_threequarters,- xK_questiondown,- xK_Agrave,- xK_Aacute,- xK_Acircumflex,- xK_Atilde,- xK_Adiaeresis,- xK_Aring,- xK_AE,- xK_Ccedilla,- xK_Egrave,- xK_Eacute,- xK_Ecircumflex,- xK_Ediaeresis,- xK_Igrave,- xK_Iacute,- xK_Icircumflex,- xK_Idiaeresis,- xK_ETH,- xK_Eth,- xK_Ntilde,- xK_Ograve,- xK_Oacute,- xK_Ocircumflex,- xK_Otilde,- xK_Odiaeresis,- xK_multiply,- xK_Ooblique,- xK_Ugrave,- xK_Uacute,- xK_Ucircumflex,- xK_Udiaeresis,- xK_Yacute,- xK_THORN,- xK_Thorn,- xK_ssharp,- xK_agrave,- xK_aacute,- xK_acircumflex,- xK_atilde,- xK_adiaeresis,- xK_aring,- xK_ae,- xK_ccedilla,- xK_egrave,- xK_eacute,- xK_ecircumflex,- xK_ediaeresis,- xK_igrave,- xK_iacute,- xK_icircumflex,- xK_idiaeresis,- xK_eth,- xK_ntilde,- xK_ograve,- xK_oacute,- xK_ocircumflex,- xK_otilde,- xK_odiaeresis,- xK_division,- xK_oslash,- xK_ugrave,- xK_uacute,- xK_ucircumflex,- xK_udiaeresis,- xK_yacute,- xK_thorn,- xK_ydiaeresis,-- -- ** Event masks- EventMask,- noEventMask,- keyPressMask,- keyReleaseMask,- buttonPressMask,- buttonReleaseMask,- enterWindowMask,- leaveWindowMask,- pointerMotionMask,- pointerMotionHintMask,- button1MotionMask,- button2MotionMask,- button3MotionMask,- button4MotionMask,- button5MotionMask,- buttonMotionMask,- keymapStateMask,- exposureMask,- visibilityChangeMask,- structureNotifyMask,- resizeRedirectMask,- substructureNotifyMask,- substructureRedirectMask,- focusChangeMask,- propertyChangeMask,- colormapChangeMask,- ownerGrabButtonMask,-- -- ** Event types- EventType,- keyPress,- keyRelease,- buttonPress,- buttonRelease,- motionNotify,- enterNotify,- leaveNotify,- focusIn,- focusOut,- keymapNotify,- expose,- graphicsExpose,- noExpose,- visibilityNotify,- createNotify,- destroyNotify,- unmapNotify,- mapNotify,- mapRequest,- reparentNotify,- configureNotify,- configureRequest,- gravityNotify,- resizeRequest,- circulateNotify,- circulateRequest,- propertyNotify,- selectionClear,- selectionRequest,- selectionNotify,- colormapNotify,- clientMessage,- mappingNotify,- lASTEvent,-- -- ** Modifiers- Modifier,- shiftMapIndex,- lockMapIndex,- controlMapIndex,- mod1MapIndex,- mod2MapIndex,- mod3MapIndex,- mod4MapIndex,- mod5MapIndex,- anyModifier,-- -- ** Key masks- KeyMask,- shiftMask,- lockMask,- controlMask,- mod1Mask,- mod2Mask,- mod3Mask,- mod4Mask,- mod5Mask,-- -- ** Button masks- ButtonMask,- button1Mask,- button2Mask,- button3Mask,- button4Mask,- button5Mask,-- -- ** Buttons- Button,- button1,- button2,- button3,- button4,- button5,-- -- ** Notify modes- NotifyMode,- notifyNormal,- notifyGrab,- notifyUngrab,- notifyWhileGrabbed,- notifyHint,-- -- ** Notify details- NotifyDetail,- notifyAncestor,- notifyVirtual,- notifyInferior,- notifyNonlinear,- notifyNonlinearVirtual,- notifyPointer,- notifyPointerRoot,- notifyDetailNone,-- -- ** Visibility- Visibility,- visibilityUnobscured,- visibilityPartiallyObscured,- visibilityFullyObscured,-- -- ** Place of window- Place,- placeOnTop,- placeOnBottom,-- -- ** Protocols- Protocol,- familyInternet,- familyDECnet,- familyChaos,-- -- ** Property notification- PropertyNotification,- propertyNewValue,- propertyDelete,-- -- ** Colormap notification- ColormapNotification,- colormapUninstalled,- colormapInstalled,-- -- ** Grab modes- GrabMode,- grabModeSync,- grabModeAsync,-- -- ** Grab status- GrabStatus,- grabSuccess,- alreadyGrabbed,- grabInvalidTime,- grabNotViewable,- grabFrozen,-- -- ** Allow events- AllowEvents,- asyncPointer,- syncPointer,- replayPointer,- asyncKeyboard,- syncKeyboard,- replayKeyboard,- asyncBoth,- syncBoth,-- -- ** Focus modes- FocusMode,- revertToNone,- revertToPointerRoot,- revertToParent,-- -- ** Error codes- ErrorCode,- success,- badRequest,- badValue,- badWindow,- badPixmap,- badAtom,- badCursor,- badFont,- badMatch,- badDrawable,- badAccess,- badAlloc,- badColor,- badGC,- badIDChoice,- badName,- badLength,- badImplementation,- firstExtensionError,- lastExtensionError,-- -- ** Return status- Status,- throwIfZero,-- -- ** WindowClass- WindowClass,- copyFromParent,- inputOutput,- inputOnly,-- -- ** Attribute masks- AttributeMask,- cWBackPixmap,- cWBackPixel,- cWBorderPixmap,- cWBorderPixel,- cWBitGravity,- cWWinGravity,- cWBackingStore,- cWBackingPlanes,- cWBackingPixel,- cWOverrideRedirect,- cWSaveUnder,- cWEventMask,- cWDontPropagate,- cWColormap,- cWCursor,-- -- ** Close down modes- CloseDownMode,- destroyAll,- retainPermanent,- retainTemporary,-- -- ** QueryBestSize classes- QueryBestSizeClass,- cursorShape,- tileShape,- stippleShape,-- -- ** Graphics functions- GXFunction,- gXclear,- gXand,- gXandReverse,- gXcopy,- gXandInverted,- gXnoop,- gXxor,- gXor,- gXnor,- gXequiv,- gXinvert,- gXorReverse,- gXcopyInverted,- gXorInverted,- gXnand,- gXset,-- -- ** Line styles- LineStyle,- lineSolid,- lineOnOffDash,- lineDoubleDash,-- -- ** Cap styles- CapStyle,- capNotLast,- capButt,- capRound,- capProjecting,-- -- ** Join styles- JoinStyle,- joinMiter,- joinRound,- joinBevel,-- -- ** Fill styles- FillStyle,- fillSolid,- fillTiled,- fillStippled,- fillOpaqueStippled,-- -- ** Fill rules- FillRule,- evenOddRule,- windingRule,-- -- ** Subwindow modes- SubWindowMode,- clipByChildren,- includeInferiors,-- -- ** Coordinate modes- CoordinateMode,- coordModeOrigin,- coordModePrevious,-- -- ** Polygon shapes- PolygonShape,- complex,- nonconvex,- convex,-- -- ** Arc modes- ArcMode,- arcChord,- arcPieSlice,-- -- ** GC masks- GCMask,- gCFunction,- gCPlaneMask,- gCForeground,- gCBackground,- gCLineWidth,- gCLineStyle,- gCCapStyle,- gCJoinStyle,- gCFillStyle,- gCFillRule,- gCTile,- gCStipple,- gCTileStipXOrigin,- gCTileStipYOrigin,- gCFont,- gCSubwindowMode,- gCGraphicsExposures,- gCClipXOrigin,- gCClipYOrigin,- gCClipMask,- gCDashOffset,- gCDashList,- gCArcMode,- gCLastBit,-- -- ** Circulation direction- CirculationDirection,- raiseLowest,- lowerHighest,-- -- ** Byte order- ByteOrder,- lSBFirst,- mSBFirst,-- -- ** ColormapAlloc- ColormapAlloc,- allocNone,- allocAll,-- -- ** Mapping requests- MappingRequest,- mappingModifier,- mappingKeyboard,- mappingPointer,-- -- ** ChangeSaveSetMode- ChangeSaveSetMode,- setModeInsert,- setModeDelete,-- -- ** Bit gravity- BitGravity,- forgetGravity,- northWestGravity,- northGravity,- northEastGravity,- westGravity,- centerGravity,- eastGravity,- southWestGravity,- southGravity,- southEastGravity,- staticGravity,-- -- ** Window gravity- WindowGravity,- unmapGravity,-- -- ** Backing store- BackingStore,- notUseful,- whenMapped,- always,- doRed,- doGreen,- doBlue,-- -- ** Font direction- FontDirection,- fontLeftToRight,- fontRightToLeft,-- -- ** Image format- ImageFormat,- xyBitmap,- xyPixmap,- zPixmap- ) where---- import Data.Int-import Data.Word-import Foreign.Marshal.Error-import Foreign.C.Types--#include "HsXlib.h"---- ToDo: use newtype-type XID = #{type XID}-type Mask = #{type Mask}-type Atom = #{type Atom}-type VisualID = #{type VisualID}-type Time = #{type Time}---- end platform dependency--type Window = XID-type Drawable = XID-type Font = XID-type Pixmap = XID-type Cursor = XID-type Colormap = XID-type GContext = XID--type KeyCode = Char--type KeySym = XID--#{enum KeySym,- , xK_VoidSymbol = XK_VoidSymbol- }---- TTY Functions, cleverly chosen to map to ascii, for convenience of--- programming, but could have been arbitrary (at the cost of lookup--- tables in client code.--#{enum KeySym,- , xK_BackSpace = XK_BackSpace- , xK_Tab = XK_Tab- , xK_Linefeed = XK_Linefeed- , xK_Clear = XK_Clear- , xK_Return = XK_Return- , xK_Pause = XK_Pause- , xK_Scroll_Lock = XK_Scroll_Lock- , xK_Sys_Req = XK_Sys_Req- , xK_Escape = XK_Escape- , xK_Delete = XK_Delete- }---- International & multi-key character composition-#{enum KeySym,- , xK_Multi_key = XK_Multi_key- }--- xK_Codeinput = XK_Codeinput -- Not defined for SunOS.--- xK_SingleCandidate = XK_SingleCandidate -- Not defined for SunOS.--- xK_MultipleCandidate = XK_MultipleCandidate -- Not defined for SunOS.--- xK_PreviousCandidate = XK_PreviousCandidate -- Not defined for SunOS.---- Cursor control & motion-#{enum KeySym,- , xK_Home = XK_Home- , xK_Left = XK_Left- , xK_Up = XK_Up- , xK_Right = XK_Right- , xK_Down = XK_Down- , xK_Prior = XK_Prior- , xK_Page_Up = XK_Page_Up- , xK_Next = XK_Next- , xK_Page_Down = XK_Page_Down- , xK_End = XK_End- , xK_Begin = XK_Begin-- , xK_Select = XK_Select- , xK_Print = XK_Print- , xK_Execute = XK_Execute- , xK_Insert = XK_Insert- , xK_Undo = XK_Undo- , xK_Redo = XK_Redo- , xK_Menu = XK_Menu- , xK_Find = XK_Find- , xK_Cancel = XK_Cancel- , xK_Help = XK_Help- , xK_Break = XK_Break- , xK_Mode_switch = XK_Mode_switch- , xK_script_switch = XK_script_switch- , xK_Num_Lock = XK_Num_Lock- }---- Keypad Functions, keypad numbers cleverly chosen to map to ascii-#{enum KeySym,- , xK_KP_Space = XK_KP_Space- , xK_KP_Tab = XK_KP_Tab- , xK_KP_Enter = XK_KP_Enter- , xK_KP_F1 = XK_KP_F1- , xK_KP_F2 = XK_KP_F2- , xK_KP_F3 = XK_KP_F3- , xK_KP_F4 = XK_KP_F4- , xK_KP_Home = XK_KP_Home- , xK_KP_Left = XK_KP_Left- , xK_KP_Up = XK_KP_Up- , xK_KP_Right = XK_KP_Right- , xK_KP_Down = XK_KP_Down- , xK_KP_Prior = XK_KP_Prior- , xK_KP_Page_Up = XK_KP_Page_Up- , xK_KP_Next = XK_KP_Next- , xK_KP_Page_Down = XK_KP_Page_Down- , xK_KP_End = XK_KP_End- , xK_KP_Begin = XK_KP_Begin- , xK_KP_Insert = XK_KP_Insert- , xK_KP_Delete = XK_KP_Delete- , xK_KP_Equal = XK_KP_Equal- , xK_KP_Multiply = XK_KP_Multiply- , xK_KP_Add = XK_KP_Add- , xK_KP_Separator = XK_KP_Separator- , xK_KP_Subtract = XK_KP_Subtract- , xK_KP_Decimal = XK_KP_Decimal- , xK_KP_Divide = XK_KP_Divide-- , xK_KP_0 = XK_KP_0- , xK_KP_1 = XK_KP_1- , xK_KP_2 = XK_KP_2- , xK_KP_3 = XK_KP_3- , xK_KP_4 = XK_KP_4- , xK_KP_5 = XK_KP_5- , xK_KP_6 = XK_KP_6- , xK_KP_7 = XK_KP_7- , xK_KP_8 = XK_KP_8- , xK_KP_9 = XK_KP_9-- , xK_F1 = XK_F1- , xK_F2 = XK_F2- , xK_F3 = XK_F3- , xK_F4 = XK_F4- , xK_F5 = XK_F5- , xK_F6 = XK_F6- , xK_F7 = XK_F7- , xK_F8 = XK_F8- , xK_F9 = XK_F9- , xK_F10 = XK_F10- , xK_F11 = XK_F11- , xK_L1 = XK_L1- , xK_F12 = XK_F12- , xK_L2 = XK_L2- , xK_F13 = XK_F13- , xK_L3 = XK_L3- , xK_F14 = XK_F14- , xK_L4 = XK_L4- , xK_F15 = XK_F15- , xK_L5 = XK_L5- , xK_F16 = XK_F16- , xK_L6 = XK_L6- , xK_F17 = XK_F17- , xK_L7 = XK_L7- , xK_F18 = XK_F18- , xK_L8 = XK_L8- , xK_F19 = XK_F19- , xK_L9 = XK_L9- , xK_F20 = XK_F20- , xK_L10 = XK_L10- , xK_F21 = XK_F21- , xK_R1 = XK_R1- , xK_F22 = XK_F22- , xK_R2 = XK_R2- , xK_F23 = XK_F23- , xK_R3 = XK_R3- , xK_F24 = XK_F24- , xK_R4 = XK_R4- , xK_F25 = XK_F25- , xK_R5 = XK_R5- , xK_F26 = XK_F26- , xK_R6 = XK_R6- , xK_F27 = XK_F27- , xK_R7 = XK_R7- , xK_F28 = XK_F28- , xK_R8 = XK_R8- , xK_F29 = XK_F29- , xK_R9 = XK_R9- , xK_F30 = XK_F30- , xK_R10 = XK_R10- , xK_F31 = XK_F31- , xK_R11 = XK_R11- , xK_F32 = XK_F32- , xK_R12 = XK_R12- , xK_F33 = XK_F33- , xK_R13 = XK_R13- , xK_F34 = XK_F34- , xK_R14 = XK_R14- , xK_F35 = XK_F35- , xK_R15 = XK_R15- }--#{enum KeySym,- , xK_Shift_L = XK_Shift_L- , xK_Shift_R = XK_Shift_R- , xK_Control_L = XK_Control_L- , xK_Control_R = XK_Control_R- , xK_Caps_Lock = XK_Caps_Lock- , xK_Shift_Lock = XK_Shift_Lock-- , xK_Meta_L = XK_Meta_L- , xK_Meta_R = XK_Meta_R- , xK_Alt_L = XK_Alt_L- , xK_Alt_R = XK_Alt_R- , xK_Super_L = XK_Super_L- , xK_Super_R = XK_Super_R- , xK_Hyper_L = XK_Hyper_L- , xK_Hyper_R = XK_Hyper_R- }--#{enum KeySym,- , xK_space = XK_space- , xK_exclam = XK_exclam- , xK_quotedbl = XK_quotedbl- , xK_numbersign = XK_numbersign- , xK_dollar = XK_dollar- , xK_percent = XK_percent- , xK_ampersand = XK_ampersand- , xK_apostrophe = XK_apostrophe- , xK_quoteright = XK_quoteright- , xK_parenleft = XK_parenleft- , xK_parenright = XK_parenright- , xK_asterisk = XK_asterisk- , xK_plus = XK_plus- , xK_comma = XK_comma- , xK_minus = XK_minus- , xK_period = XK_period- , xK_slash = XK_slash- , xK_0 = XK_0- , xK_1 = XK_1- , xK_2 = XK_2- , xK_3 = XK_3- , xK_4 = XK_4- , xK_5 = XK_5- , xK_6 = XK_6- , xK_7 = XK_7- , xK_8 = XK_8- , xK_9 = XK_9- , xK_colon = XK_colon- , xK_semicolon = XK_semicolon- , xK_less = XK_less- , xK_equal = XK_equal- , xK_greater = XK_greater- , xK_question = XK_question- , xK_at = XK_at- , xK_A = XK_A- , xK_B = XK_B- , xK_C = XK_C- , xK_D = XK_D- , xK_E = XK_E- , xK_F = XK_F- , xK_G = XK_G- , xK_H = XK_H- , xK_I = XK_I- , xK_J = XK_J- , xK_K = XK_K- , xK_L = XK_L- , xK_M = XK_M- , xK_N = XK_N- , xK_O = XK_O- , xK_P = XK_P- , xK_Q = XK_Q- , xK_R = XK_R- , xK_S = XK_S- , xK_T = XK_T- , xK_U = XK_U- , xK_V = XK_V- , xK_W = XK_W- , xK_X = XK_X- , xK_Y = XK_Y- , xK_Z = XK_Z- , xK_bracketleft = XK_bracketleft- , xK_backslash = XK_backslash- , xK_bracketright = XK_bracketright- , xK_asciicircum = XK_asciicircum- , xK_underscore = XK_underscore- , xK_grave = XK_grave- , xK_quoteleft = XK_quoteleft- , xK_a = XK_a- , xK_b = XK_b- , xK_c = XK_c- , xK_d = XK_d- , xK_e = XK_e- , xK_f = XK_f- , xK_g = XK_g- , xK_h = XK_h- , xK_i = XK_i- , xK_j = XK_j- , xK_k = XK_k- , xK_l = XK_l- , xK_m = XK_m- , xK_n = XK_n- , xK_o = XK_o- , xK_p = XK_p- , xK_q = XK_q- , xK_r = XK_r- , xK_s = XK_s- , xK_t = XK_t- , xK_u = XK_u- , xK_v = XK_v- , xK_w = XK_w- , xK_x = XK_x- , xK_y = XK_y- , xK_z = XK_z- , xK_braceleft = XK_braceleft- , xK_bar = XK_bar- , xK_braceright = XK_braceright- , xK_asciitilde = XK_asciitilde- }--#{enum KeySym,- , xK_nobreakspace = XK_nobreakspace- , xK_exclamdown = XK_exclamdown- , xK_cent = XK_cent- , xK_sterling = XK_sterling- , xK_currency = XK_currency- , xK_yen = XK_yen- , xK_brokenbar = XK_brokenbar- , xK_section = XK_section- , xK_diaeresis = XK_diaeresis- , xK_copyright = XK_copyright- , xK_ordfeminine = XK_ordfeminine- , xK_guillemotleft = XK_guillemotleft- , xK_notsign = XK_notsign- , xK_hyphen = XK_hyphen- , xK_registered = XK_registered- , xK_macron = XK_macron- , xK_degree = XK_degree- , xK_plusminus = XK_plusminus- , xK_twosuperior = XK_twosuperior- , xK_threesuperior = XK_threesuperior- , xK_acute = XK_acute- , xK_mu = XK_mu- , xK_paragraph = XK_paragraph- , xK_periodcentered = XK_periodcentered- , xK_cedilla = XK_cedilla- , xK_onesuperior = XK_onesuperior- , xK_masculine = XK_masculine- , xK_guillemotright = XK_guillemotright- , xK_onequarter = XK_onequarter- , xK_onehalf = XK_onehalf- , xK_threequarters = XK_threequarters- , xK_questiondown = XK_questiondown- , xK_Agrave = XK_Agrave- , xK_Aacute = XK_Aacute- , xK_Acircumflex = XK_Acircumflex- , xK_Atilde = XK_Atilde- , xK_Adiaeresis = XK_Adiaeresis- , xK_Aring = XK_Aring- , xK_AE = XK_AE- , xK_Ccedilla = XK_Ccedilla- , xK_Egrave = XK_Egrave- , xK_Eacute = XK_Eacute- , xK_Ecircumflex = XK_Ecircumflex- , xK_Ediaeresis = XK_Ediaeresis- , xK_Igrave = XK_Igrave- , xK_Iacute = XK_Iacute- , xK_Icircumflex = XK_Icircumflex- , xK_Idiaeresis = XK_Idiaeresis- , xK_ETH = XK_ETH- , xK_Eth = XK_Eth- , xK_Ntilde = XK_Ntilde- , xK_Ograve = XK_Ograve- , xK_Oacute = XK_Oacute- , xK_Ocircumflex = XK_Ocircumflex- , xK_Otilde = XK_Otilde- , xK_Odiaeresis = XK_Odiaeresis- , xK_multiply = XK_multiply- , xK_Ooblique = XK_Ooblique- , xK_Ugrave = XK_Ugrave- , xK_Uacute = XK_Uacute- , xK_Ucircumflex = XK_Ucircumflex- , xK_Udiaeresis = XK_Udiaeresis- , xK_Yacute = XK_Yacute- , xK_THORN = XK_THORN- , xK_Thorn = XK_Thorn- , xK_ssharp = XK_ssharp- , xK_agrave = XK_agrave- , xK_aacute = XK_aacute- , xK_acircumflex = XK_acircumflex- , xK_atilde = XK_atilde- , xK_adiaeresis = XK_adiaeresis- , xK_aring = XK_aring- , xK_ae = XK_ae- , xK_ccedilla = XK_ccedilla- , xK_egrave = XK_egrave- , xK_eacute = XK_eacute- , xK_ecircumflex = XK_ecircumflex- , xK_ediaeresis = XK_ediaeresis- , xK_igrave = XK_igrave- , xK_iacute = XK_iacute- , xK_icircumflex = XK_icircumflex- , xK_idiaeresis = XK_idiaeresis- , xK_eth = XK_eth- , xK_ntilde = XK_ntilde- , xK_ograve = XK_ograve- , xK_oacute = XK_oacute- , xK_ocircumflex = XK_ocircumflex- , xK_otilde = XK_otilde- , xK_odiaeresis = XK_odiaeresis- , xK_division = XK_division- , xK_oslash = XK_oslash- , xK_ugrave = XK_ugrave- , xK_uacute = XK_uacute- , xK_ucircumflex = XK_ucircumflex- , xK_udiaeresis = XK_udiaeresis- , xK_yacute = XK_yacute- , xK_thorn = XK_thorn- , xK_ydiaeresis = XK_ydiaeresis- }--type EventMask = Mask-#{enum EventMask,- , noEventMask = NoEventMask- , keyPressMask = KeyPressMask- , keyReleaseMask = KeyReleaseMask- , buttonPressMask = ButtonPressMask- , buttonReleaseMask = ButtonReleaseMask- , enterWindowMask = EnterWindowMask- , leaveWindowMask = LeaveWindowMask- , pointerMotionMask = PointerMotionMask- , pointerMotionHintMask = PointerMotionHintMask- , button1MotionMask = Button1MotionMask- , button2MotionMask = Button2MotionMask- , button3MotionMask = Button3MotionMask- , button4MotionMask = Button4MotionMask- , button5MotionMask = Button5MotionMask- , buttonMotionMask = ButtonMotionMask- , keymapStateMask = KeymapStateMask- , exposureMask = ExposureMask- , visibilityChangeMask = VisibilityChangeMask- , structureNotifyMask = StructureNotifyMask- , resizeRedirectMask = ResizeRedirectMask- , substructureNotifyMask = SubstructureNotifyMask- , substructureRedirectMask = SubstructureRedirectMask- , focusChangeMask = FocusChangeMask- , propertyChangeMask = PropertyChangeMask- , colormapChangeMask = ColormapChangeMask- , ownerGrabButtonMask = OwnerGrabButtonMask- }--type EventType = Word32-#{enum EventType,- , keyPress = KeyPress- , keyRelease = KeyRelease- , buttonPress = ButtonPress- , buttonRelease = ButtonRelease- , motionNotify = MotionNotify- , enterNotify = EnterNotify- , leaveNotify = LeaveNotify- , focusIn = FocusIn- , focusOut = FocusOut- , keymapNotify = KeymapNotify- , expose = Expose- , graphicsExpose = GraphicsExpose- , noExpose = NoExpose- , visibilityNotify = VisibilityNotify- , createNotify = CreateNotify- , destroyNotify = DestroyNotify- , unmapNotify = UnmapNotify- , mapNotify = MapNotify- , mapRequest = MapRequest- , reparentNotify = ReparentNotify- , configureNotify = ConfigureNotify- , configureRequest = ConfigureRequest- , gravityNotify = GravityNotify- , resizeRequest = ResizeRequest- , circulateNotify = CirculateNotify- , circulateRequest = CirculateRequest- , propertyNotify = PropertyNotify- , selectionClear = SelectionClear- , selectionRequest = SelectionRequest- , selectionNotify = SelectionNotify- , colormapNotify = ColormapNotify- , clientMessage = ClientMessage- , mappingNotify = MappingNotify- , lASTEvent = LASTEvent- }--type Modifier = CUInt-#{enum Modifier,- , shiftMapIndex = ShiftMapIndex- , lockMapIndex = LockMapIndex- , controlMapIndex = ControlMapIndex- , mod1MapIndex = Mod1MapIndex- , mod2MapIndex = Mod2MapIndex- , mod3MapIndex = Mod3MapIndex- , mod4MapIndex = Mod4MapIndex- , mod5MapIndex = Mod5MapIndex- , anyModifier = AnyModifier- }--type KeyMask = Modifier-#{enum KeyMask,- , shiftMask = ShiftMask- , lockMask = LockMask- , controlMask = ControlMask- , mod1Mask = Mod1Mask- , mod2Mask = Mod2Mask- , mod3Mask = Mod3Mask- , mod4Mask = Mod4Mask- , mod5Mask = Mod5Mask- }--type ButtonMask = Modifier-#{enum ButtonMask,- , button1Mask = Button1Mask- , button2Mask = Button2Mask- , button3Mask = Button3Mask- , button4Mask = Button4Mask- , button5Mask = Button5Mask- }--type Button = Word32-#{enum Button,- , button1 = Button1- , button2 = Button2- , button3 = Button3- , button4 = Button4- , button5 = Button5- }--type NotifyMode = CInt--- NotifyNormal and NotifyHint are used as detail in XMotionEvents-#{enum NotifyMode,- , notifyNormal = NotifyNormal- , notifyGrab = NotifyGrab- , notifyUngrab = NotifyUngrab- , notifyWhileGrabbed = NotifyWhileGrabbed- , notifyHint = NotifyHint- }--type NotifyDetail = CInt-#{enum NotifyDetail,- , notifyAncestor = NotifyAncestor- , notifyVirtual = NotifyVirtual- , notifyInferior = NotifyInferior- , notifyNonlinear = NotifyNonlinear- , notifyNonlinearVirtual = NotifyNonlinearVirtual- , notifyPointer = NotifyPointer- , notifyPointerRoot = NotifyPointerRoot- , notifyDetailNone = NotifyDetailNone- }--type Visibility = CInt-#{enum Visibility,- , visibilityUnobscured = VisibilityUnobscured- , visibilityPartiallyObscured = VisibilityPartiallyObscured- , visibilityFullyObscured = VisibilityFullyObscured- }---- | Place of window relative to siblings--- (used in Circulation requests or events)-type Place = CInt-#{enum Place,- , placeOnTop = PlaceOnTop- , placeOnBottom = PlaceOnBottom- }--type Protocol = CInt-#{enum Protocol,- , familyInternet = FamilyInternet- , familyDECnet = FamilyDECnet- , familyChaos = FamilyChaos- }--type PropertyNotification = CInt-#{enum PropertyNotification,- , propertyNewValue = PropertyNewValue- , propertyDelete = PropertyDelete- }--type ColormapNotification = CInt-#{enum ColormapNotification,- , colormapUninstalled = ColormapUninstalled- , colormapInstalled = ColormapInstalled- }---- Grab{Pointer,Button,Keyboard,Key} Modes-type GrabMode = CInt-#{enum GrabMode,- , grabModeSync = GrabModeSync- , grabModeAsync = GrabModeAsync- }---- Grab{Pointer,Keyboard} reply status--type GrabStatus = CInt-#{enum GrabStatus,- , grabSuccess = GrabSuccess- , alreadyGrabbed = AlreadyGrabbed- , grabInvalidTime = GrabInvalidTime- , grabNotViewable = GrabNotViewable- , grabFrozen = GrabFrozen- }---- AllowEvents modes-type AllowEvents = CInt-#{enum AllowEvents,- , asyncPointer = AsyncPointer- , syncPointer = SyncPointer- , replayPointer = ReplayPointer- , asyncKeyboard = AsyncKeyboard- , syncKeyboard = SyncKeyboard- , replayKeyboard = ReplayKeyboard- , asyncBoth = AsyncBoth- , syncBoth = SyncBoth- }---- {Set,Get}InputFocus Modes-type FocusMode = CInt-#{enum FocusMode,- , revertToNone = RevertToNone- , revertToPointerRoot = RevertToPointerRoot- , revertToParent = RevertToParent- }---- Error codes-type ErrorCode = CInt-#{enum ErrorCode,- , success = Success- , badRequest = BadRequest- , badValue = BadValue- , badWindow = BadWindow- , badPixmap = BadPixmap- , badAtom = BadAtom- , badCursor = BadCursor- , badFont = BadFont- , badMatch = BadMatch- , badDrawable = BadDrawable- , badAccess = BadAccess- , badAlloc = BadAlloc- , badColor = BadColor- , badGC = BadGC- , badIDChoice = BadIDChoice- , badName = BadName- , badLength = BadLength- , badImplementation = BadImplementation- , firstExtensionError = FirstExtensionError- , lastExtensionError = LastExtensionError- }--type Status = CInt---- |Xlib functions with return values of type @Status@ return zero on--- failure and nonzero on success.-throwIfZero :: String -> IO Status -> IO ()-throwIfZero fn_name = throwIf_ (== 0) (const ("Error in function " ++ fn_name))--type WindowClass = CInt-#{enum WindowClass,- , copyFromParent = CopyFromParent- , inputOutput = InputOutput- , inputOnly = InputOnly- }---- Window attributes mask-type AttributeMask = Mask-#{enum AttributeMask,- , cWBackPixmap = CWBackPixmap- , cWBackPixel = CWBackPixel- , cWBorderPixmap = CWBorderPixmap- , cWBorderPixel = CWBorderPixel- , cWBitGravity = CWBitGravity- , cWWinGravity = CWWinGravity- , cWBackingStore = CWBackingStore- , cWBackingPlanes = CWBackingPlanes- , cWBackingPixel = CWBackingPixel- , cWOverrideRedirect = CWOverrideRedirect- , cWSaveUnder = CWSaveUnder- , cWEventMask = CWEventMask- , cWDontPropagate = CWDontPropagate- , cWColormap = CWColormap- , cWCursor = CWCursor- }---- Used in ChangeCloseDownMode-type CloseDownMode = CInt-#{enum CloseDownMode,- , destroyAll = DestroyAll- , retainPermanent = RetainPermanent- , retainTemporary = RetainTemporary- }--------------------------------------------------------------------- CURSOR STUFF-------------------------------------------------------------------type QueryBestSizeClass = CInt-#{enum QueryBestSizeClass,- , cursorShape = CursorShape- , tileShape = TileShape- , stippleShape = StippleShape- }--------------------------------------------------------------------- GRAPHICS DEFINITIONS--------------------------------------------------------------------- graphics functions, as in GC.alu--type GXFunction = CInt-#{enum GXFunction,- , gXclear = GXclear- , gXand = GXand- , gXandReverse = GXandReverse- , gXcopy = GXcopy- , gXandInverted = GXandInverted- , gXnoop = GXnoop- , gXxor = GXxor- , gXor = GXor- , gXnor = GXnor- , gXequiv = GXequiv- , gXinvert = GXinvert- , gXorReverse = GXorReverse- , gXcopyInverted = GXcopyInverted- , gXorInverted = GXorInverted- , gXnand = GXnand- , gXset = GXset- }--type LineStyle = CInt-#{enum LineStyle,- , lineSolid = LineSolid- , lineOnOffDash = LineOnOffDash- , lineDoubleDash = LineDoubleDash- }--type CapStyle = CInt-#{enum CapStyle,- , capNotLast = CapNotLast- , capButt = CapButt- , capRound = CapRound- , capProjecting = CapProjecting- }--type JoinStyle = CInt-#{enum JoinStyle,- , joinMiter = JoinMiter- , joinRound = JoinRound- , joinBevel = JoinBevel- }--type FillStyle = CInt-#{enum FillStyle,- , fillSolid = FillSolid- , fillTiled = FillTiled- , fillStippled = FillStippled- , fillOpaqueStippled = FillOpaqueStippled- }--type FillRule = CInt-#{enum FillRule,- , evenOddRule = EvenOddRule- , windingRule = WindingRule- }--type SubWindowMode = CInt-#{enum SubWindowMode,- , clipByChildren = ClipByChildren- , includeInferiors = IncludeInferiors- }---- -- SetClipRectangles ordering--- type Ordering = CInt--- {enum Ordering,--- , unsorted = Unsorted--- , ySorted = YSorted--- , yXSorted = YXSorted--- , yXBanded = YXBanded--- }---- CoordinateMode for drawing routines-type CoordinateMode = CInt-#{enum CoordinateMode,- , coordModeOrigin = CoordModeOrigin- , coordModePrevious = CoordModePrevious- }--type PolygonShape = CInt-#{enum PolygonShape,- , complex = Complex- , nonconvex = Nonconvex- , convex = Convex- }---- Arc modes for PolyFillArc-type ArcMode = CInt-#{enum ArcMode,- , arcChord = ArcChord- , arcPieSlice = ArcPieSlice- }---- GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into--- GC.stateChanges--type GCMask = CInt-#{enum GCMask,- , gCFunction = GCFunction- , gCPlaneMask = GCPlaneMask- , gCForeground = GCForeground- , gCBackground = GCBackground- , gCLineWidth = GCLineWidth- , gCLineStyle = GCLineStyle- , gCCapStyle = GCCapStyle- , gCJoinStyle = GCJoinStyle- , gCFillStyle = GCFillStyle- , gCFillRule = GCFillRule- , gCTile = GCTile- , gCStipple = GCStipple- , gCTileStipXOrigin = GCTileStipXOrigin- , gCTileStipYOrigin = GCTileStipYOrigin- , gCFont = GCFont- , gCSubwindowMode = GCSubwindowMode- , gCGraphicsExposures = GCGraphicsExposures- , gCClipXOrigin = GCClipXOrigin- , gCClipYOrigin = GCClipYOrigin- , gCClipMask = GCClipMask- , gCDashOffset = GCDashOffset- , gCDashList = GCDashList- , gCArcMode = GCArcMode- , gCLastBit = GCLastBit- }--type CirculationDirection = CInt-#{enum CirculationDirection,- , raiseLowest = RaiseLowest- , lowerHighest = LowerHighest- }---- used in imageByteOrder and bitmapBitOrder-type ByteOrder = CInt-#{enum ByteOrder,- , lSBFirst = LSBFirst- , mSBFirst = MSBFirst- }--type ColormapAlloc = CInt-#{enum ColormapAlloc,- , allocNone = AllocNone- , allocAll = AllocAll- }--type MappingRequest = CInt-#{enum MappingRequest,- , mappingModifier = MappingModifier- , mappingKeyboard = MappingKeyboard- , mappingPointer = MappingPointer- }--type ChangeSaveSetMode = CInt-#{enum ChangeSaveSetMode,- , setModeInsert = SetModeInsert- , setModeDelete = SetModeDelete- }--type BitGravity = CInt-#{enum BitGravity,- , forgetGravity = ForgetGravity- , northWestGravity = NorthWestGravity- , northGravity = NorthGravity- , northEastGravity = NorthEastGravity- , westGravity = WestGravity- , centerGravity = CenterGravity- , eastGravity = EastGravity- , southWestGravity = SouthWestGravity- , southGravity = SouthGravity- , southEastGravity = SouthEastGravity- , staticGravity = StaticGravity- }---- All the BitGravity's plus ...-type WindowGravity = CInt-#{enum WindowGravity,- , unmapGravity = UnmapGravity- }---- Used in CreateWindow for backing-store hint-type BackingStore = CInt-#{enum BackingStore,- , notUseful = NotUseful- , whenMapped = WhenMapped- , always = Always- }--#{enum Word8,- , doRed = DoRed- , doGreen = DoGreen- , doBlue = DoBlue- }--type FontDirection = CInt-#{enum FontDirection,- , fontLeftToRight = FontLeftToRight- , fontRightToLeft = FontRightToLeft- }--type ImageFormat = CInt-#{enum ImageFormat,- , xyBitmap = XYBitmap- , xyPixmap = XYPixmap- , zPixmap = ZPixmap+ (++ XID,+ Mask,+ Atom,+ VisualID,+ Time,+ Window,+ Drawable,+ Font,+ Pixmap,+ Cursor,+ Colormap,+ GContext,+ KeyCode,++ -- * Enumeration types+ -- | These types were introduced to make function types clearer.+ -- Note that the types are synonyms for 'Int', so no extra+ -- typesafety was obtained.++ -- ** Key symbols+ KeySym,++ xK_VoidSymbol,+ xK_BackSpace,+ xK_Tab,+ xK_Linefeed,+ xK_Clear,+ xK_Return,+ xK_Pause,+ xK_Scroll_Lock,+ xK_Sys_Req,+ xK_Escape,+ xK_Delete,+ xK_Multi_key,+ xK_Home,+ xK_Left,+ xK_Up,+ xK_Right,+ xK_Down,+ xK_Prior,+ xK_Page_Up,+ xK_Next,+ xK_Page_Down,+ xK_End,+ xK_Begin,+ xK_Select,+ xK_Print,+ xK_Execute,+ xK_Insert,+ xK_Undo,+ xK_Redo,+ xK_Menu,+ xK_Find,+ xK_Cancel,+ xK_Help,+ xK_Break,+ xK_Mode_switch,+ xK_script_switch,+ xK_Num_Lock,+ xK_KP_Space,+ xK_KP_Tab,+ xK_KP_Enter,+ xK_KP_F1,+ xK_KP_F2,+ xK_KP_F3,+ xK_KP_F4,+ xK_KP_Home,+ xK_KP_Left,+ xK_KP_Up,+ xK_KP_Right,+ xK_KP_Down,+ xK_KP_Prior,+ xK_KP_Page_Up,+ xK_KP_Next,+ xK_KP_Page_Down,+ xK_KP_End,+ xK_KP_Begin,+ xK_KP_Insert,+ xK_KP_Delete,+ xK_KP_Equal,+ xK_KP_Multiply,+ xK_KP_Add,+ xK_KP_Separator,+ xK_KP_Subtract,+ xK_KP_Decimal,+ xK_KP_Divide,+ xK_KP_0,+ xK_KP_1,+ xK_KP_2,+ xK_KP_3,+ xK_KP_4,+ xK_KP_5,+ xK_KP_6,+ xK_KP_7,+ xK_KP_8,+ xK_KP_9,+ xK_F1,+ xK_F2,+ xK_F3,+ xK_F4,+ xK_F5,+ xK_F6,+ xK_F7,+ xK_F8,+ xK_F9,+ xK_F10,+ xK_F11,+ xK_L1,+ xK_F12,+ xK_L2,+ xK_F13,+ xK_L3,+ xK_F14,+ xK_L4,+ xK_F15,+ xK_L5,+ xK_F16,+ xK_L6,+ xK_F17,+ xK_L7,+ xK_F18,+ xK_L8,+ xK_F19,+ xK_L9,+ xK_F20,+ xK_L10,+ xK_F21,+ xK_R1,+ xK_F22,+ xK_R2,+ xK_F23,+ xK_R3,+ xK_F24,+ xK_R4,+ xK_F25,+ xK_R5,+ xK_F26,+ xK_R6,+ xK_F27,+ xK_R7,+ xK_F28,+ xK_R8,+ xK_F29,+ xK_R9,+ xK_F30,+ xK_R10,+ xK_F31,+ xK_R11,+ xK_F32,+ xK_R12,+ xK_F33,+ xK_R13,+ xK_F34,+ xK_R14,+ xK_F35,+ xK_R15,+ xK_Shift_L,+ xK_Shift_R,+ xK_Control_L,+ xK_Control_R,+ xK_Caps_Lock,+ xK_Shift_Lock,+ xK_Meta_L,+ xK_Meta_R,+ xK_Alt_L,+ xK_Alt_R,+ xK_Super_L,+ xK_Super_R,+ xK_Hyper_L,+ xK_Hyper_R,+ xK_space,+ xK_exclam,+ xK_quotedbl,+ xK_numbersign,+ xK_dollar,+ xK_percent,+ xK_ampersand,+ xK_apostrophe,+ xK_quoteright,+ xK_parenleft,+ xK_parenright,+ xK_asterisk,+ xK_plus,+ xK_comma,+ xK_minus,+ xK_period,+ xK_slash,+ xK_0,+ xK_1,+ xK_2,+ xK_3,+ xK_4,+ xK_5,+ xK_6,+ xK_7,+ xK_8,+ xK_9,+ xK_colon,+ xK_semicolon,+ xK_less,+ xK_equal,+ xK_greater,+ xK_question,+ xK_at,+ xK_A,+ xK_B,+ xK_C,+ xK_D,+ xK_E,+ xK_F,+ xK_G,+ xK_H,+ xK_I,+ xK_J,+ xK_K,+ xK_L,+ xK_M,+ xK_N,+ xK_O,+ xK_P,+ xK_Q,+ xK_R,+ xK_S,+ xK_T,+ xK_U,+ xK_V,+ xK_W,+ xK_X,+ xK_Y,+ xK_Z,+ xK_bracketleft,+ xK_backslash,+ xK_bracketright,+ xK_asciicircum,+ xK_underscore,+ xK_grave,+ xK_quoteleft,+ xK_a,+ xK_b,+ xK_c,+ xK_d,+ xK_e,+ xK_f,+ xK_g,+ xK_h,+ xK_i,+ xK_j,+ xK_k,+ xK_l,+ xK_m,+ xK_n,+ xK_o,+ xK_p,+ xK_q,+ xK_r,+ xK_s,+ xK_t,+ xK_u,+ xK_v,+ xK_w,+ xK_x,+ xK_y,+ xK_z,+ xK_braceleft,+ xK_bar,+ xK_braceright,+ xK_asciitilde,+ xK_nobreakspace,+ xK_exclamdown,+ xK_cent,+ xK_sterling,+ xK_currency,+ xK_yen,+ xK_brokenbar,+ xK_section,+ xK_diaeresis,+ xK_copyright,+ xK_ordfeminine,+ xK_guillemotleft,+ xK_notsign,+ xK_hyphen,+ xK_registered,+ xK_macron,+ xK_degree,+ xK_plusminus,+ xK_twosuperior,+ xK_threesuperior,+ xK_acute,+ xK_mu,+ xK_paragraph,+ xK_periodcentered,+ xK_cedilla,+ xK_onesuperior,+ xK_masculine,+ xK_guillemotright,+ xK_onequarter,+ xK_onehalf,+ xK_threequarters,+ xK_questiondown,+ xK_Agrave,+ xK_Aacute,+ xK_Acircumflex,+ xK_Atilde,+ xK_Adiaeresis,+ xK_Aring,+ xK_AE,+ xK_Ccedilla,+ xK_Egrave,+ xK_Eacute,+ xK_Ecircumflex,+ xK_Ediaeresis,+ xK_Igrave,+ xK_Iacute,+ xK_Icircumflex,+ xK_Idiaeresis,+ xK_ETH,+ xK_Eth,+ xK_Ntilde,+ xK_Ograve,+ xK_Oacute,+ xK_Ocircumflex,+ xK_Otilde,+ xK_Odiaeresis,+ xK_multiply,+ xK_Ooblique,+ xK_Ugrave,+ xK_Uacute,+ xK_Ucircumflex,+ xK_Udiaeresis,+ xK_Yacute,+ xK_THORN,+ xK_Thorn,+ xK_ssharp,+ xK_agrave,+ xK_aacute,+ xK_acircumflex,+ xK_atilde,+ xK_adiaeresis,+ xK_aring,+ xK_ae,+ xK_ccedilla,+ xK_egrave,+ xK_eacute,+ xK_ecircumflex,+ xK_ediaeresis,+ xK_igrave,+ xK_iacute,+ xK_icircumflex,+ xK_idiaeresis,+ xK_eth,+ xK_ntilde,+ xK_ograve,+ xK_oacute,+ xK_ocircumflex,+ xK_otilde,+ xK_odiaeresis,+ xK_division,+ xK_oslash,+ xK_ugrave,+ xK_uacute,+ xK_ucircumflex,+ xK_udiaeresis,+ xK_yacute,+ xK_thorn,+ xK_ydiaeresis,++ -- ** Event masks+ EventMask,+ noEventMask,+ keyPressMask,+ keyReleaseMask,+ buttonPressMask,+ buttonReleaseMask,+ enterWindowMask,+ leaveWindowMask,+ pointerMotionMask,+ pointerMotionHintMask,+ button1MotionMask,+ button2MotionMask,+ button3MotionMask,+ button4MotionMask,+ button5MotionMask,+ buttonMotionMask,+ keymapStateMask,+ exposureMask,+ visibilityChangeMask,+ structureNotifyMask,+ resizeRedirectMask,+ substructureNotifyMask,+ substructureRedirectMask,+ focusChangeMask,+ propertyChangeMask,+ colormapChangeMask,+ ownerGrabButtonMask,++ -- ** Event types+ EventType,+ keyPress,+ keyRelease,+ buttonPress,+ buttonRelease,+ motionNotify,+ enterNotify,+ leaveNotify,+ focusIn,+ focusOut,+ keymapNotify,+ expose,+ graphicsExpose,+ noExpose,+ visibilityNotify,+ createNotify,+ destroyNotify,+ unmapNotify,+ mapNotify,+ mapRequest,+ reparentNotify,+ configureNotify,+ configureRequest,+ gravityNotify,+ resizeRequest,+ circulateNotify,+ circulateRequest,+ propertyNotify,+ selectionClear,+ selectionRequest,+ selectionNotify,+ colormapNotify,+ clientMessage,+ mappingNotify,+ lASTEvent,++ -- ** Modifiers+ Modifier,+ shiftMapIndex,+ lockMapIndex,+ controlMapIndex,+ mod1MapIndex,+ mod2MapIndex,+ mod3MapIndex,+ mod4MapIndex,+ mod5MapIndex,+ anyModifier,++ -- ** Key masks+ KeyMask,+ shiftMask,+ lockMask,+ controlMask,+ mod1Mask,+ mod2Mask,+ mod3Mask,+ mod4Mask,+ mod5Mask,++ -- ** Button masks+ ButtonMask,+ button1Mask,+ button2Mask,+ button3Mask,+ button4Mask,+ button5Mask,++ -- ** Buttons+ Button,+ button1,+ button2,+ button3,+ button4,+ button5,++ -- ** Notify modes+ NotifyMode,+ notifyNormal,+ notifyGrab,+ notifyUngrab,+ notifyWhileGrabbed,+ notifyHint,++ -- ** Notify details+ NotifyDetail,+ notifyAncestor,+ notifyVirtual,+ notifyInferior,+ notifyNonlinear,+ notifyNonlinearVirtual,+ notifyPointer,+ notifyPointerRoot,+ notifyDetailNone,++ -- ** Visibility+ Visibility,+ visibilityUnobscured,+ visibilityPartiallyObscured,+ visibilityFullyObscured,++ -- ** Place of window+ Place,+ placeOnTop,+ placeOnBottom,++ -- ** Protocols+ Protocol,+ familyInternet,+ familyDECnet,+ familyChaos,++ -- ** Property notification+ PropertyNotification,+ propertyNewValue,+ propertyDelete,++ -- ** Colormap notification+ ColormapNotification,+ colormapUninstalled,+ colormapInstalled,++ -- ** Grab modes+ GrabMode,+ grabModeSync,+ grabModeAsync,++ -- ** Grab status+ GrabStatus,+ grabSuccess,+ alreadyGrabbed,+ grabInvalidTime,+ grabNotViewable,+ grabFrozen,++ -- ** Allow events+ AllowEvents,+ asyncPointer,+ syncPointer,+ replayPointer,+ asyncKeyboard,+ syncKeyboard,+ replayKeyboard,+ asyncBoth,+ syncBoth,++ -- ** Focus modes+ FocusMode,+ revertToNone,+ revertToPointerRoot,+ revertToParent,++ -- ** Error codes+ ErrorCode,+ success,+ badRequest,+ badValue,+ badWindow,+ badPixmap,+ badAtom,+ badCursor,+ badFont,+ badMatch,+ badDrawable,+ badAccess,+ badAlloc,+ badColor,+ badGC,+ badIDChoice,+ badName,+ badLength,+ badImplementation,+ firstExtensionError,+ lastExtensionError,++ -- ** Return status+ Status,+ throwIfZero,++ -- ** WindowClass+ WindowClass,+ copyFromParent,+ inputOutput,+ inputOnly,++ -- ** Attribute masks+ AttributeMask,+ cWBackPixmap,+ cWBackPixel,+ cWBorderPixmap,+ cWBorderPixel,+ cWBitGravity,+ cWWinGravity,+ cWBackingStore,+ cWBackingPlanes,+ cWBackingPixel,+ cWOverrideRedirect,+ cWSaveUnder,+ cWEventMask,+ cWDontPropagate,+ cWColormap,+ cWCursor,++ -- ** Close down modes+ CloseDownMode,+ destroyAll,+ retainPermanent,+ retainTemporary,++ -- ** QueryBestSize classes+ QueryBestSizeClass,+ cursorShape,+ tileShape,+ stippleShape,++ -- ** Graphics functions+ GXFunction,+ gXclear,+ gXand,+ gXandReverse,+ gXcopy,+ gXandInverted,+ gXnoop,+ gXxor,+ gXor,+ gXnor,+ gXequiv,+ gXinvert,+ gXorReverse,+ gXcopyInverted,+ gXorInverted,+ gXnand,+ gXset,++ -- ** Line styles+ LineStyle,+ lineSolid,+ lineOnOffDash,+ lineDoubleDash,++ -- ** Cap styles+ CapStyle,+ capNotLast,+ capButt,+ capRound,+ capProjecting,++ -- ** Join styles+ JoinStyle,+ joinMiter,+ joinRound,+ joinBevel,++ -- ** Fill styles+ FillStyle,+ fillSolid,+ fillTiled,+ fillStippled,+ fillOpaqueStippled,++ -- ** Fill rules+ FillRule,+ evenOddRule,+ windingRule,++ -- ** Subwindow modes+ SubWindowMode,+ clipByChildren,+ includeInferiors,++ -- ** Coordinate modes+ CoordinateMode,+ coordModeOrigin,+ coordModePrevious,++ -- ** Polygon shapes+ PolygonShape,+ complex,+ nonconvex,+ convex,++ -- ** Arc modes+ ArcMode,+ arcChord,+ arcPieSlice,++ -- ** GC masks+ GCMask,+ gCFunction,+ gCPlaneMask,+ gCForeground,+ gCBackground,+ gCLineWidth,+ gCLineStyle,+ gCCapStyle,+ gCJoinStyle,+ gCFillStyle,+ gCFillRule,+ gCTile,+ gCStipple,+ gCTileStipXOrigin,+ gCTileStipYOrigin,+ gCFont,+ gCSubwindowMode,+ gCGraphicsExposures,+ gCClipXOrigin,+ gCClipYOrigin,+ gCClipMask,+ gCDashOffset,+ gCDashList,+ gCArcMode,+ gCLastBit,++ -- ** Circulation direction+ CirculationDirection,+ raiseLowest,+ lowerHighest,++ -- ** Byte order+ ByteOrder,+ lSBFirst,+ mSBFirst,++ -- ** ColormapAlloc+ ColormapAlloc,+ allocNone,+ allocAll,++ -- ** Mapping requests+ MappingRequest,+ mappingModifier,+ mappingKeyboard,+ mappingPointer,++ -- ** ChangeSaveSetMode+ ChangeSaveSetMode,+ setModeInsert,+ setModeDelete,++ -- ** Bit gravity+ BitGravity,+ forgetGravity,+ northWestGravity,+ northGravity,+ northEastGravity,+ westGravity,+ centerGravity,+ eastGravity,+ southWestGravity,+ southGravity,+ southEastGravity,+ staticGravity,++ -- ** Window gravity+ WindowGravity,+ unmapGravity,++ -- ** Backing store+ BackingStore,+ notUseful,+ whenMapped,+ always,+ doRed,+ doGreen,+ doBlue,++ -- ** Font direction+ FontDirection,+ fontLeftToRight,+ fontRightToLeft,++ -- ** Image format+ ImageFormat,+ xyBitmap,+ xyPixmap,+ zPixmap+ ) where++-- import Data.Int+import Data.Word+import Foreign.Marshal.Error+import Foreign.C.Types++#include "HsXlib.h"++-- ToDo: use newtype+type XID = #{type XID}+type Mask = #{type Mask}+type Atom = #{type Atom}+type VisualID = #{type VisualID}+type Time = #{type Time}++-- end platform dependency++type Window = XID+type Drawable = XID+type Font = XID+type Pixmap = XID+type Cursor = XID+type Colormap = XID+type GContext = XID++type KeyCode = Char++type KeySym = XID++#{enum KeySym,+ , xK_VoidSymbol = XK_VoidSymbol+ }++-- TTY Functions, cleverly chosen to map to ascii, for convenience of+-- programming, but could have been arbitrary (at the cost of lookup+-- tables in client code.++#{enum KeySym,+ , xK_BackSpace = XK_BackSpace+ , xK_Tab = XK_Tab+ , xK_Linefeed = XK_Linefeed+ , xK_Clear = XK_Clear+ , xK_Return = XK_Return+ , xK_Pause = XK_Pause+ , xK_Scroll_Lock = XK_Scroll_Lock+ , xK_Sys_Req = XK_Sys_Req+ , xK_Escape = XK_Escape+ , xK_Delete = XK_Delete+ }++-- International & multi-key character composition+#{enum KeySym,+ , xK_Multi_key = XK_Multi_key+ }+-- xK_Codeinput = XK_Codeinput -- Not defined for SunOS.+-- xK_SingleCandidate = XK_SingleCandidate -- Not defined for SunOS.+-- xK_MultipleCandidate = XK_MultipleCandidate -- Not defined for SunOS.+-- xK_PreviousCandidate = XK_PreviousCandidate -- Not defined for SunOS.++-- Cursor control & motion+#{enum KeySym,+ , xK_Home = XK_Home+ , xK_Left = XK_Left+ , xK_Up = XK_Up+ , xK_Right = XK_Right+ , xK_Down = XK_Down+ , xK_Prior = XK_Prior+ , xK_Page_Up = XK_Page_Up+ , xK_Next = XK_Next+ , xK_Page_Down = XK_Page_Down+ , xK_End = XK_End+ , xK_Begin = XK_Begin++ , xK_Select = XK_Select+ , xK_Print = XK_Print+ , xK_Execute = XK_Execute+ , xK_Insert = XK_Insert+ , xK_Undo = XK_Undo+ , xK_Redo = XK_Redo+ , xK_Menu = XK_Menu+ , xK_Find = XK_Find+ , xK_Cancel = XK_Cancel+ , xK_Help = XK_Help+ , xK_Break = XK_Break+ , xK_Mode_switch = XK_Mode_switch+ , xK_script_switch = XK_script_switch+ , xK_Num_Lock = XK_Num_Lock+ }++-- Keypad Functions, keypad numbers cleverly chosen to map to ascii+#{enum KeySym,+ , xK_KP_Space = XK_KP_Space+ , xK_KP_Tab = XK_KP_Tab+ , xK_KP_Enter = XK_KP_Enter+ , xK_KP_F1 = XK_KP_F1+ , xK_KP_F2 = XK_KP_F2+ , xK_KP_F3 = XK_KP_F3+ , xK_KP_F4 = XK_KP_F4+ , xK_KP_Home = XK_KP_Home+ , xK_KP_Left = XK_KP_Left+ , xK_KP_Up = XK_KP_Up+ , xK_KP_Right = XK_KP_Right+ , xK_KP_Down = XK_KP_Down+ , xK_KP_Prior = XK_KP_Prior+ , xK_KP_Page_Up = XK_KP_Page_Up+ , xK_KP_Next = XK_KP_Next+ , xK_KP_Page_Down = XK_KP_Page_Down+ , xK_KP_End = XK_KP_End+ , xK_KP_Begin = XK_KP_Begin+ , xK_KP_Insert = XK_KP_Insert+ , xK_KP_Delete = XK_KP_Delete+ , xK_KP_Equal = XK_KP_Equal+ , xK_KP_Multiply = XK_KP_Multiply+ , xK_KP_Add = XK_KP_Add+ , xK_KP_Separator = XK_KP_Separator+ , xK_KP_Subtract = XK_KP_Subtract+ , xK_KP_Decimal = XK_KP_Decimal+ , xK_KP_Divide = XK_KP_Divide++ , xK_KP_0 = XK_KP_0+ , xK_KP_1 = XK_KP_1+ , xK_KP_2 = XK_KP_2+ , xK_KP_3 = XK_KP_3+ , xK_KP_4 = XK_KP_4+ , xK_KP_5 = XK_KP_5+ , xK_KP_6 = XK_KP_6+ , xK_KP_7 = XK_KP_7+ , xK_KP_8 = XK_KP_8+ , xK_KP_9 = XK_KP_9++ , xK_F1 = XK_F1+ , xK_F2 = XK_F2+ , xK_F3 = XK_F3+ , xK_F4 = XK_F4+ , xK_F5 = XK_F5+ , xK_F6 = XK_F6+ , xK_F7 = XK_F7+ , xK_F8 = XK_F8+ , xK_F9 = XK_F9+ , xK_F10 = XK_F10+ , xK_F11 = XK_F11+ , xK_L1 = XK_L1+ , xK_F12 = XK_F12+ , xK_L2 = XK_L2+ , xK_F13 = XK_F13+ , xK_L3 = XK_L3+ , xK_F14 = XK_F14+ , xK_L4 = XK_L4+ , xK_F15 = XK_F15+ , xK_L5 = XK_L5+ , xK_F16 = XK_F16+ , xK_L6 = XK_L6+ , xK_F17 = XK_F17+ , xK_L7 = XK_L7+ , xK_F18 = XK_F18+ , xK_L8 = XK_L8+ , xK_F19 = XK_F19+ , xK_L9 = XK_L9+ , xK_F20 = XK_F20+ , xK_L10 = XK_L10+ , xK_F21 = XK_F21+ , xK_R1 = XK_R1+ , xK_F22 = XK_F22+ , xK_R2 = XK_R2+ , xK_F23 = XK_F23+ , xK_R3 = XK_R3+ , xK_F24 = XK_F24+ , xK_R4 = XK_R4+ , xK_F25 = XK_F25+ , xK_R5 = XK_R5+ , xK_F26 = XK_F26+ , xK_R6 = XK_R6+ , xK_F27 = XK_F27+ , xK_R7 = XK_R7+ , xK_F28 = XK_F28+ , xK_R8 = XK_R8+ , xK_F29 = XK_F29+ , xK_R9 = XK_R9+ , xK_F30 = XK_F30+ , xK_R10 = XK_R10+ , xK_F31 = XK_F31+ , xK_R11 = XK_R11+ , xK_F32 = XK_F32+ , xK_R12 = XK_R12+ , xK_F33 = XK_F33+ , xK_R13 = XK_R13+ , xK_F34 = XK_F34+ , xK_R14 = XK_R14+ , xK_F35 = XK_F35+ , xK_R15 = XK_R15+ }++#{enum KeySym,+ , xK_Shift_L = XK_Shift_L+ , xK_Shift_R = XK_Shift_R+ , xK_Control_L = XK_Control_L+ , xK_Control_R = XK_Control_R+ , xK_Caps_Lock = XK_Caps_Lock+ , xK_Shift_Lock = XK_Shift_Lock++ , xK_Meta_L = XK_Meta_L+ , xK_Meta_R = XK_Meta_R+ , xK_Alt_L = XK_Alt_L+ , xK_Alt_R = XK_Alt_R+ , xK_Super_L = XK_Super_L+ , xK_Super_R = XK_Super_R+ , xK_Hyper_L = XK_Hyper_L+ , xK_Hyper_R = XK_Hyper_R+ }++#{enum KeySym,+ , xK_space = XK_space+ , xK_exclam = XK_exclam+ , xK_quotedbl = XK_quotedbl+ , xK_numbersign = XK_numbersign+ , xK_dollar = XK_dollar+ , xK_percent = XK_percent+ , xK_ampersand = XK_ampersand+ , xK_apostrophe = XK_apostrophe+ , xK_quoteright = XK_quoteright+ , xK_parenleft = XK_parenleft+ , xK_parenright = XK_parenright+ , xK_asterisk = XK_asterisk+ , xK_plus = XK_plus+ , xK_comma = XK_comma+ , xK_minus = XK_minus+ , xK_period = XK_period+ , xK_slash = XK_slash+ , xK_0 = XK_0+ , xK_1 = XK_1+ , xK_2 = XK_2+ , xK_3 = XK_3+ , xK_4 = XK_4+ , xK_5 = XK_5+ , xK_6 = XK_6+ , xK_7 = XK_7+ , xK_8 = XK_8+ , xK_9 = XK_9+ , xK_colon = XK_colon+ , xK_semicolon = XK_semicolon+ , xK_less = XK_less+ , xK_equal = XK_equal+ , xK_greater = XK_greater+ , xK_question = XK_question+ , xK_at = XK_at+ , xK_A = XK_A+ , xK_B = XK_B+ , xK_C = XK_C+ , xK_D = XK_D+ , xK_E = XK_E+ , xK_F = XK_F+ , xK_G = XK_G+ , xK_H = XK_H+ , xK_I = XK_I+ , xK_J = XK_J+ , xK_K = XK_K+ , xK_L = XK_L+ , xK_M = XK_M+ , xK_N = XK_N+ , xK_O = XK_O+ , xK_P = XK_P+ , xK_Q = XK_Q+ , xK_R = XK_R+ , xK_S = XK_S+ , xK_T = XK_T+ , xK_U = XK_U+ , xK_V = XK_V+ , xK_W = XK_W+ , xK_X = XK_X+ , xK_Y = XK_Y+ , xK_Z = XK_Z+ , xK_bracketleft = XK_bracketleft+ , xK_backslash = XK_backslash+ , xK_bracketright = XK_bracketright+ , xK_asciicircum = XK_asciicircum+ , xK_underscore = XK_underscore+ , xK_grave = XK_grave+ , xK_quoteleft = XK_quoteleft+ , xK_a = XK_a+ , xK_b = XK_b+ , xK_c = XK_c+ , xK_d = XK_d+ , xK_e = XK_e+ , xK_f = XK_f+ , xK_g = XK_g+ , xK_h = XK_h+ , xK_i = XK_i+ , xK_j = XK_j+ , xK_k = XK_k+ , xK_l = XK_l+ , xK_m = XK_m+ , xK_n = XK_n+ , xK_o = XK_o+ , xK_p = XK_p+ , xK_q = XK_q+ , xK_r = XK_r+ , xK_s = XK_s+ , xK_t = XK_t+ , xK_u = XK_u+ , xK_v = XK_v+ , xK_w = XK_w+ , xK_x = XK_x+ , xK_y = XK_y+ , xK_z = XK_z+ , xK_braceleft = XK_braceleft+ , xK_bar = XK_bar+ , xK_braceright = XK_braceright+ , xK_asciitilde = XK_asciitilde+ }++#{enum KeySym,+ , xK_nobreakspace = XK_nobreakspace+ , xK_exclamdown = XK_exclamdown+ , xK_cent = XK_cent+ , xK_sterling = XK_sterling+ , xK_currency = XK_currency+ , xK_yen = XK_yen+ , xK_brokenbar = XK_brokenbar+ , xK_section = XK_section+ , xK_diaeresis = XK_diaeresis+ , xK_copyright = XK_copyright+ , xK_ordfeminine = XK_ordfeminine+ , xK_guillemotleft = XK_guillemotleft+ , xK_notsign = XK_notsign+ , xK_hyphen = XK_hyphen+ , xK_registered = XK_registered+ , xK_macron = XK_macron+ , xK_degree = XK_degree+ , xK_plusminus = XK_plusminus+ , xK_twosuperior = XK_twosuperior+ , xK_threesuperior = XK_threesuperior+ , xK_acute = XK_acute+ , xK_mu = XK_mu+ , xK_paragraph = XK_paragraph+ , xK_periodcentered = XK_periodcentered+ , xK_cedilla = XK_cedilla+ , xK_onesuperior = XK_onesuperior+ , xK_masculine = XK_masculine+ , xK_guillemotright = XK_guillemotright+ , xK_onequarter = XK_onequarter+ , xK_onehalf = XK_onehalf+ , xK_threequarters = XK_threequarters+ , xK_questiondown = XK_questiondown+ , xK_Agrave = XK_Agrave+ , xK_Aacute = XK_Aacute+ , xK_Acircumflex = XK_Acircumflex+ , xK_Atilde = XK_Atilde+ , xK_Adiaeresis = XK_Adiaeresis+ , xK_Aring = XK_Aring+ , xK_AE = XK_AE+ , xK_Ccedilla = XK_Ccedilla+ , xK_Egrave = XK_Egrave+ , xK_Eacute = XK_Eacute+ , xK_Ecircumflex = XK_Ecircumflex+ , xK_Ediaeresis = XK_Ediaeresis+ , xK_Igrave = XK_Igrave+ , xK_Iacute = XK_Iacute+ , xK_Icircumflex = XK_Icircumflex+ , xK_Idiaeresis = XK_Idiaeresis+ , xK_ETH = XK_ETH+ , xK_Eth = XK_Eth+ , xK_Ntilde = XK_Ntilde+ , xK_Ograve = XK_Ograve+ , xK_Oacute = XK_Oacute+ , xK_Ocircumflex = XK_Ocircumflex+ , xK_Otilde = XK_Otilde+ , xK_Odiaeresis = XK_Odiaeresis+ , xK_multiply = XK_multiply+ , xK_Ooblique = XK_Ooblique+ , xK_Ugrave = XK_Ugrave+ , xK_Uacute = XK_Uacute+ , xK_Ucircumflex = XK_Ucircumflex+ , xK_Udiaeresis = XK_Udiaeresis+ , xK_Yacute = XK_Yacute+ , xK_THORN = XK_THORN+ , xK_Thorn = XK_Thorn+ , xK_ssharp = XK_ssharp+ , xK_agrave = XK_agrave+ , xK_aacute = XK_aacute+ , xK_acircumflex = XK_acircumflex+ , xK_atilde = XK_atilde+ , xK_adiaeresis = XK_adiaeresis+ , xK_aring = XK_aring+ , xK_ae = XK_ae+ , xK_ccedilla = XK_ccedilla+ , xK_egrave = XK_egrave+ , xK_eacute = XK_eacute+ , xK_ecircumflex = XK_ecircumflex+ , xK_ediaeresis = XK_ediaeresis+ , xK_igrave = XK_igrave+ , xK_iacute = XK_iacute+ , xK_icircumflex = XK_icircumflex+ , xK_idiaeresis = XK_idiaeresis+ , xK_eth = XK_eth+ , xK_ntilde = XK_ntilde+ , xK_ograve = XK_ograve+ , xK_oacute = XK_oacute+ , xK_ocircumflex = XK_ocircumflex+ , xK_otilde = XK_otilde+ , xK_odiaeresis = XK_odiaeresis+ , xK_division = XK_division+ , xK_oslash = XK_oslash+ , xK_ugrave = XK_ugrave+ , xK_uacute = XK_uacute+ , xK_ucircumflex = XK_ucircumflex+ , xK_udiaeresis = XK_udiaeresis+ , xK_yacute = XK_yacute+ , xK_thorn = XK_thorn+ , xK_ydiaeresis = XK_ydiaeresis+ }++type EventMask = Mask+#{enum EventMask,+ , noEventMask = NoEventMask+ , keyPressMask = KeyPressMask+ , keyReleaseMask = KeyReleaseMask+ , buttonPressMask = ButtonPressMask+ , buttonReleaseMask = ButtonReleaseMask+ , enterWindowMask = EnterWindowMask+ , leaveWindowMask = LeaveWindowMask+ , pointerMotionMask = PointerMotionMask+ , pointerMotionHintMask = PointerMotionHintMask+ , button1MotionMask = Button1MotionMask+ , button2MotionMask = Button2MotionMask+ , button3MotionMask = Button3MotionMask+ , button4MotionMask = Button4MotionMask+ , button5MotionMask = Button5MotionMask+ , buttonMotionMask = ButtonMotionMask+ , keymapStateMask = KeymapStateMask+ , exposureMask = ExposureMask+ , visibilityChangeMask = VisibilityChangeMask+ , structureNotifyMask = StructureNotifyMask+ , resizeRedirectMask = ResizeRedirectMask+ , substructureNotifyMask = SubstructureNotifyMask+ , substructureRedirectMask = SubstructureRedirectMask+ , focusChangeMask = FocusChangeMask+ , propertyChangeMask = PropertyChangeMask+ , colormapChangeMask = ColormapChangeMask+ , ownerGrabButtonMask = OwnerGrabButtonMask+ }++type EventType = Word32+#{enum EventType,+ , keyPress = KeyPress+ , keyRelease = KeyRelease+ , buttonPress = ButtonPress+ , buttonRelease = ButtonRelease+ , motionNotify = MotionNotify+ , enterNotify = EnterNotify+ , leaveNotify = LeaveNotify+ , focusIn = FocusIn+ , focusOut = FocusOut+ , keymapNotify = KeymapNotify+ , expose = Expose+ , graphicsExpose = GraphicsExpose+ , noExpose = NoExpose+ , visibilityNotify = VisibilityNotify+ , createNotify = CreateNotify+ , destroyNotify = DestroyNotify+ , unmapNotify = UnmapNotify+ , mapNotify = MapNotify+ , mapRequest = MapRequest+ , reparentNotify = ReparentNotify+ , configureNotify = ConfigureNotify+ , configureRequest = ConfigureRequest+ , gravityNotify = GravityNotify+ , resizeRequest = ResizeRequest+ , circulateNotify = CirculateNotify+ , circulateRequest = CirculateRequest+ , propertyNotify = PropertyNotify+ , selectionClear = SelectionClear+ , selectionRequest = SelectionRequest+ , selectionNotify = SelectionNotify+ , colormapNotify = ColormapNotify+ , clientMessage = ClientMessage+ , mappingNotify = MappingNotify+ , lASTEvent = LASTEvent+ }++type Modifier = CUInt+#{enum Modifier,+ , shiftMapIndex = ShiftMapIndex+ , lockMapIndex = LockMapIndex+ , controlMapIndex = ControlMapIndex+ , mod1MapIndex = Mod1MapIndex+ , mod2MapIndex = Mod2MapIndex+ , mod3MapIndex = Mod3MapIndex+ , mod4MapIndex = Mod4MapIndex+ , mod5MapIndex = Mod5MapIndex+ , anyModifier = AnyModifier+ }++type KeyMask = Modifier+#{enum KeyMask,+ , shiftMask = ShiftMask+ , lockMask = LockMask+ , controlMask = ControlMask+ , mod1Mask = Mod1Mask+ , mod2Mask = Mod2Mask+ , mod3Mask = Mod3Mask+ , mod4Mask = Mod4Mask+ , mod5Mask = Mod5Mask+ }++type ButtonMask = Modifier+#{enum ButtonMask,+ , button1Mask = Button1Mask+ , button2Mask = Button2Mask+ , button3Mask = Button3Mask+ , button4Mask = Button4Mask+ , button5Mask = Button5Mask+ }++type Button = Word32+#{enum Button,+ , button1 = Button1+ , button2 = Button2+ , button3 = Button3+ , button4 = Button4+ , button5 = Button5+ }++type NotifyMode = CInt+-- NotifyNormal and NotifyHint are used as detail in XMotionEvents+#{enum NotifyMode,+ , notifyNormal = NotifyNormal+ , notifyGrab = NotifyGrab+ , notifyUngrab = NotifyUngrab+ , notifyWhileGrabbed = NotifyWhileGrabbed+ , notifyHint = NotifyHint+ }++type NotifyDetail = CInt+#{enum NotifyDetail,+ , notifyAncestor = NotifyAncestor+ , notifyVirtual = NotifyVirtual+ , notifyInferior = NotifyInferior+ , notifyNonlinear = NotifyNonlinear+ , notifyNonlinearVirtual = NotifyNonlinearVirtual+ , notifyPointer = NotifyPointer+ , notifyPointerRoot = NotifyPointerRoot+ , notifyDetailNone = NotifyDetailNone+ }++type Visibility = CInt+#{enum Visibility,+ , visibilityUnobscured = VisibilityUnobscured+ , visibilityPartiallyObscured = VisibilityPartiallyObscured+ , visibilityFullyObscured = VisibilityFullyObscured+ }++-- | Place of window relative to siblings+-- (used in Circulation requests or events)+type Place = CInt+#{enum Place,+ , placeOnTop = PlaceOnTop+ , placeOnBottom = PlaceOnBottom+ }++type Protocol = CInt+#{enum Protocol,+ , familyInternet = FamilyInternet+ , familyDECnet = FamilyDECnet+ , familyChaos = FamilyChaos+ }++type PropertyNotification = CInt+#{enum PropertyNotification,+ , propertyNewValue = PropertyNewValue+ , propertyDelete = PropertyDelete+ }++type ColormapNotification = CInt+#{enum ColormapNotification,+ , colormapUninstalled = ColormapUninstalled+ , colormapInstalled = ColormapInstalled+ }++-- Grab{Pointer,Button,Keyboard,Key} Modes+type GrabMode = CInt+#{enum GrabMode,+ , grabModeSync = GrabModeSync+ , grabModeAsync = GrabModeAsync+ }++-- Grab{Pointer,Keyboard} reply status++type GrabStatus = CInt+#{enum GrabStatus,+ , grabSuccess = GrabSuccess+ , alreadyGrabbed = AlreadyGrabbed+ , grabInvalidTime = GrabInvalidTime+ , grabNotViewable = GrabNotViewable+ , grabFrozen = GrabFrozen+ }++-- AllowEvents modes+type AllowEvents = CInt+#{enum AllowEvents,+ , asyncPointer = AsyncPointer+ , syncPointer = SyncPointer+ , replayPointer = ReplayPointer+ , asyncKeyboard = AsyncKeyboard+ , syncKeyboard = SyncKeyboard+ , replayKeyboard = ReplayKeyboard+ , asyncBoth = AsyncBoth+ , syncBoth = SyncBoth+ }++-- {Set,Get}InputFocus Modes+type FocusMode = CInt+#{enum FocusMode,+ , revertToNone = RevertToNone+ , revertToPointerRoot = RevertToPointerRoot+ , revertToParent = RevertToParent+ }++-- Error codes+type ErrorCode = CInt+#{enum ErrorCode,+ , success = Success+ , badRequest = BadRequest+ , badValue = BadValue+ , badWindow = BadWindow+ , badPixmap = BadPixmap+ , badAtom = BadAtom+ , badCursor = BadCursor+ , badFont = BadFont+ , badMatch = BadMatch+ , badDrawable = BadDrawable+ , badAccess = BadAccess+ , badAlloc = BadAlloc+ , badColor = BadColor+ , badGC = BadGC+ , badIDChoice = BadIDChoice+ , badName = BadName+ , badLength = BadLength+ , badImplementation = BadImplementation+ , firstExtensionError = FirstExtensionError+ , lastExtensionError = LastExtensionError+ }++type Status = CInt++-- |Xlib functions with return values of type @Status@ return zero on+-- failure and nonzero on success.+throwIfZero :: String -> IO Status -> IO ()+throwIfZero fn_name = throwIf_ (== 0) (const ("Error in function " ++ fn_name))++type WindowClass = CInt+#{enum WindowClass,+ , copyFromParent = CopyFromParent+ , inputOutput = InputOutput+ , inputOnly = InputOnly+ }++-- Window attributes mask+type AttributeMask = Mask+#{enum AttributeMask,+ , cWBackPixmap = CWBackPixmap+ , cWBackPixel = CWBackPixel+ , cWBorderPixmap = CWBorderPixmap+ , cWBorderPixel = CWBorderPixel+ , cWBitGravity = CWBitGravity+ , cWWinGravity = CWWinGravity+ , cWBackingStore = CWBackingStore+ , cWBackingPlanes = CWBackingPlanes+ , cWBackingPixel = CWBackingPixel+ , cWOverrideRedirect = CWOverrideRedirect+ , cWSaveUnder = CWSaveUnder+ , cWEventMask = CWEventMask+ , cWDontPropagate = CWDontPropagate+ , cWColormap = CWColormap+ , cWCursor = CWCursor+ }++-- Used in ChangeCloseDownMode+type CloseDownMode = CInt+#{enum CloseDownMode,+ , destroyAll = DestroyAll+ , retainPermanent = RetainPermanent+ , retainTemporary = RetainTemporary+ }++----------------------------------------------------------------+-- CURSOR STUFF+----------------------------------------------------------------++type QueryBestSizeClass = CInt+#{enum QueryBestSizeClass,+ , cursorShape = CursorShape+ , tileShape = TileShape+ , stippleShape = StippleShape+ }++----------------------------------------------------------------+-- GRAPHICS DEFINITIONS+----------------------------------------------------------------++-- graphics functions, as in GC.alu++type GXFunction = CInt+#{enum GXFunction,+ , gXclear = GXclear+ , gXand = GXand+ , gXandReverse = GXandReverse+ , gXcopy = GXcopy+ , gXandInverted = GXandInverted+ , gXnoop = GXnoop+ , gXxor = GXxor+ , gXor = GXor+ , gXnor = GXnor+ , gXequiv = GXequiv+ , gXinvert = GXinvert+ , gXorReverse = GXorReverse+ , gXcopyInverted = GXcopyInverted+ , gXorInverted = GXorInverted+ , gXnand = GXnand+ , gXset = GXset+ }++type LineStyle = CInt+#{enum LineStyle,+ , lineSolid = LineSolid+ , lineOnOffDash = LineOnOffDash+ , lineDoubleDash = LineDoubleDash+ }++type CapStyle = CInt+#{enum CapStyle,+ , capNotLast = CapNotLast+ , capButt = CapButt+ , capRound = CapRound+ , capProjecting = CapProjecting+ }++type JoinStyle = CInt+#{enum JoinStyle,+ , joinMiter = JoinMiter+ , joinRound = JoinRound+ , joinBevel = JoinBevel+ }++type FillStyle = CInt+#{enum FillStyle,+ , fillSolid = FillSolid+ , fillTiled = FillTiled+ , fillStippled = FillStippled+ , fillOpaqueStippled = FillOpaqueStippled+ }++type FillRule = CInt+#{enum FillRule,+ , evenOddRule = EvenOddRule+ , windingRule = WindingRule+ }++type SubWindowMode = CInt+#{enum SubWindowMode,+ , clipByChildren = ClipByChildren+ , includeInferiors = IncludeInferiors+ }++-- -- SetClipRectangles ordering+-- type Ordering = CInt+-- {enum Ordering,+-- , unsorted = Unsorted+-- , ySorted = YSorted+-- , yXSorted = YXSorted+-- , yXBanded = YXBanded+-- }++-- CoordinateMode for drawing routines+type CoordinateMode = CInt+#{enum CoordinateMode,+ , coordModeOrigin = CoordModeOrigin+ , coordModePrevious = CoordModePrevious+ }++type PolygonShape = CInt+#{enum PolygonShape,+ , complex = Complex+ , nonconvex = Nonconvex+ , convex = Convex+ }++-- Arc modes for PolyFillArc+type ArcMode = CInt+#{enum ArcMode,+ , arcChord = ArcChord+ , arcPieSlice = ArcPieSlice+ }++-- GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into+-- GC.stateChanges++type GCMask = CInt+#{enum GCMask,+ , gCFunction = GCFunction+ , gCPlaneMask = GCPlaneMask+ , gCForeground = GCForeground+ , gCBackground = GCBackground+ , gCLineWidth = GCLineWidth+ , gCLineStyle = GCLineStyle+ , gCCapStyle = GCCapStyle+ , gCJoinStyle = GCJoinStyle+ , gCFillStyle = GCFillStyle+ , gCFillRule = GCFillRule+ , gCTile = GCTile+ , gCStipple = GCStipple+ , gCTileStipXOrigin = GCTileStipXOrigin+ , gCTileStipYOrigin = GCTileStipYOrigin+ , gCFont = GCFont+ , gCSubwindowMode = GCSubwindowMode+ , gCGraphicsExposures = GCGraphicsExposures+ , gCClipXOrigin = GCClipXOrigin+ , gCClipYOrigin = GCClipYOrigin+ , gCClipMask = GCClipMask+ , gCDashOffset = GCDashOffset+ , gCDashList = GCDashList+ , gCArcMode = GCArcMode+ , gCLastBit = GCLastBit+ }++type CirculationDirection = CInt+#{enum CirculationDirection,+ , raiseLowest = RaiseLowest+ , lowerHighest = LowerHighest+ }++-- used in imageByteOrder and bitmapBitOrder+type ByteOrder = CInt+#{enum ByteOrder,+ , lSBFirst = LSBFirst+ , mSBFirst = MSBFirst+ }++type ColormapAlloc = CInt+#{enum ColormapAlloc,+ , allocNone = AllocNone+ , allocAll = AllocAll+ }++type MappingRequest = CInt+#{enum MappingRequest,+ , mappingModifier = MappingModifier+ , mappingKeyboard = MappingKeyboard+ , mappingPointer = MappingPointer+ }++type ChangeSaveSetMode = CInt+#{enum ChangeSaveSetMode,+ , setModeInsert = SetModeInsert+ , setModeDelete = SetModeDelete+ }++type BitGravity = CInt+#{enum BitGravity,+ , forgetGravity = ForgetGravity+ , northWestGravity = NorthWestGravity+ , northGravity = NorthGravity+ , northEastGravity = NorthEastGravity+ , westGravity = WestGravity+ , centerGravity = CenterGravity+ , eastGravity = EastGravity+ , southWestGravity = SouthWestGravity+ , southGravity = SouthGravity+ , southEastGravity = SouthEastGravity+ , staticGravity = StaticGravity+ }++-- All the BitGravity's plus ...+type WindowGravity = CInt+#{enum WindowGravity,+ , unmapGravity = UnmapGravity+ }++-- Used in CreateWindow for backing-store hint+type BackingStore = CInt+#{enum BackingStore,+ , notUseful = NotUseful+ , whenMapped = WhenMapped+ , always = Always+ }++#{enum Word8,+ , doRed = DoRed+ , doGreen = DoGreen+ , doBlue = DoBlue+ }++type FontDirection = CInt+#{enum FontDirection,+ , fontLeftToRight = FontLeftToRight+ , fontRightToLeft = FontRightToLeft+ }++type ImageFormat = CInt+#{enum ImageFormat,+ , xyBitmap = XYBitmap+ , xyPixmap = XYPixmap+ , zPixmap = ZPixmap }
Graphics/X11/Xinerama.hsc view
@@ -1,12 +1,27 @@--- | Interface to Xinerama API-module Graphics.X11.Xinerama- (XineramaScreenInfo(..), - xineramaIsActive, - xineramaQueryExtension, - xineramaQueryVersion, +--------------------------------------------------------------------+-- |+-- Module : Graphics.X11.Xinerama+-- Copyright : (c) Haskell.org, 2007+-- License : BSD3+--+-- Maintainer: Don Stewart <dons@galois.com>+-- Stability : provisional+-- Portability: portable+--+--------------------------------------------------------------------+--+-- Interface to Xinerama API+--++module Graphics.X11.Xinerama (+ XineramaScreenInfo(..),+ xineramaIsActive,+ xineramaQueryExtension,+ xineramaQueryVersion, xineramaQueryScreens, compiledWithXinerama,- getScreenInfo) where+ getScreenInfo+ ) where #include <X11_extras_config.h> @@ -17,12 +32,12 @@ import Control.Monad -- | Representation of the XineramaScreenInfo struct-data XineramaScreenInfo = XineramaScreenInfo - { xsi_screen_number :: CInt,- xsi_x_org :: CShort,- xsi_y_org :: CShort,- xsi_width :: CShort,- xsi_height :: CShort }+data XineramaScreenInfo = XineramaScreenInfo+ { xsi_screen_number :: !CInt,+ xsi_x_org :: !CShort,+ xsi_y_org :: !CShort,+ xsi_width :: !CShort,+ xsi_height :: !CShort } deriving (Show) -- | Wrapper around xineramaQueryScreens that fakes a single screen when@@ -40,7 +55,7 @@ , rect_y = fromIntegral $ wa_y wa , rect_width = fromIntegral $ wa_width wa , rect_height = fromIntegral $ wa_height wa }]- where + where xsiToRect xsi = Rectangle { rect_x = fromIntegral $ xsi_x_org xsi , rect_y = fromIntegral $ xsi_y_org xsi@@ -103,15 +118,18 @@ foreign import ccall "XineramaQueryExtension" cXineramaQueryExtension :: Display -> Ptr CInt -> Ptr CInt -> IO Bool+ foreign import ccall "XineramaQueryVersion" cXineramaQueryVersion :: Display -> Ptr CInt -> Ptr CInt -> IO Bool+ foreign import ccall "XineramaQueryScreens" cXineramaQueryScreens :: Display -> Ptr CInt -> IO (Ptr XineramaScreenInfo)+ foreign import ccall "XFree" cXFree :: Ptr a -> IO CInt wrapPtr2 :: (Storable a, Storable b) => (Ptr a -> Ptr b -> IO c) -> (c -> a -> b -> d) -> IO d-wrapPtr2 cfun f = +wrapPtr2 cfun f = withPool $ \pool -> do aptr <- pooledMalloc pool bptr <- pooledMalloc pool ret <- cfun aptr bptr@@ -137,4 +155,5 @@ xineramaQueryScreens :: Display -> IO (Maybe [XineramaScreenInfo]) xineramaQueryScreens _ = return Nothing+ #endif
Graphics/X11/Xlib/Atom.hsc view
@@ -103,10 +103,10 @@ -- | interface to the X11 library function @XInternAtom()@. internAtom :: Display -> String -> Bool -> IO Atom internAtom display atom_name only_if_exists =- withCString atom_name $ \ c_atom_name ->- xInternAtom display c_atom_name only_if_exists+ withCString atom_name $ \ c_atom_name ->+ xInternAtom display c_atom_name only_if_exists foreign import ccall unsafe "XInternAtom"- xInternAtom :: Display -> CString -> Bool -> IO Atom+ xInternAtom :: Display -> CString -> Bool -> IO Atom -- XInternAtoms omitted -- XGetAtomName omitted@@ -117,75 +117,75 @@ -- XDeleteProperty omitted #{enum Atom,- , pRIMARY = XA_PRIMARY- , sECONDARY = XA_SECONDARY- , aRC = XA_ARC- , aTOM = XA_ATOM- , bITMAP = XA_BITMAP- , cARDINAL = XA_CARDINAL- , cOLORMAP = XA_COLORMAP- , cURSOR = XA_CURSOR- , cUT_BUFFER0 = XA_CUT_BUFFER0- , cUT_BUFFER1 = XA_CUT_BUFFER1- , cUT_BUFFER2 = XA_CUT_BUFFER2- , cUT_BUFFER3 = XA_CUT_BUFFER3- , cUT_BUFFER4 = XA_CUT_BUFFER4- , cUT_BUFFER5 = XA_CUT_BUFFER5- , cUT_BUFFER6 = XA_CUT_BUFFER6- , cUT_BUFFER7 = XA_CUT_BUFFER7- , dRAWABLE = XA_DRAWABLE- , fONT = XA_FONT- , iNTEGER = XA_INTEGER- , pIXMAP = XA_PIXMAP- , pOINT = XA_POINT- , rECTANGLE = XA_RECTANGLE- , rESOURCE_MANAGER = XA_RESOURCE_MANAGER- , rGB_COLOR_MAP = XA_RGB_COLOR_MAP- , rGB_BEST_MAP = XA_RGB_BEST_MAP- , rGB_BLUE_MAP = XA_RGB_BLUE_MAP- , rGB_DEFAULT_MAP = XA_RGB_DEFAULT_MAP- , rGB_GRAY_MAP = XA_RGB_GRAY_MAP- , rGB_GREEN_MAP = XA_RGB_GREEN_MAP- , rGB_RED_MAP = XA_RGB_RED_MAP- , sTRING = XA_STRING- , vISUALID = XA_VISUALID- , wINDOW = XA_WINDOW- , wM_COMMAND = XA_WM_COMMAND- , wM_HINTS = XA_WM_HINTS- , wM_CLIENT_MACHINE = XA_WM_CLIENT_MACHINE- , wM_ICON_NAME = XA_WM_ICON_NAME- , wM_ICON_SIZE = XA_WM_ICON_SIZE- , wM_NAME = XA_WM_NAME- , wM_NORMAL_HINTS = XA_WM_NORMAL_HINTS- , wM_SIZE_HINTS = XA_WM_SIZE_HINTS- , wM_ZOOM_HINTS = XA_WM_ZOOM_HINTS- , mIN_SPACE = XA_MIN_SPACE- , nORM_SPACE = XA_NORM_SPACE- , mAX_SPACE = XA_MAX_SPACE- , eND_SPACE = XA_END_SPACE- , sUPERSCRIPT_X = XA_SUPERSCRIPT_X- , sUPERSCRIPT_Y = XA_SUPERSCRIPT_Y- , sUBSCRIPT_X = XA_SUBSCRIPT_X- , sUBSCRIPT_Y = XA_SUBSCRIPT_Y- , uNDERLINE_POSITION = XA_UNDERLINE_POSITION- , uNDERLINE_THICKNESS = XA_UNDERLINE_THICKNESS- , sTRIKEOUT_ASCENT = XA_STRIKEOUT_ASCENT- , sTRIKEOUT_DESCENT = XA_STRIKEOUT_DESCENT- , iTALIC_ANGLE = XA_ITALIC_ANGLE- , x_HEIGHT = XA_X_HEIGHT- , qUAD_WIDTH = XA_QUAD_WIDTH- , wEIGHT = XA_WEIGHT- , pOINT_SIZE = XA_POINT_SIZE- , rESOLUTION = XA_RESOLUTION- , cOPYRIGHT = XA_COPYRIGHT- , nOTICE = XA_NOTICE- , fONT_NAME = XA_FONT_NAME- , fAMILY_NAME = XA_FAMILY_NAME- , fULL_NAME = XA_FULL_NAME- , cAP_HEIGHT = XA_CAP_HEIGHT- , wM_CLASS = XA_WM_CLASS- , wM_TRANSIENT_FOR = XA_WM_TRANSIENT_FOR- , lAST_PREDEFINED = XA_LAST_PREDEFINED+ , pRIMARY = XA_PRIMARY+ , sECONDARY = XA_SECONDARY+ , aRC = XA_ARC+ , aTOM = XA_ATOM+ , bITMAP = XA_BITMAP+ , cARDINAL = XA_CARDINAL+ , cOLORMAP = XA_COLORMAP+ , cURSOR = XA_CURSOR+ , cUT_BUFFER0 = XA_CUT_BUFFER0+ , cUT_BUFFER1 = XA_CUT_BUFFER1+ , cUT_BUFFER2 = XA_CUT_BUFFER2+ , cUT_BUFFER3 = XA_CUT_BUFFER3+ , cUT_BUFFER4 = XA_CUT_BUFFER4+ , cUT_BUFFER5 = XA_CUT_BUFFER5+ , cUT_BUFFER6 = XA_CUT_BUFFER6+ , cUT_BUFFER7 = XA_CUT_BUFFER7+ , dRAWABLE = XA_DRAWABLE+ , fONT = XA_FONT+ , iNTEGER = XA_INTEGER+ , pIXMAP = XA_PIXMAP+ , pOINT = XA_POINT+ , rECTANGLE = XA_RECTANGLE+ , rESOURCE_MANAGER = XA_RESOURCE_MANAGER+ , rGB_COLOR_MAP = XA_RGB_COLOR_MAP+ , rGB_BEST_MAP = XA_RGB_BEST_MAP+ , rGB_BLUE_MAP = XA_RGB_BLUE_MAP+ , rGB_DEFAULT_MAP = XA_RGB_DEFAULT_MAP+ , rGB_GRAY_MAP = XA_RGB_GRAY_MAP+ , rGB_GREEN_MAP = XA_RGB_GREEN_MAP+ , rGB_RED_MAP = XA_RGB_RED_MAP+ , sTRING = XA_STRING+ , vISUALID = XA_VISUALID+ , wINDOW = XA_WINDOW+ , wM_COMMAND = XA_WM_COMMAND+ , wM_HINTS = XA_WM_HINTS+ , wM_CLIENT_MACHINE = XA_WM_CLIENT_MACHINE+ , wM_ICON_NAME = XA_WM_ICON_NAME+ , wM_ICON_SIZE = XA_WM_ICON_SIZE+ , wM_NAME = XA_WM_NAME+ , wM_NORMAL_HINTS = XA_WM_NORMAL_HINTS+ , wM_SIZE_HINTS = XA_WM_SIZE_HINTS+ , wM_ZOOM_HINTS = XA_WM_ZOOM_HINTS+ , mIN_SPACE = XA_MIN_SPACE+ , nORM_SPACE = XA_NORM_SPACE+ , mAX_SPACE = XA_MAX_SPACE+ , eND_SPACE = XA_END_SPACE+ , sUPERSCRIPT_X = XA_SUPERSCRIPT_X+ , sUPERSCRIPT_Y = XA_SUPERSCRIPT_Y+ , sUBSCRIPT_X = XA_SUBSCRIPT_X+ , sUBSCRIPT_Y = XA_SUBSCRIPT_Y+ , uNDERLINE_POSITION = XA_UNDERLINE_POSITION+ , uNDERLINE_THICKNESS = XA_UNDERLINE_THICKNESS+ , sTRIKEOUT_ASCENT = XA_STRIKEOUT_ASCENT+ , sTRIKEOUT_DESCENT = XA_STRIKEOUT_DESCENT+ , iTALIC_ANGLE = XA_ITALIC_ANGLE+ , x_HEIGHT = XA_X_HEIGHT+ , qUAD_WIDTH = XA_QUAD_WIDTH+ , wEIGHT = XA_WEIGHT+ , pOINT_SIZE = XA_POINT_SIZE+ , rESOLUTION = XA_RESOLUTION+ , cOPYRIGHT = XA_COPYRIGHT+ , nOTICE = XA_NOTICE+ , fONT_NAME = XA_FONT_NAME+ , fAMILY_NAME = XA_FAMILY_NAME+ , fULL_NAME = XA_FULL_NAME+ , cAP_HEIGHT = XA_CAP_HEIGHT+ , wM_CLASS = XA_WM_CLASS+ , wM_TRANSIENT_FOR = XA_WM_TRANSIENT_FOR+ , lAST_PREDEFINED = XA_LAST_PREDEFINED } ----------------------------------------------------------------
Graphics/X11/Xlib/Color.hs view
@@ -44,55 +44,59 @@ -- | interface to the X11 library function @XLookupColor()@. lookupColor :: Display -> Colormap -> String -> IO (Color, Color) lookupColor display colormap color_name =- withCString color_name $ \c_color_name ->- alloca $ \ exact_def_return ->- alloca $ \ screen_def_return -> do- throwIfZero "lookupColor" $- xLookupColor display colormap c_color_name- exact_def_return screen_def_return- exact_def <- peek exact_def_return- screen_def <- peek screen_def_return- return (exact_def, screen_def)+ withCString color_name $ \c_color_name ->+ alloca $ \ exact_def_return ->+ alloca $ \ screen_def_return -> do+ throwIfZero "lookupColor" $+ xLookupColor display colormap c_color_name+ exact_def_return screen_def_return+ exact_def <- peek exact_def_return+ screen_def <- peek screen_def_return+ return (exact_def, screen_def)+ foreign import ccall unsafe "HsXlib.h XLookupColor"- xLookupColor :: Display -> Colormap -> CString ->- Ptr Color -> Ptr Color -> IO Status+ xLookupColor :: Display -> Colormap -> CString ->+ Ptr Color -> Ptr Color -> IO Status -- | interface to the X11 library function @XAllocNamedColor()@. allocNamedColor :: Display -> Colormap -> String -> IO (Color, Color) allocNamedColor display colormap color_name =- withCString color_name $ \c_color_name ->- alloca $ \ exact_def_return ->- alloca $ \ screen_def_return -> do- throwIfZero "allocNamedColor" $- xAllocNamedColor display colormap c_color_name- exact_def_return screen_def_return- exact_def <- peek exact_def_return- screen_def <- peek screen_def_return- return (exact_def, screen_def)+ withCString color_name $ \c_color_name ->+ alloca $ \ exact_def_return ->+ alloca $ \ screen_def_return -> do+ throwIfZero "allocNamedColor" $+ xAllocNamedColor display colormap c_color_name+ exact_def_return screen_def_return+ exact_def <- peek exact_def_return+ screen_def <- peek screen_def_return+ return (exact_def, screen_def)+ foreign import ccall unsafe "HsXlib.h XAllocNamedColor"- xAllocNamedColor :: Display -> Colormap -> CString ->- Ptr Color -> Ptr Color -> IO Status+ xAllocNamedColor :: Display -> Colormap -> CString ->+ Ptr Color -> Ptr Color -> IO Status -- | interface to the X11 library function @XAllocColor()@. allocColor :: Display -> Colormap -> Color -> IO Color allocColor display colormap color =- with color $ \ color_ptr -> do- throwIfZero "allocColor" $- xAllocColor display colormap color_ptr- peek color_ptr+ with color $ \ color_ptr -> do+ throwIfZero "allocColor" $+ xAllocColor display colormap color_ptr+ peek color_ptr+ foreign import ccall unsafe "HsXlib.h XAllocColor"- xAllocColor :: Display -> Colormap -> Ptr Color -> IO Status+ xAllocColor :: Display -> Colormap -> Ptr Color -> IO Status -- | interface to the X11 library function @XParseColor()@. parseColor :: Display -> Colormap -> String -> IO Color parseColor display colormap color_spec =- withCString color_spec $ \ spec ->- alloca $ \ exact_def_return -> do- throwIfZero "parseColor" $- xParseColor display colormap spec exact_def_return- peek exact_def_return+ withCString color_spec $ \ spec ->+ alloca $ \ exact_def_return -> do+ throwIfZero "parseColor" $+ xParseColor display colormap spec exact_def_return+ peek exact_def_return+ foreign import ccall unsafe "HsXlib.h XParseColor"- xParseColor :: Display -> Colormap -> CString -> Ptr Color -> IO Status+ xParseColor :: Display -> Colormap -> CString -> Ptr Color -> IO Status -- ToDo: Can't express relationship between arg4 and res1 properly (or arg5, res2) -- %errfun Zero XAllocColorCells :: Display -> Colormap -> Bool -> Int -> Int -> IO (ListPixel, ListPixel) using err = XAllocColorCells(arg1,arg2,arg3,arg4_size,res1,arg5_size,res2)@@ -103,18 +107,20 @@ -- | interface to the X11 library function @XFreeColors()@. freeColors :: Display -> Colormap -> [Pixel] -> Pixel -> IO () freeColors display colormap pixels planes =- withArray pixels $ \ pixel_array ->- xFreeColors display colormap pixel_array (fromIntegral (length pixels)) planes+ withArray pixels $ \ pixel_array ->+ xFreeColors display colormap pixel_array (fromIntegral (length pixels)) planes+ foreign import ccall unsafe "HsXlib.h XFreeColors"- xFreeColors :: Display -> Colormap -> Ptr Pixel -> CInt -> Pixel -> IO ()+ xFreeColors :: Display -> Colormap -> Ptr Pixel -> CInt -> Pixel -> IO () -- | interface to the X11 library function @XStoreColor()@. storeColor :: Display -> Colormap -> Color -> IO () storeColor display colormap color =- with color $ \ color_ptr ->- xStoreColor display colormap color_ptr+ with color $ \ color_ptr ->+ xStoreColor display colormap color_ptr+ foreign import ccall unsafe "HsXlib.h XStoreColor"- xStoreColor :: Display -> Colormap -> Ptr Color -> IO ()+ xStoreColor :: Display -> Colormap -> Ptr Color -> IO () -- %fun XStoreColors :: Display -> Colormap -> ListColor -> IO () -- %code XStoreColors(arg1,arg2,arg3,arg3_size)@@ -123,40 +129,42 @@ -- | interface to the X11 library function @XQueryColor()@. queryColor :: Display -> Colormap -> Color -> IO Color queryColor display colormap color =- with color $ \ color_ptr -> do- xQueryColor display colormap color_ptr- peek color_ptr+ with color $ \ color_ptr -> do+ xQueryColor display colormap color_ptr+ peek color_ptr+ foreign import ccall unsafe "HsXlib.h XQueryColor"- xQueryColor :: Display -> Colormap -> Ptr Color -> IO ()+ xQueryColor :: Display -> Colormap -> Ptr Color -> IO () -- | interface to the X11 library function @XQueryColors()@. queryColors :: Display -> Colormap -> [Color] -> IO [Color] queryColors display colormap colors =- withArrayLen colors $ \ ncolors color_array -> do- xQueryColors display colormap color_array (fromIntegral ncolors)- peekArray ncolors color_array+ withArrayLen colors $ \ ncolors color_array -> do+ xQueryColors display colormap color_array (fromIntegral ncolors)+ peekArray ncolors color_array+ foreign import ccall unsafe "HsXlib.h XQueryColors"- xQueryColors :: Display -> Colormap -> Ptr Color -> CInt -> IO ()+ xQueryColors :: Display -> Colormap -> Ptr Color -> CInt -> IO () -- | interface to the X11 library function @XInstallColormap()@. foreign import ccall unsafe "HsXlib.h XInstallColormap"- installColormap :: Display -> Colormap -> IO ()+ installColormap :: Display -> Colormap -> IO () -- | interface to the X11 library function @XUninstallColormap()@. foreign import ccall unsafe "HsXlib.h XUninstallColormap"- uninstallColormap :: Display -> Colormap -> IO ()+ uninstallColormap :: Display -> Colormap -> IO () -- | interface to the X11 library function @XCopyColormapAndFree()@. foreign import ccall unsafe "HsXlib.h XCopyColormapAndFree"- copyColormapAndFree :: Display -> Colormap -> IO Colormap+ copyColormapAndFree :: Display -> Colormap -> IO Colormap -- | interface to the X11 library function @XCreateColormap()@. foreign import ccall unsafe "HsXlib.h XCreateColormap"- createColormap :: Display -> Window -> Visual -> ColormapAlloc -> IO Colormap+ createColormap :: Display -> Window -> Visual -> ColormapAlloc -> IO Colormap -- | interface to the X11 library function @XFreeColormap()@. foreign import ccall unsafe "HsXlib.h XFreeColormap"- freeColormap :: Display -> Colormap -> IO ()+ freeColormap :: Display -> Colormap -> IO () ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Context.hs view
@@ -56,31 +56,31 @@ -- | interface to the X11 library function @XSetArcMode()@. foreign import ccall unsafe "HsXlib.h XSetArcMode"- setArcMode :: Display -> GC -> ArcMode -> IO ()+ setArcMode :: Display -> GC -> ArcMode -> IO () -- | interface to the X11 library function @XSetBackground()@. foreign import ccall unsafe "HsXlib.h XSetBackground"- setBackground :: Display -> GC -> Pixel -> IO ()+ setBackground :: Display -> GC -> Pixel -> IO () -- | interface to the X11 library function @XSetForeground()@. foreign import ccall unsafe "HsXlib.h XSetForeground"- setForeground :: Display -> GC -> Pixel -> IO ()+ setForeground :: Display -> GC -> Pixel -> IO () -- | interface to the X11 library function @XSetFunction()@. foreign import ccall unsafe "HsXlib.h XSetFunction"- setFunction :: Display -> GC -> GXFunction -> IO ()+ setFunction :: Display -> GC -> GXFunction -> IO () -- | interface to the X11 library function @XSetGraphicsExposures()@. foreign import ccall unsafe "HsXlib.h XSetGraphicsExposures"- setGraphicsExposures :: Display -> GC -> Bool -> IO ()+ setGraphicsExposures :: Display -> GC -> Bool -> IO () -- | interface to the X11 library function @XSetClipMask()@. foreign import ccall unsafe "HsXlib.h XSetClipMask"- setClipMask :: Display -> GC -> Pixmap -> IO ()+ setClipMask :: Display -> GC -> Pixmap -> IO () -- | interface to the X11 library function @XSetClipOrigin()@. foreign import ccall unsafe "HsXlib.h XSetClipOrigin"- setClipOrigin :: Display -> GC -> Position -> Position -> IO ()+ setClipOrigin :: Display -> GC -> Position -> Position -> IO () -- XSetClipRectangles omitted because it's not clear when it's safe to delete the -- array of rectangles@@ -88,59 +88,59 @@ -- | interface to the X11 library function @XSetDashes()@. setDashes :: Display -> GC -> CInt -> String -> CInt -> IO () setDashes display gc dash_offset dashes n =- withCString dashes $ \ dash_list ->- xSetDashes display gc dash_offset dash_list n+ withCString dashes $ \ dash_list ->+ xSetDashes display gc dash_offset dash_list n foreign import ccall unsafe "HsXlib.h XSetDashes"- xSetDashes :: Display -> GC -> CInt -> CString -> CInt -> IO ()+ xSetDashes :: Display -> GC -> CInt -> CString -> CInt -> IO () -- | interface to the X11 library function @XSetFillRule()@. foreign import ccall unsafe "HsXlib.h XSetFillRule"- setFillRule :: Display -> GC -> FillRule -> IO ()+ setFillRule :: Display -> GC -> FillRule -> IO () -- | interface to the X11 library function @XSetFillStyle()@. foreign import ccall unsafe "HsXlib.h XSetFillStyle"- setFillStyle :: Display -> GC -> FillStyle -> IO ()+ setFillStyle :: Display -> GC -> FillStyle -> IO () -- | interface to the X11 library function @XSetFont()@. foreign import ccall unsafe "HsXlib.h XSetFont"- setFont :: Display -> GC -> Font -> IO ()+ setFont :: Display -> GC -> Font -> IO () -- | interface to the X11 library function @XSetLineAttributes()@. foreign import ccall unsafe "HsXlib.h XSetLineAttributes"- setLineAttributes :: Display -> GC -> CInt -> LineStyle ->- CapStyle -> JoinStyle -> IO ()+ setLineAttributes :: Display -> GC -> CInt -> LineStyle ->+ CapStyle -> JoinStyle -> IO () -- | interface to the X11 library function @XSetPlaneMask()@. foreign import ccall unsafe "HsXlib.h XSetPlaneMask"- setPlaneMask :: Display -> GC -> Pixel -> IO ()+ setPlaneMask :: Display -> GC -> Pixel -> IO () -- | interface to the X11 library function @XSetState()@. foreign import ccall unsafe "HsXlib.h XSetState"- setState :: Display -> GC -> Pixel -> Pixel ->- GXFunction -> Pixel -> IO ()+ setState :: Display -> GC -> Pixel -> Pixel ->+ GXFunction -> Pixel -> IO () -- | interface to the X11 library function @XSetStipple()@. foreign import ccall unsafe "HsXlib.h XSetStipple"- setStipple :: Display -> GC -> Pixmap -> IO ()+ setStipple :: Display -> GC -> Pixmap -> IO () -- | interface to the X11 library function @XSetSubwindowMode()@. foreign import ccall unsafe "HsXlib.h XSetSubwindowMode"- setSubwindowMode :: Display -> GC -> SubWindowMode -> IO ()+ setSubwindowMode :: Display -> GC -> SubWindowMode -> IO () -- | interface to the X11 library function @XSetTSOrigin()@. foreign import ccall unsafe "HsXlib.h XSetTSOrigin"- setTSOrigin :: Display -> GC -> Position -> Position -> IO ()+ setTSOrigin :: Display -> GC -> Position -> Position -> IO () -- | interface to the X11 library function @XSetTile()@. foreign import ccall unsafe "HsXlib.h XSetTile"- setTile :: Display -> GC -> Pixmap -> IO ()+ setTile :: Display -> GC -> Pixmap -> IO () -- ToDo: create a real interface to this -- | partial interface to the X11 library function @XCreateGC()@. createGC :: Display -> Drawable -> IO GC createGC display d = xCreateGC display d 0 nullPtr foreign import ccall unsafe "HsXlib.h XCreateGC"- xCreateGC :: Display -> Drawable -> ValueMask -> Ptr GCValues -> IO GC+ xCreateGC :: Display -> Drawable -> ValueMask -> Ptr GCValues -> IO GC type ValueMask = Word32 @@ -151,40 +151,40 @@ -- {% -- typedef unsigned long GCMask; /* cf XtGCMask */ -- typedef struct _gcvalues {--- GCMask mask;--- XGCValues values;+-- GCMask mask;+-- XGCValues values; -- }* GCValueSet; -- %} ----- IMPURE GCValueSet emptyGCValueSet()+-- IMPURE GCValueSet emptyGCValueSet() -- RESULT: (RETVAL = (GCValueSet) malloc(sizeof(struct _gcvalues))) ? RETVAL->mask = 0, RETVAL : RETVAL; -- POST: RETVAL != NULL ----- IMPURE void setGCForeground(colour, set)--- IN Pixel colour--- IN GCValueSet set+-- IMPURE void setGCForeground(colour, set)+-- IN Pixel colour+-- IN GCValueSet set -- RESULT: set->mask |= GCForeground; set->values.foreground = colour ----- IMPURE void setGCBackground(colour, set)--- IN Pixel colour--- IN GCValueSet set+-- IMPURE void setGCBackground(colour, set)+-- IN Pixel colour+-- IN GCValueSet set -- RESULT: set->mask |= GCBackground; set->values.background = colour ----- IMPURE void freeGCValueSet(set)--- IN GCValueSet set+-- IMPURE void freeGCValueSet(set)+-- IN GCValueSet set -- RESULT: free(set) ----- IMPURE GC XCreateGC(display, d, set->mask, &(set->values))+-- IMPURE GC XCreateGC(display, d, set->mask, &(set->values)) -- NAME: xCreateGC--- IN Display* display--- IN Drawable d--- IN GCValueSet set+-- IN Display* display+-- IN Drawable d+-- IN GCValueSet set ----- IMPURE void XChangeGC(display, gc, set->mask, &(set->values))+-- IMPURE void XChangeGC(display, gc, set->mask, &(set->values)) -- NAME: xChangeGC--- IN Display* display--- IN GC gc--- IN GCValueSet set+-- IN Display* display+-- IN GC gc+-- IN GCValueSet set -- -- STARTH -- -- Code that packages GCValueSets up in a clean monoidic way.@@ -220,19 +220,19 @@ -- | interface to the X11 library function @XGContextFromGC()@. foreign import ccall unsafe "HsXlib.h XGContextFromGC"- gContextFromGC :: GC -> GContext+ gContextFromGC :: GC -> GContext -- | interface to the X11 library function @XFreeGC()@. foreign import ccall unsafe "HsXlib.h XFreeGC"- freeGC :: Display -> GC -> IO ()+ freeGC :: Display -> GC -> IO () -- | interface to the X11 library function @XFlushGC()@. foreign import ccall unsafe "HsXlib.h XFlushGC"- flushGC :: Display -> GC -> IO ()+ flushGC :: Display -> GC -> IO () -- | interface to the X11 library function @XCopyGC()@. foreign import ccall unsafe "HsXlib.h XCopyGC"- copyGC :: Display -> GC -> Mask -> GC -> IO ()+ copyGC :: Display -> GC -> Mask -> GC -> IO () ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Display.hs view
@@ -62,15 +62,15 @@ -- | interface to the X11 library function @XAllPlanes()@. foreign import ccall unsafe "HsXlib.h XAllPlanes"- allPlanes_aux :: Pixel+ allPlanes_aux :: Pixel -- | interface to the X11 library function @XBlackPixel()@. foreign import ccall unsafe "HsXlib.h XBlackPixel"- blackPixel :: Display -> ScreenNumber -> Pixel+ blackPixel :: Display -> ScreenNumber -> Pixel -- | interface to the X11 library function @XWhitePixel()@. foreign import ccall unsafe "HsXlib.h XWhitePixel"- whitePixel :: Display -> ScreenNumber -> Pixel+ whitePixel :: Display -> ScreenNumber -> Pixel -- This may vary from one execution to another but I believe it -- is constant during any given execution and so it can be made PURE@@ -82,149 +82,149 @@ -- | interface to the X11 library function @XConnectionNumber()@. foreign import ccall unsafe "HsXlib.h XConnectionNumber"- connectionNumber :: Display -> CInt+ connectionNumber :: Display -> CInt -- | interface to the X11 library function @XDefaultColormap()@. foreign import ccall unsafe "HsXlib.h XDefaultColormap"- defaultColormap :: Display -> ScreenNumber -> Colormap+ defaultColormap :: Display -> ScreenNumber -> Colormap -- XListDepths :: Display -> ScreenNumber -> ListInt using res1 = XListDepths(arg1,arg2,&res1_size) -- | interface to the X11 library function @XDefaultGC()@. foreign import ccall unsafe "HsXlib.h XDefaultGC"- defaultGC :: Display -> ScreenNumber -> GC+ defaultGC :: Display -> ScreenNumber -> GC -- | interface to the X11 library function @XDefaultDepth()@. foreign import ccall unsafe "HsXlib.h XDefaultDepth"- defaultDepth :: Display -> ScreenNumber -> CInt+ defaultDepth :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XDefaultScreen()@. foreign import ccall unsafe "HsXlib.h XDefaultScreen"- defaultScreen :: Display -> ScreenNumber+ defaultScreen :: Display -> ScreenNumber -- | interface to the X11 library function @XDefaultScreenOfDisplay()@. foreign import ccall unsafe "HsXlib.h XDefaultScreenOfDisplay"- defaultScreenOfDisplay :: Display -> Screen+ defaultScreenOfDisplay :: Display -> Screen -- | interface to the X11 library function @XDisplayHeight()@. foreign import ccall unsafe "HsXlib.h XDisplayHeight"- displayHeight :: Display -> ScreenNumber -> CInt+ displayHeight :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XDisplayHeightMM()@. foreign import ccall unsafe "HsXlib.h XDisplayHeightMM"- displayHeightMM :: Display -> ScreenNumber -> CInt+ displayHeightMM :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XDisplayWidth()@. foreign import ccall unsafe "HsXlib.h XDisplayWidth"- displayWidth :: Display -> ScreenNumber -> CInt+ displayWidth :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XDisplayWidthMM()@. foreign import ccall unsafe "HsXlib.h XDisplayWidthMM"- displayWidthMM :: Display -> ScreenNumber -> CInt+ displayWidthMM :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XMaxRequestSize()@. foreign import ccall unsafe "HsXlib.h XMaxRequestSize"- maxRequestSize :: Display -> CInt+ maxRequestSize :: Display -> CInt -- | interface to the X11 library function @XDisplayMotionBufferSize()@. foreign import ccall unsafe "HsXlib.h XDisplayMotionBufferSize"- displayMotionBufferSize :: Display -> CInt---Disnae exist in X11R5 XExtendedMaxRequestSize :: Display -> Int+ displayMotionBufferSize :: Display -> CInt+--Disnae exist in X11R5 XExtendedMaxRequestSize :: Display -> Int -- | interface to the X11 library function @XResourceManagerString()@. resourceManagerString :: Display -> String resourceManagerString display = xlibCString (xResourceManagerString display) foreign import ccall unsafe "HsXlib.h XResourceManagerString"- xResourceManagerString :: Display -> IO CString+ xResourceManagerString :: Display -> IO CString -- | interface to the X11 library function @XScreenResourceString()@. screenResourceString :: Screen -> String screenResourceString screen = xlibCString (xScreenResourceString screen) foreign import ccall unsafe "HsXlib.h XScreenResourceString"- xScreenResourceString :: Screen -> IO CString+ xScreenResourceString :: Screen -> IO CString -- | interface to the X11 library function @XDisplayString()@. displayString :: Display -> String displayString display = xlibCString (xDisplayString display) foreign import ccall unsafe "HsXlib.h XDisplayString"- xDisplayString :: Display -> IO CString+ xDisplayString :: Display -> IO CString -- | interface to the X11 library function @XImageByteOrder()@. foreign import ccall unsafe "HsXlib.h XImageByteOrder"- imageByteOrder :: Display -> CInt+ imageByteOrder :: Display -> CInt -- | interface to the X11 library function @XProtocolRevision()@. foreign import ccall unsafe "HsXlib.h XProtocolRevision"- protocolRevision :: Display -> CInt+ protocolRevision :: Display -> CInt -- | interface to the X11 library function @XProtocolVersion()@. foreign import ccall unsafe "HsXlib.h XProtocolVersion"- protocolVersion :: Display -> CInt+ protocolVersion :: Display -> CInt -- | interface to the X11 library function @XServerVendor()@. serverVendor :: Display -> String serverVendor display = xlibCString (xServerVendor display) foreign import ccall unsafe "HsXlib.h XServerVendor"- xServerVendor :: Display -> IO CString+ xServerVendor :: Display -> IO CString ---Disnae exist: XServerRelease :: Display -> Int+--Disnae exist: XServerRelease :: Display -> Int -- | interface to the X11 library function @XScreenCount()@. foreign import ccall unsafe "HsXlib.h XScreenCount"- screenCount :: Display -> CInt+ screenCount :: Display -> CInt -- | interface to the X11 library function @XDefaultVisual()@. foreign import ccall unsafe "HsXlib.h XDefaultVisual"- defaultVisual :: Display -> ScreenNumber -> Visual+ defaultVisual :: Display -> ScreenNumber -> Visual -- | interface to the X11 library function @XDisplayCells()@. foreign import ccall unsafe "HsXlib.h XDisplayCells"- displayCells :: Display -> ScreenNumber -> CInt+ displayCells :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XDisplayPlanes()@. foreign import ccall unsafe "HsXlib.h XDisplayPlanes"- displayPlanes :: Display -> ScreenNumber -> CInt+ displayPlanes :: Display -> ScreenNumber -> CInt -- | interface to the X11 library function @XScreenOfDisplay()@. foreign import ccall unsafe "HsXlib.h XScreenOfDisplay"- screenOfDisplay :: Display -> ScreenNumber -> Screen+ screenOfDisplay :: Display -> ScreenNumber -> Screen -- | interface to the X11 library function @XDefaultRootWindow()@. foreign import ccall unsafe "HsXlib.h XDefaultRootWindow"- defaultRootWindow :: Display -> Window+ defaultRootWindow :: Display -> Window -- The following are believed to be order dependent -- | interface to the X11 library function @XRootWindow()@. foreign import ccall unsafe "HsXlib.h XRootWindow"- rootWindow :: Display -> ScreenNumber -> IO Window+ rootWindow :: Display -> ScreenNumber -> IO Window -- | interface to the X11 library function @XQLength()@. foreign import ccall unsafe "HsXlib.h XQLength"- qLength :: Display -> IO CInt+ qLength :: Display -> IO CInt -- | interface to the X11 library function @XNoOp()@. foreign import ccall unsafe "HsXlib.h XNoOp"- noOp :: Display -> IO ()+ noOp :: Display -> IO () -- | interface to the X11 library function @XOpenDisplay()@. openDisplay :: String -> IO Display openDisplay name =- withCString name $ \ c_name -> do- display <- throwIfNull "openDisplay" (xOpenDisplay c_name)- return (Display display)+ withCString name $ \ c_name -> do+ display <- throwIfNull "openDisplay" (xOpenDisplay c_name)+ return (Display display) foreign import ccall unsafe "HsXlib.h XOpenDisplay"- xOpenDisplay :: CString -> IO (Ptr Display)+ xOpenDisplay :: CString -> IO (Ptr Display) -- | interface to the X11 library function @XCloseDisplay()@. foreign import ccall unsafe "HsXlib.h XCloseDisplay"- closeDisplay :: Display -> IO ()+ closeDisplay :: Display -> IO () -- | convert a CString owned by Xlib to a Haskell String xlibCString :: IO CString -> String xlibCString act = unsafePerformIO $ do- cs <- act- peekCString cs+ cs <- act+ peekCString cs ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Extras.hsc view
@@ -1,11 +1,10 @@ {-# OPTIONS -fglasgow-exts -fno-warn-name-shadowing #-} ----------------------------------------------------------------------------- -- |--- Module :--- Copyright : (c) Spencer Janssen--- License : BSD3-style (see LICENSE)--- --- Stability : stable+-- Module : Graphics.X11.Xlib.Extras+-- Copyright : 2007 (c) Spencer Janssen+-- License : BSD3-style (see LICENSE)+-- Stability : experimental -- ----------------------------------------------------------------------------- --@@ -1083,30 +1082,30 @@ xFree prop_ptr return $ Just retval -getWindowProperty8 :: Display -> Atom -> Window -> IO (Maybe [Word8])+getWindowProperty8 :: Display -> Atom -> Window -> IO (Maybe [CChar]) getWindowProperty8 = rawGetWindowProperty 8 -getWindowProperty16 :: Display -> Atom -> Window -> IO (Maybe [Word16])+getWindowProperty16 :: Display -> Atom -> Window -> IO (Maybe [CShort]) getWindowProperty16 = rawGetWindowProperty 16 -getWindowProperty32 :: Display -> Atom -> Window -> IO (Maybe [Word32])+getWindowProperty32 :: Display -> Atom -> Window -> IO (Maybe [CLong]) getWindowProperty32 = rawGetWindowProperty 32 -- this assumes bytes are 8 bits. I hope X isn't more portable than that :( -changeProperty8 :: Display -> Window -> Atom -> Atom -> CInt -> [Word8] -> IO ()+changeProperty8 :: Display -> Window -> Atom -> Atom -> CInt -> [CChar] -> IO () changeProperty8 dpy w prop typ mode dat = withArrayLen dat $ \ len ptr -> do xChangeProperty dpy w prop typ 8 mode (castPtr ptr) (fromIntegral len) return () -changeProperty16 :: Display -> Window -> Atom -> Atom -> CInt -> [Word16] -> IO ()+changeProperty16 :: Display -> Window -> Atom -> Atom -> CInt -> [CShort] -> IO () changeProperty16 dpy w prop typ mode dat = withArrayLen dat $ \ len ptr -> do xChangeProperty dpy w prop typ 16 mode (castPtr ptr) (fromIntegral len) return () -changeProperty32 :: Display -> Window -> Atom -> Atom -> CInt -> [Word32] -> IO ()+changeProperty32 :: Display -> Window -> Atom -> Atom -> CInt -> [CLong] -> IO () changeProperty32 dpy w prop typ mode dat = withArrayLen dat $ \ len ptr -> do xChangeProperty dpy w prop typ 32 mode (castPtr ptr) (fromIntegral len)
Graphics/X11/Xlib/Region.hs view
@@ -60,9 +60,9 @@ newtype Region = Region (ForeignPtr Region) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif withRegion :: Region -> (Ptr Region -> IO a) -> IO a@@ -89,8 +89,8 @@ makeRegion :: Ptr Region -> IO Region makeRegion rp = do- r <- newForeignPtr xDestroyRegionPtr rp- return (Region r)+ r <- newForeignPtr xDestroyRegionPtr rp+ return (Region r) -- an empty region -- (often used as "out argument" to binary operators which return regions)@@ -98,19 +98,19 @@ -- | interface to the X11 library function @XCreateRegion()@. createRegion :: IO Region createRegion = do- rp <- xCreateRegion- makeRegion rp+ rp <- xCreateRegion+ makeRegion rp foreign import ccall unsafe "HsXlib.h XCreateRegion" xCreateRegion :: IO (Ptr Region) -- | interface to the X11 library function @XPolygonRegion()@. polygonRegion :: [Point] -> FillRule -> IO Region polygonRegion points fill_rule =- withArrayLen points $ \ n point_arr -> do- rp <- xPolygonRegion point_arr (fromIntegral n) fill_rule- makeRegion rp+ withArrayLen points $ \ n point_arr -> do+ rp <- xPolygonRegion point_arr (fromIntegral n) fill_rule+ makeRegion rp foreign import ccall unsafe "HsXlib.h XPolygonRegion"- xPolygonRegion :: Ptr Point -> CInt -> FillRule -> IO (Ptr Region)+ xPolygonRegion :: Ptr Point -> CInt -> FillRule -> IO (Ptr Region) ---------------------------------------------------------------- -- Combining Regions@@ -125,57 +125,57 @@ -- | interface to the X11 library function @XIntersectRegion()@. intersectRegion :: Region -> Region -> Region -> IO CInt intersectRegion src1 src2 dest =- withRegion src1 $ \ src1_ptr ->- withRegion src2 $ \ src2_ptr ->- withRegion dest $ \ dest_ptr ->- xIntersectRegion src1_ptr src2_ptr dest_ptr+ withRegion src1 $ \ src1_ptr ->+ withRegion src2 $ \ src2_ptr ->+ withRegion dest $ \ dest_ptr ->+ xIntersectRegion src1_ptr src2_ptr dest_ptr foreign import ccall unsafe- "HsXlib.h XIntersectRegion" xIntersectRegion ::- Ptr Region -> Ptr Region -> Ptr Region -> IO CInt+ "HsXlib.h XIntersectRegion" xIntersectRegion ::+ Ptr Region -> Ptr Region -> Ptr Region -> IO CInt -- | interface to the X11 library function @XSubtractRegion()@. subtractRegion :: Region -> Region -> Region -> IO CInt subtractRegion src1 src2 dest =- withRegion src1 $ \ src1_ptr ->- withRegion src2 $ \ src2_ptr ->- withRegion dest $ \ dest_ptr ->- xSubtractRegion src1_ptr src2_ptr dest_ptr+ withRegion src1 $ \ src1_ptr ->+ withRegion src2 $ \ src2_ptr ->+ withRegion dest $ \ dest_ptr ->+ xSubtractRegion src1_ptr src2_ptr dest_ptr foreign import ccall unsafe- "HsXlib.h XSubtractRegion" xSubtractRegion ::- Ptr Region -> Ptr Region -> Ptr Region -> IO CInt+ "HsXlib.h XSubtractRegion" xSubtractRegion ::+ Ptr Region -> Ptr Region -> Ptr Region -> IO CInt -- | interface to the X11 library function @XUnionRectWithRegion()@. unionRectWithRegion :: Rectangle -> Region -> Region -> IO CInt unionRectWithRegion rect src dest =- with rect $ \ rect_ptr ->- withRegion src $ \ src_ptr ->- withRegion dest $ \ dest_ptr ->- xUnionRectWithRegion rect_ptr src_ptr dest_ptr+ with rect $ \ rect_ptr ->+ withRegion src $ \ src_ptr ->+ withRegion dest $ \ dest_ptr ->+ xUnionRectWithRegion rect_ptr src_ptr dest_ptr foreign import ccall unsafe- "HsXlib.h XUnionRectWithRegion" xUnionRectWithRegion ::- Ptr Rectangle -> Ptr Region -> Ptr Region -> IO CInt+ "HsXlib.h XUnionRectWithRegion" xUnionRectWithRegion ::+ Ptr Rectangle -> Ptr Region -> Ptr Region -> IO CInt -- | interface to the X11 library function @XUnionRegion()@. unionRegion :: Region -> Region -> Region -> IO CInt unionRegion src1 src2 dest =- withRegion src1 $ \ src1_ptr ->- withRegion src2 $ \ src2_ptr ->- withRegion dest $ \ dest_ptr ->- xUnionRegion src1_ptr src2_ptr dest_ptr+ withRegion src1 $ \ src1_ptr ->+ withRegion src2 $ \ src2_ptr ->+ withRegion dest $ \ dest_ptr ->+ xUnionRegion src1_ptr src2_ptr dest_ptr foreign import ccall unsafe- "HsXlib.h XUnionRegion" xUnionRegion ::- Ptr Region -> Ptr Region -> Ptr Region -> IO CInt+ "HsXlib.h XUnionRegion" xUnionRegion ::+ Ptr Region -> Ptr Region -> Ptr Region -> IO CInt -- | interface to the X11 library function @XXorRegion()@. xorRegion :: Region -> Region -> Region -> IO CInt xorRegion src1 src2 dest =- withRegion src1 $ \ src1_ptr ->- withRegion src2 $ \ src2_ptr ->- withRegion dest $ \ dest_ptr ->- xXorRegion src1_ptr src2_ptr dest_ptr+ withRegion src1 $ \ src1_ptr ->+ withRegion src2 $ \ src2_ptr ->+ withRegion dest $ \ dest_ptr ->+ xXorRegion src1_ptr src2_ptr dest_ptr foreign import ccall unsafe- "HsXlib.h XXorRegion" xXorRegion ::- Ptr Region -> Ptr Region -> Ptr Region -> IO CInt+ "HsXlib.h XXorRegion" xXorRegion ::+ Ptr Region -> Ptr Region -> Ptr Region -> IO CInt ---------------------------------------------------------------- -- Examining regions (tests, bounding boxes, etc)@@ -185,46 +185,46 @@ emptyRegion :: Region -> IO Bool emptyRegion r = withRegion r xEmptyRegion foreign import ccall unsafe "HsXlib.h XEmptyRegion"- xEmptyRegion :: Ptr Region -> IO Bool+ xEmptyRegion :: Ptr Region -> IO Bool -- | interface to the X11 library function @XEqualRegion()@. equalRegion :: Region -> Region -> IO Bool equalRegion r1 r2 =- withRegion r1 $ \ rp1 ->- withRegion r2 $ \ rp2 ->- xEqualRegion rp1 rp2+ withRegion r1 $ \ rp1 ->+ withRegion r2 $ \ rp2 ->+ xEqualRegion rp1 rp2 foreign import ccall unsafe "HsXlib.h XEqualRegion"- xEqualRegion :: Ptr Region -> Ptr Region -> IO Bool+ xEqualRegion :: Ptr Region -> Ptr Region -> IO Bool -- | interface to the X11 library function @XPointInRegion()@. pointInRegion :: Region -> Point -> IO Bool pointInRegion r (Point x y) =- withRegion r $ \ rp ->- xPointInRegion rp x y+ withRegion r $ \ rp ->+ xPointInRegion rp x y foreign import ccall unsafe "HsXlib.h XPointInRegion"- xPointInRegion :: Ptr Region -> Position -> Position -> IO Bool+ xPointInRegion :: Ptr Region -> Position -> Position -> IO Bool -- | interface to the X11 library function @XRectInRegion()@. rectInRegion :: Region -> Rectangle -> IO RectInRegionResult rectInRegion r (Rectangle x y w h) =- withRegion r $ \ rp ->- xRectInRegion rp x y w h+ withRegion r $ \ rp ->+ xRectInRegion rp x y w h foreign import ccall unsafe "HsXlib.h XRectInRegion"- xRectInRegion :: Ptr Region -> Position -> Position ->- Dimension -> Dimension -> IO RectInRegionResult+ xRectInRegion :: Ptr Region -> Position -> Position ->+ Dimension -> Dimension -> IO RectInRegionResult -- I have no idea what the int is for -- | interface to the X11 library function @XClipBox()@. clipBox :: Region -> IO (Rectangle,CInt) clipBox r =- withRegion r $ \ rp ->- alloca $ \ rect_ptr -> do- res <- xClipBox rp rect_ptr- rect <- peek rect_ptr- return (rect, res)+ withRegion r $ \ rp ->+ alloca $ \ rect_ptr -> do+ res <- xClipBox rp rect_ptr+ rect <- peek rect_ptr+ return (rect, res) foreign import ccall unsafe "HsXlib.h XClipBox"- xClipBox :: Ptr Region -> Ptr Rectangle -> IO CInt+ xClipBox :: Ptr Region -> Ptr Rectangle -> IO CInt ---------------------------------------------------------------- -- Modifying regions@@ -237,10 +237,10 @@ -- | interface to the X11 library function @XOffsetRegion()@. offsetRegion :: Region -> Point -> IO CInt offsetRegion r (Point x y) =- withRegion r $ \ rp ->- xOffsetRegion rp x y+ withRegion r $ \ rp ->+ xOffsetRegion rp x y foreign import ccall unsafe "HsXlib.h XOffsetRegion"- xOffsetRegion :: Ptr Region -> Position -> Position -> IO CInt+ xOffsetRegion :: Ptr Region -> Position -> Position -> IO CInt -- increase size of region by +ve or -ve number of pixels -- while preserving the centre of the region (ie half the pixels@@ -249,10 +249,10 @@ -- | interface to the X11 library function @XShrinkRegion()@. shrinkRegion :: Region -> Point -> IO CInt shrinkRegion r (Point x y) =- withRegion r $ \ rp ->- xShrinkRegion rp x y+ withRegion r $ \ rp ->+ xShrinkRegion rp x y foreign import ccall unsafe "HsXlib.h XShrinkRegion"- xShrinkRegion :: Ptr Region -> Position -> Position -> IO CInt+ xShrinkRegion :: Ptr Region -> Position -> Position -> IO CInt ---------------------------------------------------------------- -- Graphics Context@@ -263,10 +263,10 @@ -- | interface to the X11 library function @XSetRegion()@. setRegion :: Display -> GC -> Region -> IO CInt setRegion disp gc r =- withRegion r $ \ rp ->- xSetRegion disp gc rp+ withRegion r $ \ rp ->+ xSetRegion disp gc rp foreign import ccall unsafe "HsXlib.h XSetRegion"- xSetRegion :: Display -> GC -> Ptr Region -> IO CInt+ xSetRegion :: Display -> GC -> Ptr Region -> IO CInt ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Screen.hs view
@@ -49,84 +49,84 @@ -- | interface to the X11 library function @XBlackPixelOfScreen()@. foreign import ccall unsafe "HsXlib.h XBlackPixelOfScreen"- blackPixelOfScreen :: Screen -> Pixel+ blackPixelOfScreen :: Screen -> Pixel -- | interface to the X11 library function @XWhitePixelOfScreen()@. foreign import ccall unsafe "HsXlib.h XWhitePixelOfScreen"- whitePixelOfScreen :: Screen -> Pixel+ whitePixelOfScreen :: Screen -> Pixel -- | interface to the X11 library function @XCellsOfScreen()@. foreign import ccall unsafe "HsXlib.h XCellsOfScreen"- cellsOfScreen :: Screen -> CInt+ cellsOfScreen :: Screen -> CInt -- | interface to the X11 library function @XDefaultColormapOfScreen()@. foreign import ccall unsafe "HsXlib.h XDefaultColormapOfScreen"- defaultColormapOfScreen :: Screen -> Colormap+ defaultColormapOfScreen :: Screen -> Colormap -- | interface to the X11 library function @XDefaultDepthOfScreen()@. foreign import ccall unsafe "HsXlib.h XDefaultDepthOfScreen"- defaultDepthOfScreen :: Screen -> CInt+ defaultDepthOfScreen :: Screen -> CInt -- | interface to the X11 library function @XDefaultGCOfScreen()@. foreign import ccall unsafe "HsXlib.h XDefaultGCOfScreen"- defaultGCOfScreen :: Screen -> GC+ defaultGCOfScreen :: Screen -> GC -- | interface to the X11 library function @XDefaultVisualOfScreen()@. foreign import ccall unsafe "HsXlib.h XDefaultVisualOfScreen"- defaultVisualOfScreen :: Screen -> Visual+ defaultVisualOfScreen :: Screen -> Visual -- | interface to the X11 library function @XDoesBackingStore()@. foreign import ccall unsafe "HsXlib.h XDoesBackingStore"- doesBackingStore :: Screen -> Bool+ doesBackingStore :: Screen -> Bool -- | interface to the X11 library function @XDoesSaveUnders()@. foreign import ccall unsafe "HsXlib.h XDoesSaveUnders"- doesSaveUnders :: Screen -> Bool+ doesSaveUnders :: Screen -> Bool -- | interface to the X11 library function @XDisplayOfScreen()@. foreign import ccall unsafe "HsXlib.h XDisplayOfScreen"- displayOfScreen :: Screen -> Display+ displayOfScreen :: Screen -> Display -- | interface to the X11 library function @XEventMaskOfScreen()@. -- Event mask at connection setup time - not current event mask! foreign import ccall unsafe "HsXlib.h XEventMaskOfScreen"- eventMaskOfScreen :: Screen -> EventMask+ eventMaskOfScreen :: Screen -> EventMask -- | interface to the X11 library function @XMinCmapsOfScreen()@. foreign import ccall unsafe "HsXlib.h XMinCmapsOfScreen"- minCmapsOfScreen :: Screen -> CInt+ minCmapsOfScreen :: Screen -> CInt -- | interface to the X11 library function @XMaxCmapsOfScreen()@. foreign import ccall unsafe "HsXlib.h XMaxCmapsOfScreen"- maxCmapsOfScreen :: Screen -> CInt+ maxCmapsOfScreen :: Screen -> CInt -- | interface to the X11 library function @XRootWindowOfScreen()@. foreign import ccall unsafe "HsXlib.h XRootWindowOfScreen"- rootWindowOfScreen :: Screen -> Window+ rootWindowOfScreen :: Screen -> Window -- | interface to the X11 library function @XWidthOfScreen()@. foreign import ccall unsafe "HsXlib.h XWidthOfScreen"- widthOfScreen :: Screen -> Dimension+ widthOfScreen :: Screen -> Dimension -- | interface to the X11 library function @XWidthMMOfScreen()@. foreign import ccall unsafe "HsXlib.h XWidthMMOfScreen"- widthMMOfScreen :: Screen -> Dimension+ widthMMOfScreen :: Screen -> Dimension -- | interface to the X11 library function @XHeightOfScreen()@. foreign import ccall unsafe "HsXlib.h XHeightOfScreen"- heightOfScreen :: Screen -> Dimension+ heightOfScreen :: Screen -> Dimension -- | interface to the X11 library function @XHeightMMOfScreen()@. foreign import ccall unsafe "HsXlib.h XHeightMMOfScreen"- heightMMOfScreen :: Screen -> Dimension+ heightMMOfScreen :: Screen -> Dimension -- | interface to the X11 library function @XPlanesOfScreen()@. foreign import ccall unsafe "HsXlib.h XPlanesOfScreen"- planesOfScreen :: Screen -> CInt+ planesOfScreen :: Screen -> CInt -- | interface to the X11 library function @XScreenNumberOfScreen()@. foreign import ccall unsafe "HsXlib.h XScreenNumberOfScreen"- screenNumberOfScreen :: Screen -> ScreenNumber+ screenNumberOfScreen :: Screen -> ScreenNumber ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Types.hsc view
@@ -15,9 +15,9 @@ -- #hide module Graphics.X11.Xlib.Types(- Display(..), Screen, Visual, GC, GCValues, SetWindowAttributes,- Image(..), Point(..), Rectangle(..), Arc(..), Segment(..), Color(..),- Pixel, Position, Dimension, Angle, ScreenNumber, Buffer+ Display(..), Screen, Visual, GC, GCValues, SetWindowAttributes,+ Image(..), Point(..), Rectangle(..), Arc(..), Segment(..), Color(..),+ Pixel, Position, Dimension, Angle, ScreenNumber, Buffer ) where -- import Control.Monad( zipWithM_ )@@ -41,57 +41,57 @@ -- | pointer to an X11 @Display@ structure newtype Display = Display (Ptr Display) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @Screen@ structure newtype Screen = Screen (Ptr Screen) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @Visual@ structure newtype Visual = Visual (Ptr Visual) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @GC@ structure newtype GC = GC (Ptr GC) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @XGCValues@ structure newtype GCValues = GCValues (Ptr GCValues) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @XSetWindowAttributes@ structure newtype SetWindowAttributes = SetWindowAttributes (Ptr SetWindowAttributes) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif -- | pointer to an X11 @XImage@ structure newtype Image = Image (Ptr Image) #if __GLASGOW_HASKELL__- deriving (Eq, Ord, Show, Typeable, Data)+ deriving (Eq, Ord, Show, Typeable, Data) #else- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) #endif type Pixel = #{type unsigned long}@@ -111,30 +111,30 @@ peekPositionField :: Ptr a -> CInt -> IO Position peekPositionField ptr off = do- v <- peekByteOff ptr (fromIntegral off)- return (fromIntegral (v::ShortPosition))+ v <- peekByteOff ptr (fromIntegral off)+ return (fromIntegral (v::ShortPosition)) peekDimensionField :: Ptr a -> CInt -> IO Dimension peekDimensionField ptr off = do- v <- peekByteOff ptr (fromIntegral off)- return (fromIntegral (v::ShortDimension))+ v <- peekByteOff ptr (fromIntegral off)+ return (fromIntegral (v::ShortDimension)) peekAngleField :: Ptr a -> CInt -> IO Angle peekAngleField ptr off = do- v <- peekByteOff ptr (fromIntegral off)- return (fromIntegral (v::ShortAngle))+ v <- peekByteOff ptr (fromIntegral off)+ return (fromIntegral (v::ShortAngle)) pokePositionField :: Ptr a -> CInt -> Position -> IO () pokePositionField ptr off v =- pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortPosition)+ pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortPosition) pokeDimensionField :: Ptr a -> CInt -> Dimension -> IO () pokeDimensionField ptr off v =- pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortDimension)+ pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortDimension) pokeAngleField :: Ptr a -> CInt -> Angle -> IO () pokeAngleField ptr off v =- pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortAngle)+ pokeByteOff ptr (fromIntegral off) (fromIntegral v::ShortAngle) ---------------------------------------------------------------- -- Point@@ -143,21 +143,21 @@ -- | counterpart of an X11 @XPoint@ structure data Point = Point { pt_x :: !Position, pt_y :: !Position } #if __GLASGOW_HASKELL__- deriving (Eq, Show, Typeable, Data)+ deriving (Eq, Show, Typeable, Data) #else- deriving (Eq, Show)+ deriving (Eq, Show) #endif instance Storable Point where- sizeOf _ = #{size XPoint}- alignment _ = alignment (undefined::CInt)- peek p = do- x <- peekPositionField p #{offset XPoint,x}- y <- peekPositionField p #{offset XPoint,y}- return (Point x y)- poke p (Point x y) = do- pokePositionField p #{offset XPoint,x} x- pokePositionField p #{offset XPoint,y} y+ sizeOf _ = #{size XPoint}+ alignment _ = alignment (undefined::CInt)+ peek p = do+ x <- peekPositionField p #{offset XPoint,x}+ y <- peekPositionField p #{offset XPoint,y}+ return (Point x y)+ poke p (Point x y) = do+ pokePositionField p #{offset XPoint,x} x+ pokePositionField p #{offset XPoint,y} y ---------------------------------------------------------------- -- Rectangle@@ -165,31 +165,31 @@ -- | counterpart of an X11 @XRectangle@ structure data Rectangle = Rectangle {- rect_x :: !Position,- rect_y :: !Position,- rect_width :: !Dimension,- rect_height :: !Dimension- }+ rect_x :: !Position,+ rect_y :: !Position,+ rect_width :: !Dimension,+ rect_height :: !Dimension+ } #if __GLASGOW_HASKELL__- deriving (Eq, Show, Typeable, Data)+ deriving (Eq, Show, Typeable, Data) #else- deriving (Eq, Show)+ deriving (Eq, Show) #endif instance Storable Rectangle where- sizeOf _ = #{size XRectangle}- alignment _ = alignment (undefined::CInt)- peek p = do- x <- peekPositionField p #{offset XRectangle,x}- y <- peekPositionField p #{offset XRectangle,y}- width <- peekDimensionField p #{offset XRectangle,width}- height <- peekDimensionField p #{offset XRectangle,height}- return (Rectangle x y width height)- poke p (Rectangle x y width height) = do- pokePositionField p #{offset XRectangle,x} x- pokePositionField p #{offset XRectangle,y} y- pokeDimensionField p #{offset XRectangle,width} width- pokeDimensionField p #{offset XRectangle,height} height+ sizeOf _ = #{size XRectangle}+ alignment _ = alignment (undefined::CInt)+ peek p = do+ x <- peekPositionField p #{offset XRectangle,x}+ y <- peekPositionField p #{offset XRectangle,y}+ width <- peekDimensionField p #{offset XRectangle,width}+ height <- peekDimensionField p #{offset XRectangle,height}+ return (Rectangle x y width height)+ poke p (Rectangle x y width height) = do+ pokePositionField p #{offset XRectangle,x} x+ pokePositionField p #{offset XRectangle,y} y+ pokeDimensionField p #{offset XRectangle,width} width+ pokeDimensionField p #{offset XRectangle,height} height ---------------------------------------------------------------- -- Arc@@ -197,37 +197,37 @@ -- | counterpart of an X11 @XArc@ structure data Arc = Arc {- arc_x :: Position,- arc_y :: Position,- arc_width :: Dimension,- arc_height :: Dimension,- arc_angle1 :: Angle,- arc_angle2 :: Angle- }+ arc_x :: Position,+ arc_y :: Position,+ arc_width :: Dimension,+ arc_height :: Dimension,+ arc_angle1 :: Angle,+ arc_angle2 :: Angle+ } #if __GLASGOW_HASKELL__- deriving (Eq, Show, Typeable)+ deriving (Eq, Show, Typeable) #else- deriving (Eq, Show)+ deriving (Eq, Show) #endif instance Storable Arc where- sizeOf _ = #{size XArc}- alignment _ = alignment (undefined::CInt)- peek p = do- x <- peekPositionField p #{offset XArc,x}- y <- peekPositionField p #{offset XArc,y}- width <- peekDimensionField p #{offset XArc,width}- height <- peekDimensionField p #{offset XArc,height}- angle1 <- peekAngleField p #{offset XArc,angle1}- angle2 <- peekAngleField p #{offset XArc,angle2}- return (Arc x y width height angle1 angle2)- poke p (Arc x y width height angle1 angle2) = do- pokePositionField p #{offset XArc,x} x- pokePositionField p #{offset XArc,y} y- pokeDimensionField p #{offset XArc,width} width- pokeDimensionField p #{offset XArc,height} height- pokeAngleField p #{offset XArc,angle1} angle1- pokeAngleField p #{offset XArc,angle2} angle2+ sizeOf _ = #{size XArc}+ alignment _ = alignment (undefined::CInt)+ peek p = do+ x <- peekPositionField p #{offset XArc,x}+ y <- peekPositionField p #{offset XArc,y}+ width <- peekDimensionField p #{offset XArc,width}+ height <- peekDimensionField p #{offset XArc,height}+ angle1 <- peekAngleField p #{offset XArc,angle1}+ angle2 <- peekAngleField p #{offset XArc,angle2}+ return (Arc x y width height angle1 angle2)+ poke p (Arc x y width height angle1 angle2) = do+ pokePositionField p #{offset XArc,x} x+ pokePositionField p #{offset XArc,y} y+ pokeDimensionField p #{offset XArc,width} width+ pokeDimensionField p #{offset XArc,height} height+ pokeAngleField p #{offset XArc,angle1} angle1+ pokeAngleField p #{offset XArc,angle2} angle2 ---------------------------------------------------------------- -- Segment@@ -235,31 +235,31 @@ -- | counterpart of an X11 @XSegment@ structure data Segment = Segment {- seg_x1 :: Position,- seg_y1 :: Position,- seg_x2 :: Position,- seg_y2 :: Position- }+ seg_x1 :: Position,+ seg_y1 :: Position,+ seg_x2 :: Position,+ seg_y2 :: Position+ } #if __GLASGOW_HASKELL__- deriving (Eq, Show, Typeable, Data)+ deriving (Eq, Show, Typeable, Data) #else- deriving (Eq, Show)+ deriving (Eq, Show) #endif instance Storable Segment where- sizeOf _ = #{size XSegment}- alignment _ = alignment (undefined::CInt)- peek p = do- x1 <- peekPositionField p #{offset XSegment,x1}- y1 <- peekPositionField p #{offset XSegment,y1}- x2 <- peekPositionField p #{offset XSegment,x2}- y2 <- peekPositionField p #{offset XSegment,y2}- return (Segment x1 y1 x2 y2)- poke p (Segment x1 y1 x2 y2) = do- pokePositionField p #{offset XSegment,x1} x1- pokePositionField p #{offset XSegment,y1} y1- pokePositionField p #{offset XSegment,x2} x2- pokePositionField p #{offset XSegment,y2} y2+ sizeOf _ = #{size XSegment}+ alignment _ = alignment (undefined::CInt)+ peek p = do+ x1 <- peekPositionField p #{offset XSegment,x1}+ y1 <- peekPositionField p #{offset XSegment,y1}+ x2 <- peekPositionField p #{offset XSegment,x2}+ y2 <- peekPositionField p #{offset XSegment,y2}+ return (Segment x1 y1 x2 y2)+ poke p (Segment x1 y1 x2 y2) = do+ pokePositionField p #{offset XSegment,x1} x1+ pokePositionField p #{offset XSegment,y1} y1+ pokePositionField p #{offset XSegment,x2} x2+ pokePositionField p #{offset XSegment,y2} y2 ---------------------------------------------------------------- -- Color@@ -267,34 +267,34 @@ -- | counterpart of an X11 @XColor@ structure data Color = Color {- color_pixel :: Pixel,- color_red :: Word16,- color_green :: Word16,- color_blue :: Word16,- color_flags :: Word8- }+ color_pixel :: Pixel,+ color_red :: Word16,+ color_green :: Word16,+ color_blue :: Word16,+ color_flags :: Word8+ } #if __GLASGOW_HASKELL__- deriving (Eq, Show, Typeable, Data)+ deriving (Eq, Show, Typeable, Data) #else- deriving (Eq, Show)+ deriving (Eq, Show) #endif instance Storable Color where- sizeOf _ = #{size XColor}- alignment _ = alignment (undefined::CInt)- peek p = do- pixel <- #{peek XColor,pixel} p- red <- #{peek XColor,red} p- green <- #{peek XColor,green} p- blue <- #{peek XColor,blue} p- flags <- #{peek XColor,flags} p- return (Color pixel red green blue flags)- poke p (Color pixel red green blue flags) = do- #{poke XColor,pixel} p pixel- #{poke XColor,red} p red- #{poke XColor,green} p green- #{poke XColor,blue} p blue- #{poke XColor,flags} p flags+ sizeOf _ = #{size XColor}+ alignment _ = alignment (undefined::CInt)+ peek p = do+ pixel <- #{peek XColor,pixel} p+ red <- #{peek XColor,red} p+ green <- #{peek XColor,green} p+ blue <- #{peek XColor,blue} p+ flags <- #{peek XColor,flags} p+ return (Color pixel red green blue flags)+ poke p (Color pixel red green blue flags) = do+ #{poke XColor,pixel} p pixel+ #{poke XColor,red} p red+ #{poke XColor,green} p green+ #{poke XColor,blue} p blue+ #{poke XColor,flags} p flags ---------------------------------------------------------------- -- End
Graphics/X11/Xlib/Window.hs view
@@ -62,21 +62,21 @@ -- | interface to the X11 library function @XStoreName()@. storeName :: Display -> Window -> String -> IO () storeName display window name =- withCString name $ \ c_name ->- xStoreName display window c_name+ withCString name $ \ c_name ->+ xStoreName display window c_name foreign import ccall unsafe "HsXlib.h XStoreName"- xStoreName :: Display -> Window -> CString -> IO ()+ xStoreName :: Display -> Window -> CString -> IO () -- | interface to the X11 library function @XCreateSimpleWindow()@. foreign import ccall unsafe "HsXlib.h XCreateSimpleWindow"- createSimpleWindow :: Display -> Window -> Position -> Position ->- Dimension -> Dimension -> CInt -> Pixel -> Pixel -> IO Window+ createSimpleWindow :: Display -> Window -> Position -> Position ->+ Dimension -> Dimension -> CInt -> Pixel -> Pixel -> IO Window -- | interface to the X11 library function @XCreateWindow()@. foreign import ccall unsafe "HsXlib.h XCreateWindow"- createWindow :: Display -> Window -> Position -> Position ->- Dimension -> Dimension -> CInt -> CInt -> WindowClass ->- Visual -> AttributeMask -> Ptr SetWindowAttributes -> IO Window+ createWindow :: Display -> Window -> Position -> Position ->+ Dimension -> Dimension -> CInt -> CInt -> WindowClass ->+ Visual -> AttributeMask -> Ptr SetWindowAttributes -> IO Window ---------------------------------------------------------------- @@ -84,140 +84,140 @@ -- | interface to the X11 library function @XTranslateCoordinates()@. translateCoordinates :: Display -> Window -> Window -> Position -> Position ->- IO (Bool,Position,Position,Window)+ IO (Bool,Position,Position,Window) translateCoordinates display src_w dest_w src_x src_y =- alloca $ \ dest_x_return ->- alloca $ \ dest_y_return ->- alloca $ \ child_return -> do- res <- xTranslateCoordinates display src_w dest_w src_x src_y- dest_x_return dest_y_return child_return- dest_x <- peek dest_x_return- dest_y <- peek dest_y_return- child <- peek child_return- return (res, dest_x, dest_y, child)+ alloca $ \ dest_x_return ->+ alloca $ \ dest_y_return ->+ alloca $ \ child_return -> do+ res <- xTranslateCoordinates display src_w dest_w src_x src_y+ dest_x_return dest_y_return child_return+ dest_x <- peek dest_x_return+ dest_y <- peek dest_y_return+ child <- peek child_return+ return (res, dest_x, dest_y, child) foreign import ccall unsafe "HsXlib.h XTranslateCoordinates"- xTranslateCoordinates :: Display -> Window -> Window ->- Position -> Position ->- Ptr Position -> Ptr Position -> Ptr Window -> IO Bool+ xTranslateCoordinates :: Display -> Window -> Window ->+ Position -> Position ->+ Ptr Position -> Ptr Position -> Ptr Window -> IO Bool -- | interface to the X11 library function @XMoveResizeWindow()@. foreign import ccall unsafe "HsXlib.h XMoveResizeWindow"- moveResizeWindow :: Display -> Window -> Position -> Position -> Dimension -> Dimension -> IO ()+ moveResizeWindow :: Display -> Window -> Position -> Position -> Dimension -> Dimension -> IO () -- | interface to the X11 library function @XResizeWindow()@. foreign import ccall unsafe "HsXlib.h XResizeWindow"- resizeWindow :: Display -> Window -> Dimension -> Dimension -> IO ()+ resizeWindow :: Display -> Window -> Dimension -> Dimension -> IO () -- | interface to the X11 library function @XMoveWindow()@. foreign import ccall unsafe "HsXlib.h XMoveWindow"- moveWindow :: Display -> Window -> Position -> Position -> IO ()+ moveWindow :: Display -> Window -> Position -> Position -> IO () -- | interface to the X11 library function @XReparentWindow()@. foreign import ccall unsafe "HsXlib.h XReparentWindow"- reparentWindow :: Display -> Window -> Window -> Position -> Position -> IO ()+ reparentWindow :: Display -> Window -> Window -> Position -> Position -> IO () -- | interface to the X11 library function @XMapSubwindows()@. foreign import ccall unsafe "HsXlib.h XMapSubwindows"- mapSubwindows :: Display -> Window -> IO ()+ mapSubwindows :: Display -> Window -> IO () -- | interface to the X11 library function @XUnmapSubwindows()@. foreign import ccall unsafe "HsXlib.h XUnmapSubwindows"- unmapSubwindows :: Display -> Window -> IO ()+ unmapSubwindows :: Display -> Window -> IO () -- | interface to the X11 library function @XMapWindow()@. foreign import ccall unsafe "HsXlib.h XMapWindow"- mapWindow :: Display -> Window -> IO ()+ mapWindow :: Display -> Window -> IO () -- Disnae exist: %fun XUnmapWindows :: Display -> Window -> IO () -- Disnae exist: %fun XMapRaisedWindow :: Display -> Window -> IO () -- | interface to the X11 library function @XLowerWindow()@. foreign import ccall unsafe "HsXlib.h XLowerWindow"- lowerWindow :: Display -> Window -> IO ()+ lowerWindow :: Display -> Window -> IO () -- | interface to the X11 library function @XRaiseWindow()@. foreign import ccall unsafe "HsXlib.h XRaiseWindow"- raiseWindow :: Display -> Window -> IO ()+ raiseWindow :: Display -> Window -> IO () -- | interface to the X11 library function @XCirculateSubwindowsDown()@. foreign import ccall unsafe "HsXlib.h XCirculateSubwindowsDown"- circulateSubwindowsDown :: Display -> Window -> IO ()+ circulateSubwindowsDown :: Display -> Window -> IO () -- | interface to the X11 library function @XCirculateSubwindowsUp()@. foreign import ccall unsafe "HsXlib.h XCirculateSubwindowsUp"- circulateSubwindowsUp :: Display -> Window -> IO ()+ circulateSubwindowsUp :: Display -> Window -> IO () -- | interface to the X11 library function @XCirculateSubwindows()@. foreign import ccall unsafe "HsXlib.h XCirculateSubwindows"- circulateSubwindows :: Display -> Window -> CirculationDirection -> IO ()+ circulateSubwindows :: Display -> Window -> CirculationDirection -> IO () -- | interface to the X11 library function @XIconifyWindow()@. iconifyWindow :: Display -> Window -> ScreenNumber -> IO () iconifyWindow display window screenno =- throwIfZero "iconifyWindow"- (xIconifyWindow display window screenno)+ throwIfZero "iconifyWindow"+ (xIconifyWindow display window screenno) foreign import ccall unsafe "HsXlib.h XIconifyWindow"- xIconifyWindow :: Display -> Window -> ScreenNumber -> IO Status+ xIconifyWindow :: Display -> Window -> ScreenNumber -> IO Status -- | interface to the X11 library function @XWithdrawWindow()@. withdrawWindow :: Display -> Window -> ScreenNumber -> IO () withdrawWindow display window screenno =- throwIfZero "withdrawWindow"- (xWithdrawWindow display window screenno)+ throwIfZero "withdrawWindow"+ (xWithdrawWindow display window screenno) foreign import ccall unsafe "HsXlib.h XWithdrawWindow"- xWithdrawWindow :: Display -> Window -> ScreenNumber -> IO Status+ xWithdrawWindow :: Display -> Window -> ScreenNumber -> IO Status -- | interface to the X11 library function @XDestroyWindow()@. foreign import ccall unsafe "HsXlib.h XDestroyWindow"- destroyWindow :: Display -> Window -> IO ()+ destroyWindow :: Display -> Window -> IO () -- | interface to the X11 library function @XDestroySubwindows()@. foreign import ccall unsafe "HsXlib.h XDestroySubwindows"- destroySubwindows :: Display -> Window -> IO ()+ destroySubwindows :: Display -> Window -> IO () -- | interface to the X11 library function @XSetWindowBorder()@. foreign import ccall unsafe "HsXlib.h XSetWindowBorder"- setWindowBorder :: Display -> Window -> Pixel -> IO ()+ setWindowBorder :: Display -> Window -> Pixel -> IO () -- | interface to the X11 library function @XSetWindowBorderPixmap()@. foreign import ccall unsafe "HsXlib.h XSetWindowBorderPixmap"- setWindowBorderPixmap :: Display -> Window -> Pixmap -> IO ()+ setWindowBorderPixmap :: Display -> Window -> Pixmap -> IO () -- | interface to the X11 library function @XSetWindowBorderWidth()@. foreign import ccall unsafe "HsXlib.h XSetWindowBorderWidth"- setWindowBorderWidth :: Display -> Window -> Dimension -> IO ()+ setWindowBorderWidth :: Display -> Window -> Dimension -> IO () -- | interface to the X11 library function @XSetWindowBackground()@. foreign import ccall unsafe "HsXlib.h XSetWindowBackground"- setWindowBackground :: Display -> Window -> Pixel -> IO ()+ setWindowBackground :: Display -> Window -> Pixel -> IO () -- | interface to the X11 library function @XSetWindowBackgroundPixmap()@. foreign import ccall unsafe "HsXlib.h XSetWindowBackgroundPixmap"- setWindowBackgroundPixmap :: Display -> Window -> Pixmap -> IO ()+ setWindowBackgroundPixmap :: Display -> Window -> Pixmap -> IO () -- | interface to the X11 library function @XSetWindowColormap()@. foreign import ccall unsafe "HsXlib.h XSetWindowColormap"- setWindowColormap :: Display -> Window -> Colormap -> IO ()+ setWindowColormap :: Display -> Window -> Colormap -> IO () -- | interface to the X11 library function @XAddToSaveSet()@. foreign import ccall unsafe "HsXlib.h XAddToSaveSet"- addToSaveSet :: Display -> Window -> IO ()+ addToSaveSet :: Display -> Window -> IO () -- | interface to the X11 library function @XRemoveFromSaveSet()@. foreign import ccall unsafe "HsXlib.h XRemoveFromSaveSet"- removeFromSaveSet :: Display -> Window -> IO ()+ removeFromSaveSet :: Display -> Window -> IO () -- | interface to the X11 library function @XChangeSaveSet()@. foreign import ccall unsafe "HsXlib.h XChangeSaveSet"- changeSaveSet :: Display -> Window -> ChangeSaveSetMode -> IO ()+ changeSaveSet :: Display -> Window -> ChangeSaveSetMode -> IO () -- | interface to the X11 library function @XClearWindow()@. foreign import ccall unsafe "HsXlib.h XClearWindow"- clearWindow :: Display -> Window -> IO ()+ clearWindow :: Display -> Window -> IO () -- | interface to the X11 library function @XClearArea()@. foreign import ccall unsafe "HsXlib.h XClearArea"- clearArea :: Display -> Window ->- Position -> Position -> Dimension -> Dimension -> Bool -> IO ()+ clearArea :: Display -> Window ->+ Position -> Position -> Dimension -> Dimension -> Bool -> IO () -- This is almost good enough - but doesn't call XFree -- -- %errfun BadStatus XQueryTree :: Display -> Window -> IO (Window, Window, ListWindow) using err = XQueryTree(arg1,arg2,&res1,&res2,&res3,&res3_size)@@ -234,10 +234,10 @@ -- | interface to the X11 library function @XRestackWindows()@. restackWindows :: Display -> [Window] -> IO () restackWindows display windows =- withArray windows $ \ window_array ->- xRestackWindows display window_array (fromIntegral (length windows))+ withArray windows $ \ window_array ->+ xRestackWindows display window_array (fromIntegral (length windows)) foreign import ccall unsafe "HsXlib.h XRestackWindows"- xRestackWindows :: Display -> Ptr Window -> CInt -> IO ()+ xRestackWindows :: Display -> Ptr Window -> CInt -> IO () -- ToDo: I want to be able to write this -- -- %fun XListInstalledColormaps :: Display -> Window -> IO ListColormap using res1 = XListInstalledColormaps(arg1,arg2,&res1_size)
X11.buildinfo.in view
@@ -2,6 +2,6 @@ -- System-dependent values used by Distribution.Simple.defaultUserHooks -- buildable: @BUILD_PACKAGE_BOOL@-cc-options: @X_CFLAGS@-ld-options: @X_LIBS@+cc-options: @X_CFLAGS@ @CPPFLAGS@+ld-options: @X_LIBS@ @LDFLAGS@ @EXTRA_LIBRARIES@
X11.cabal view
@@ -1,5 +1,5 @@ name: X11-version: 1.3.0+version: 1.4.0 license: BSD3 license-file: LICENSE copyright: Alastair Reid, 1999-2003, libraries@haskell.org 2003-2007
configure view
@@ -3935,7 +3935,7 @@ # If there's some oddball X11 include path, we need it to check there for # Xinerama headers. if test -n "$x_includes"; then- CPPFLAGS="$CPPFLAGS -I $x_includes"+ CPPFLAGS="$CPPFLAGS -I$x_includes" fi # Build the package if we found X11 stuff
configure.ac view
@@ -25,7 +25,7 @@ # If there's some oddball X11 include path, we need it to check there for # Xinerama headers. if test -n "$x_includes"; then- CPPFLAGS="$CPPFLAGS -I $x_includes"+ CPPFLAGS="$CPPFLAGS -I$x_includes" fi # Build the package if we found X11 stuff