Graphics.X11.Xlib

X11-1.6.1.2: 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 = Word32
- 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 #

pointer to an X11 `Display` structure

Constructors

Display (Ptr Display) |

Instances

Eq Display # |
Methods (==) :: Display -> Display -> Bool # (/=) :: Display -> Display -> Bool #
Data Display # |
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 # |
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 # |
Methods showsPrec :: Int -> Display -> ShowS # show :: Display -> String # showList :: [Display] -> ShowS #

data Screen #

pointer to an X11 `Screen` structure

Instances

Eq Screen # |
Methods (==) :: Screen -> Screen -> Bool # (/=) :: Screen -> Screen -> Bool #
Data Screen # |
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 # |
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 # |
Methods showsPrec :: Int -> Screen -> ShowS # show :: Screen -> String # showList :: [Screen] -> ShowS #

data Visual #

pointer to an X11 `Visual` structure

Instances

Eq Visual # |
Methods (==) :: Visual -> Visual -> Bool # (/=) :: Visual -> Visual -> Bool #
Data Visual # |
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 # |
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 # |
Methods showsPrec :: Int -> Visual -> ShowS # show :: Visual -> String # showList :: [Visual] -> ShowS #

data GC #

pointer to an X11 `GC` structure

Instances

Eq GC # |
Methods (==) :: GC -> GC -> Bool # (/=) :: GC -> GC -> Bool #
Data GC # |
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 # |
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 # |
Methods showsPrec :: Int -> GC -> ShowS # show :: GC -> String # showList :: [GC] -> ShowS #

data SetWindowAttributes #

pointer to an X11 `XSetWindowAttributes` structure

Instances

Eq SetWindowAttributes # |
Methods (==) :: SetWindowAttributes -> SetWindowAttributes -> Bool # (/=) :: SetWindowAttributes -> SetWindowAttributes -> Bool #
Data SetWindowAttributes # |
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 # |
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 # |
Methods showsPrec :: Int -> SetWindowAttributes -> ShowS # show :: SetWindowAttributes -> String # showList :: [SetWindowAttributes] -> ShowS #

data VisualInfo #

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 # |
Methods (==) :: VisualInfo -> VisualInfo -> Bool # (/=) :: VisualInfo -> VisualInfo -> Bool #
Show VisualInfo # |
Methods showsPrec :: Int -> VisualInfo -> ShowS # show :: VisualInfo -> String # showList :: [VisualInfo] -> ShowS #
Storable VisualInfo # |
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 () #

data Point #

counterpart of an X11 `XPoint` structure

Constructors

Point |
Fields pt_x :: !Position pt_y :: !Position

Instances

Eq Point # |
Methods (==) :: Point -> Point -> Bool # (/=) :: Point -> Point -> Bool #
Data Point # |
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 # |
Methods showsPrec :: Int -> Point -> ShowS # show :: Point -> String # showList :: [Point] -> ShowS #
Storable Point # |
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 #

counterpart of an X11 `XRectangle` structure

Constructors

Rectangle |
Fields rect_x :: !Position rect_y :: !Position rect_width :: !Dimension rect_height :: !Dimension

Instances

Eq Rectangle # |
Methods (==) :: Rectangle -> Rectangle -> Bool # (/=) :: Rectangle -> Rectangle -> Bool #
Data Rectangle # |
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 # |
Methods readsPrec :: Int -> ReadS Rectangle # readList :: ReadS [Rectangle] # readPrec :: ReadPrec Rectangle # readListPrec :: ReadPrec [Rectangle] #
Show Rectangle # |
Methods showsPrec :: Int -> Rectangle -> ShowS # show :: Rectangle -> String # showList :: [Rectangle] -> ShowS #
Storable Rectangle # |
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 #

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 # |
Methods (==) :: Arc -> Arc -> Bool # (/=) :: Arc -> Arc -> Bool #
Show Arc # |
Methods showsPrec :: Int -> Arc -> ShowS # show :: Arc -> String # showList :: [Arc] -> ShowS #
Storable Arc # |
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 #

counterpart of an X11 `XSegment` structure

Constructors

Segment |
Fields seg_x1 :: Position seg_y1 :: Position seg_x2 :: Position seg_y2 :: Position

Instances

Eq Segment # |
Methods (==) :: Segment -> Segment -> Bool # (/=) :: Segment -> Segment -> Bool #
Data Segment # |
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 # |
Methods showsPrec :: Int -> Segment -> ShowS # show :: Segment -> String # showList :: [Segment] -> ShowS #
Storable Segment # |
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 #

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 # |
Methods (==) :: Color -> Color -> Bool # (/=) :: Color -> Color -> Bool #
Data Color # |
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 # |
Methods showsPrec :: Int -> Color -> ShowS # show :: Color -> String # showList :: [Color] -> ShowS #
Storable Color # |
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 = Word32 #

type Position = Int32 #

type Dimension = Word32 #

type Angle = CInt #

type ScreenNumber = Word32 #

type Buffer = CInt #

# 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