|
Graphics.X11.Xlib | Portability | portable | Stability | provisional | Maintainer | libraries@haskell.org |
|
|
|
|
|
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 | | data Display | | data Screen | | data Visual | | data FontStruct | | data GC | | data XSetWindowAttributes | | type Pixel = Word32 | | type Position = Int32 | | type Dimension = Word32 | | type Angle = Int | | type ScreenNumber = Word32 | | type Byte = Word8 | | type Buffer = Int | | type Point = (Position, Position) | | type Rectangle = (Position, Position, Dimension, Dimension) | | type Arc = (Position, Position, Dimension, Dimension, Angle, Angle) | | type Segment = (Position, Position, Position, Position) | | type Color = (Pixel, Word16, Word16, Word16, Word8) | | 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.Font | | module Graphics.X11.Xlib.Atom | | module Graphics.X11.Xlib.Region | | 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 |
|
data Display |
pointer to an X11 Display structure
|
|
|
data Screen |
pointer to an X11 Screen structure
|
|
|
data Visual |
pointer to an X11 Visual structure
|
|
|
data FontStruct |
pointer to an X11 XFontStruct structure
|
|
|
data GC |
|
|
data XSetWindowAttributes |
|
|
type Pixel = Word32 |
|
type Position = Int32 |
|
type Dimension = Word32 |
|
type Angle = Int |
|
type ScreenNumber = Word32 |
|
type Byte = Word8 |
|
type Buffer = Int |
|
type Point = (Position, Position) |
counterpart of an X11 XPoint structure
|
|
type Rectangle = (Position, Position, Dimension, Dimension) |
counterpart of an X11 XRectangle structure
|
|
type Arc = (Position, Position, Dimension, Dimension, Angle, Angle) |
counterpart of an X11 XArc structure
|
|
type Segment = (Position, Position, Position, Position) |
counterpart of an X11 XSegment structure
|
|
type Color = (Pixel, Word16, Word16, Word16, Word8) |
counterpart of an X11 XColor structure
|
|
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.Font |
|
module Graphics.X11.Xlib.Atom |
|
module Graphics.X11.Xlib.Region |
|
module Graphics.X11.Xlib.Misc |
|
Produced by Haddock version 0.7 |