X11-1.8: A binding to the X11 graphics library

Copyright | (c) Alastair Reid 1999-2003
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | libraries@haskell.org
Stability | provisional
Portability | portable
Safe Haskell | None
Language | Haskell98

Graphics.X11.Xlib

Contents

- Conventions
- Types
- X11 library functions

Description

A collection of FFI declarations for interfacing with Xlib.

The library aims to provide a direct translation of the X binding into Haskell so the most important documentation you should read is The Xlib Programming Manual, available online at http://tronche.com/gui/x/xlib/. Let me say that again because it is very important. Get hold of this documentation and read it: it tells you almost everything you need to know to use this library.

Synopsis

- module Graphics.X11.Types
- newtype Display = Display (Ptr Display)
- data Screen
- data Visual
- data GC
- data SetWindowAttributes
- data VisualInfo = VisualInfo {
  - visualInfo_visual :: Visual
  - visualInfo_visualID :: VisualID
  - visualInfo_screen :: ScreenNumber
  - visualInfo_depth :: CInt
  - visualInfo_class :: CInt
  - visualInfo_redMask :: CULong
  - visualInfo_greenMask :: CULong
  - visualInfo_blueMask :: CULong
  - visualInfo_colormapSize :: CInt
  - visualInfo_bitsPerRGB :: CInt
  }
- data Point = Point {
  - pt_x :: !Position
  - pt_y :: !Position
  }
- data Rectangle = Rectangle {
  - rect_x :: !Position
  - rect_y :: !Position
  - rect_width :: !Dimension
  - rect_height :: !Dimension
  }
- data Arc = Arc {
  - arc_x :: Position
  - arc_y :: Position
  - arc_width :: Dimension
  - arc_height :: Dimension
  - arc_angle1 :: Angle
  - arc_angle2 :: Angle
  }
- data Segment = Segment {
  - seg_x1 :: Position
  - seg_y1 :: Position
  - seg_x2 :: Position
  - seg_y2 :: Position
  }
- data Color = Color {
  - color_pixel :: Pixel
  - color_red :: Word16
  - color_green :: Word16
  - color_blue :: Word16
  - color_flags :: Word8
  }
- type Pixel = Word64
- type Position = Int32
- type Dimension = Word32
- type Angle = CInt
- type ScreenNumber = Word32
- type Buffer = CInt
- module Graphics.X11.Xlib.Event
- module Graphics.X11.Xlib.Display
- module Graphics.X11.Xlib.Screen
- module Graphics.X11.Xlib.Window
- module Graphics.X11.Xlib.Context
- module Graphics.X11.Xlib.Color
- module Graphics.X11.Xlib.Cursor
- module Graphics.X11.Xlib.Font
- module Graphics.X11.Xlib.Atom
- module Graphics.X11.Xlib.Region
- module Graphics.X11.Xlib.Image
- module Graphics.X11.Xlib.Misc

# Conventions

In translating the library, we had to change names to conform with Haskell's lexical syntax: function names and names of constants must start with a lowercase letter; type names must start with an uppercase letter. The case of the remaining letters is unchanged.

In addition, we chose to take advantage of Haskell's module system to allow us to drop common prefixes (`X`, `XA_`, etc.) attached to X11 identifiers.

We named enumeration types so that function types would be easier to understand. For example, we added `Status`, `WindowClass`, etc. Note that the types are synonyms for `Int` so no extra typesafety was obtained.

We consistently raise exceptions when a function returns an error code. In practice, this only affects the following functions because most Xlib functions do not return error codes: `allocColor`, `allocNamedColor`, `fetchBuffer`, `fetchBytes`, `fontFromGC`, `getGeometry`, `getIconName`, `iconifyWindow`, `loadQueryFont`, `lookupColor`, `openDisplay`, `parseColor`, `queryBestCursor`, `queryBestSize`, `queryBestStipple`, `queryBestTile`, `rotateBuffers`, `selectInput`, `storeBuffer`, `storeBytes`, `withdrawWindow`.

# Types

module Graphics.X11.Types

newtype Display Source #

pointer to an X11 `Display` structure

Constructors

Display (Ptr Display) |

Instances

Eq Display Source # |
Methods (==) :: Display -> Display -> Bool # (/=) :: Display -> Display -> Bool #
Data Display Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Display -> c Display #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Display #

toConstr :: Display -> Constr #

dataTypeOf :: Display -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Display) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Display) #

gmapT :: (forall b. Data b => b -> b) -> Display -> Display #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Display -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Display -> r #

gmapQ :: (forall d. Data d => d -> u) -> Display -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Display -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Display -> m Display #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Display -> m Display #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Display -> m Display #

Ord Display Source # |
Methods compare :: Display -> Display -> Ordering # (<) :: Display -> Display -> Bool # (<=) :: Display -> Display -> Bool # (>) :: Display -> Display -> Bool # (>=) :: Display -> Display -> Bool # max :: Display -> Display -> Display # min :: Display -> Display -> Display #
Show Display Source # |
Methods showsPrec :: Int -> Display -> ShowS # show :: Display -> String # showList :: [Display] -> ShowS #

data Screen Source #

pointer to an X11 `Screen` structure

Instances

Eq Screen Source # |
Methods (==) :: Screen -> Screen -> Bool # (/=) :: Screen -> Screen -> Bool #
Data Screen Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Screen -> c Screen #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Screen #

toConstr :: Screen -> Constr #

dataTypeOf :: Screen -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Screen) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Screen) #

gmapT :: (forall b. Data b => b -> b) -> Screen -> Screen #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Screen -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Screen -> r #

gmapQ :: (forall d. Data d => d -> u) -> Screen -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Screen -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Screen -> m Screen #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Screen -> m Screen #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Screen -> m Screen #

Ord Screen Source # |
Methods compare :: Screen -> Screen -> Ordering # (<) :: Screen -> Screen -> Bool # (<=) :: Screen -> Screen -> Bool # (>) :: Screen -> Screen -> Bool # (>=) :: Screen -> Screen -> Bool # max :: Screen -> Screen -> Screen # min :: Screen -> Screen -> Screen #
Show Screen Source # |
Methods showsPrec :: Int -> Screen -> ShowS # show :: Screen -> String # showList :: [Screen] -> ShowS #

data Visual Source #

pointer to an X11 `Visual` structure

Instances

Eq Visual Source # |
Methods (==) :: Visual -> Visual -> Bool # (/=) :: Visual -> Visual -> Bool #
Data Visual Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Visual -> c Visual #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Visual #

toConstr :: Visual -> Constr #

dataTypeOf :: Visual -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Visual) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Visual) #

gmapT :: (forall b. Data b => b -> b) -> Visual -> Visual #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Visual -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Visual -> r #

gmapQ :: (forall d. Data d => d -> u) -> Visual -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Visual -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Visual -> m Visual #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Visual -> m Visual #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Visual -> m Visual #

Ord Visual Source # |
Methods compare :: Visual -> Visual -> Ordering # (<) :: Visual -> Visual -> Bool # (<=) :: Visual -> Visual -> Bool # (>) :: Visual -> Visual -> Bool # (>=) :: Visual -> Visual -> Bool # max :: Visual -> Visual -> Visual # min :: Visual -> Visual -> Visual #
Show Visual Source # |
Methods showsPrec :: Int -> Visual -> ShowS # show :: Visual -> String # showList :: [Visual] -> ShowS #

data GC Source #

pointer to an X11 `GC` structure

Instances

Eq GC Source # |
Methods (==) :: GC -> GC -> Bool # (/=) :: GC -> GC -> Bool #
Data GC Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GC -> c GC #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GC #

toConstr :: GC -> Constr #

dataTypeOf :: GC -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GC) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GC) #

gmapT :: (forall b. Data b => b -> b) -> GC -> GC #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GC -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GC -> r #

gmapQ :: (forall d. Data d => d -> u) -> GC -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GC -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GC -> m GC #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GC -> m GC #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GC -> m GC #

Ord GC Source # |
Methods compare :: GC -> GC -> Ordering # (<) :: GC -> GC -> Bool # (<=) :: GC -> GC -> Bool # (>) :: GC -> GC -> Bool # (>=) :: GC -> GC -> Bool # max :: GC -> GC -> GC # min :: GC -> GC -> GC #
Show GC Source # |
Methods showsPrec :: Int -> GC -> ShowS # show :: GC -> String # showList :: [GC] -> ShowS #

data SetWindowAttributes Source #

pointer to an X11 `XSetWindowAttributes` structure

Instances

Eq SetWindowAttributes Source # |
Methods (==) :: SetWindowAttributes -> SetWindowAttributes -> Bool # (/=) :: SetWindowAttributes -> SetWindowAttributes -> Bool #
Data SetWindowAttributes Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetWindowAttributes -> c SetWindowAttributes #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetWindowAttributes #

toConstr :: SetWindowAttributes -> Constr #

dataTypeOf :: SetWindowAttributes -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c SetWindowAttributes) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetWindowAttributes) #

gmapT :: (forall b. Data b => b -> b) -> SetWindowAttributes -> SetWindowAttributes #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetWindowAttributes -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetWindowAttributes -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetWindowAttributes -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetWindowAttributes -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes #

Ord SetWindowAttributes Source # |

Methods

compare :: SetWindowAttributes -> SetWindowAttributes -> Ordering #

(<) :: SetWindowAttributes -> SetWindowAttributes -> Bool #

(<=) :: SetWindowAttributes -> SetWindowAttributes -> Bool #

(>) :: SetWindowAttributes -> SetWindowAttributes -> Bool #

(>=) :: SetWindowAttributes -> SetWindowAttributes -> Bool #

max :: SetWindowAttributes -> SetWindowAttributes -> SetWindowAttributes #

min :: SetWindowAttributes -> SetWindowAttributes -> SetWindowAttributes #

Show SetWindowAttributes Source # |
Methods showsPrec :: Int -> SetWindowAttributes -> ShowS # show :: SetWindowAttributes -> String # showList :: [SetWindowAttributes] -> ShowS #

data VisualInfo Source #

counterpart of an X11 `XVisualInfo` structure

Constructors

VisualInfo |

Fields

- visualInfo_visual :: Visual
- visualInfo_visualID :: VisualID
- visualInfo_screen :: ScreenNumber
- visualInfo_depth :: CInt
- visualInfo_class :: CInt
- visualInfo_redMask :: CULong
- visualInfo_greenMask :: CULong
- visualInfo_blueMask :: CULong
- visualInfo_colormapSize :: CInt
- visualInfo_bitsPerRGB :: CInt

Instances

Eq VisualInfo Source # |
Methods (==) :: VisualInfo -> VisualInfo -> Bool # (/=) :: VisualInfo -> VisualInfo -> Bool #
Show VisualInfo Source # |
Methods showsPrec :: Int -> VisualInfo -> ShowS # show :: VisualInfo -> String # showList :: [VisualInfo] -> ShowS #
Storable VisualInfo Source # |
Methods sizeOf :: VisualInfo -> Int # alignment :: VisualInfo -> Int # peekElemOff :: Ptr VisualInfo -> Int -> IO VisualInfo # pokeElemOff :: Ptr VisualInfo -> Int -> VisualInfo -> IO () # peekByteOff :: Ptr b -> Int -> IO VisualInfo # pokeByteOff :: Ptr b -> Int -> VisualInfo -> IO () # peek :: Ptr VisualInfo -> IO VisualInfo # poke :: Ptr VisualInfo -> VisualInfo -> IO () #
Default VisualInfo Source # |
Methods def :: VisualInfo #

data Point Source #

counterpart of an X11 `XPoint` structure

Constructors

Point |

Fields

- pt_x :: !Position
- pt_y :: !Position

Instances

Eq Point Source # |
Methods (==) :: Point -> Point -> Bool # (/=) :: Point -> Point -> Bool #
Data Point Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point -> c Point #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Point #

toConstr :: Point -> Constr #

dataTypeOf :: Point -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Point) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Point) #

gmapT :: (forall b. Data b => b -> b) -> Point -> Point #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point -> r #

gmapQ :: (forall d. Data d => d -> u) -> Point -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Point -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point -> m Point #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point -> m Point #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point -> m Point #

Show Point Source # |
Methods showsPrec :: Int -> Point -> ShowS # show :: Point -> String # showList :: [Point] -> ShowS #
Storable Point Source # |
Methods sizeOf :: Point -> Int # alignment :: Point -> Int # peekElemOff :: Ptr Point -> Int -> IO Point # pokeElemOff :: Ptr Point -> Int -> Point -> IO () # peekByteOff :: Ptr b -> Int -> IO Point # pokeByteOff :: Ptr b -> Int -> Point -> IO () # peek :: Ptr Point -> IO Point # poke :: Ptr Point -> Point -> IO () #

data Rectangle Source #

counterpart of an X11 `XRectangle` structure

Constructors

Rectangle |

Fields

- rect_x :: !Position
- rect_y :: !Position
- rect_width :: !Dimension
- rect_height :: !Dimension

Instances

Eq Rectangle Source # |
Methods (==) :: Rectangle -> Rectangle -> Bool # (/=) :: Rectangle -> Rectangle -> Bool #
Data Rectangle Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rectangle -> c Rectangle #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Rectangle #

toConstr :: Rectangle -> Constr #

dataTypeOf :: Rectangle -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Rectangle) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle) #

gmapT :: (forall b. Data b => b -> b) -> Rectangle -> Rectangle #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rectangle -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rectangle -> r #

gmapQ :: (forall d. Data d => d -> u) -> Rectangle -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Rectangle -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle #

Read Rectangle Source # |
Methods readsPrec :: Int -> ReadS Rectangle # readList :: ReadS [Rectangle] # readPrec :: ReadPrec Rectangle # readListPrec :: ReadPrec [Rectangle] #
Show Rectangle Source # |
Methods showsPrec :: Int -> Rectangle -> ShowS # show :: Rectangle -> String # showList :: [Rectangle] -> ShowS #
Storable Rectangle Source # |
Methods sizeOf :: Rectangle -> Int # alignment :: Rectangle -> Int # peekElemOff :: Ptr Rectangle -> Int -> IO Rectangle # pokeElemOff :: Ptr Rectangle -> Int -> Rectangle -> IO () # peekByteOff :: Ptr b -> Int -> IO Rectangle # pokeByteOff :: Ptr b -> Int -> Rectangle -> IO () # peek :: Ptr Rectangle -> IO Rectangle # poke :: Ptr Rectangle -> Rectangle -> IO () #

data Arc Source #

counterpart of an X11 `XArc` structure

Constructors

Arc |

Fields

- arc_x :: Position
- arc_y :: Position
- arc_width :: Dimension
- arc_height :: Dimension
- arc_angle1 :: Angle
- arc_angle2 :: Angle

Instances

Eq Arc Source # |
Methods (==) :: Arc -> Arc -> Bool # (/=) :: Arc -> Arc -> Bool #
Show Arc Source # |
Methods showsPrec :: Int -> Arc -> ShowS # show :: Arc -> String # showList :: [Arc] -> ShowS #
Storable Arc Source # |
Methods sizeOf :: Arc -> Int # alignment :: Arc -> Int # peekElemOff :: Ptr Arc -> Int -> IO Arc # pokeElemOff :: Ptr Arc -> Int -> Arc -> IO () # peekByteOff :: Ptr b -> Int -> IO Arc # pokeByteOff :: Ptr b -> Int -> Arc -> IO () # peek :: Ptr Arc -> IO Arc # poke :: Ptr Arc -> Arc -> IO () #

data Segment Source #

counterpart of an X11 `XSegment` structure

Constructors

Segment |

Fields

- seg_x1 :: Position
- seg_y1 :: Position
- seg_x2 :: Position
- seg_y2 :: Position

Instances

Eq Segment Source # |
Methods (==) :: Segment -> Segment -> Bool # (/=) :: Segment -> Segment -> Bool #
Data Segment Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Segment -> c Segment #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Segment #

toConstr :: Segment -> Constr #

dataTypeOf :: Segment -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Segment) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Segment) #

gmapT :: (forall b. Data b => b -> b) -> Segment -> Segment #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Segment -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Segment -> r #

gmapQ :: (forall d. Data d => d -> u) -> Segment -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Segment -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Segment -> m Segment #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Segment -> m Segment #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Segment -> m Segment #

Show Segment Source # |
Methods showsPrec :: Int -> Segment -> ShowS # show :: Segment -> String # showList :: [Segment] -> ShowS #
Storable Segment Source # |
Methods sizeOf :: Segment -> Int # alignment :: Segment -> Int # peekElemOff :: Ptr Segment -> Int -> IO Segment # pokeElemOff :: Ptr Segment -> Int -> Segment -> IO () # peekByteOff :: Ptr b -> Int -> IO Segment # pokeByteOff :: Ptr b -> Int -> Segment -> IO () # peek :: Ptr Segment -> IO Segment # poke :: Ptr Segment -> Segment -> IO () #

data Color Source #

counterpart of an X11 `XColor` structure

Constructors

Color |

Fields

- color_pixel :: Pixel
- color_red :: Word16
- color_green :: Word16
- color_blue :: Word16
- color_flags :: Word8

Instances

Eq Color Source # |
Methods (==) :: Color -> Color -> Bool # (/=) :: Color -> Color -> Bool #
Data Color Source # |

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Color -> c Color #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Color #

toConstr :: Color -> Constr #

dataTypeOf :: Color -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Color) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Color) #

gmapT :: (forall b. Data b => b -> b) -> Color -> Color #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Color -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Color -> r #

gmapQ :: (forall d. Data d => d -> u) -> Color -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Color -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Color -> m Color #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Color -> m Color #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Color -> m Color #

Show Color Source # |
Methods showsPrec :: Int -> Color -> ShowS # show :: Color -> String # showList :: [Color] -> ShowS #
Storable Color Source # |
Methods sizeOf :: Color -> Int # alignment :: Color -> Int # peekElemOff :: Ptr Color -> Int -> IO Color # pokeElemOff :: Ptr Color -> Int -> Color -> IO () # peekByteOff :: Ptr b -> Int -> IO Color # pokeByteOff :: Ptr b -> Int -> Color -> IO () # peek :: Ptr Color -> IO Color # poke :: Ptr Color -> Color -> IO () #

type Pixel = Word64 Source #

type Position = Int32 Source #

type Dimension = Word32 Source #

type Angle = CInt Source #

type ScreenNumber = Word32 Source #

type Buffer = CInt Source #

# X11 library functions

module Graphics.X11.Xlib.Event

module Graphics.X11.Xlib.Display

module Graphics.X11.Xlib.Screen

module Graphics.X11.Xlib.Window

module Graphics.X11.Xlib.Context

module Graphics.X11.Xlib.Color

module Graphics.X11.Xlib.Cursor

module Graphics.X11.Xlib.Font

module Graphics.X11.Xlib.Atom

module Graphics.X11.Xlib.Region

module Graphics.X11.Xlib.Image

module Graphics.X11.Xlib.Misc