Cairo::XlibSurface
Inherits Cairo::Surface / Reference / Object
The Xlib surface is used to render cairo graphics to X Window System windows and pixmaps using the XLib library.
NOTE: that the XLib surface automatically takes advantage of X render extension if it is available.
Constructors
Creates an Xlib surface that draws to the given drawable. The way that colors are represented in the drawable is specified by the provided visual.
NOTE: If drawable is a Window, then the function XlibSurface#set_size
must be called whenever the size of the window changes.
When drawable is a Window containing child windows then drawing to the created surface will be clipped by those child windows. When the created surface is used as a source, the contents of the children will be included.
###Parameters
- dpy an X Display
- drawable an X Drawable, (a
Pixmapor aWindow) - visual the visual to use for drawing to drawable. The depth of the visual must match the depth of the drawable. Currently, only TrueColor visuals are fully supported.
- width the current width of drawable.
- height the current height of drawable.
###Returns The newly created surface.
Creates an Xlib surface that draws to the given bitmap.
This will be drawn to as a Format::A1 object.
###Parameters
- dpy an X Display
- bitmap an X Drawable, (a depth-1
Pixmap) - screen the X Screen associated with bitmap
- width the current width of bitmap.
- height the current height of bitmap.
###Returns The newly created surface.
Instance methods
Get the number of bits used to represent each pixel value.
###Returns The depth of the surface in bits.
Get the height of the X Drawable underlying the surface in pixels.
###Returns The height of the surface in pixels.
Informs cairo of a new X Drawable underlying the surface. The drawable must match the display, screen and format of the existing drawable or the application will get X protocol errors and will probably terminate. No checks are done by this function to ensure this compatibility.
###Parameters
- drawable the new drawable for the surface
- width the width of the new drawable
- height the height of the new drawable
Informs cairo of the new size of the X Drawable underlying the surface.
For a surface created for a Window (rather than a Pixmap),
this function must be called each time the size of the window changes.
(For a subwindow, you are normally resizing the window yourself, but for
a toplevel window, it is necessary to listen for ConfigureNotify events.)
A Pixmap can never change size, so it is never necessary to call this
function on a surface created for a Pixmap.
###Parameters
- width the new width of the surface
- height the new height of the surface
Gets the X Visual associated with surface, suitable for use with
the underlying X Drawable. If surface was created by
XlibSurface#initialize, the return value is the Visual passed
to that constructor.
###Returns
The Visual or nil if there is no appropriate Visual for surface.
Get the width of the X Drawable underlying the surface in pixels.
###Returns The width of the surface in pixels.