== Description CHICKEN Scheme bindings for Imlib2's Xlib API. For source code, bug reports, and feature requests, visit the [[https://github.com/retroj/imlib2-xlib-egg|github project page]]. == Authors * John J Foerch == Requirements === Chicken eggs * [[foreigners]] * [[imlib2]] === C headers * imlib2 development headers * X11 development headers (libx11-dev) == API === Datatypes Image creation procedures return an imlib2 egg `image` record, and image operators expect one of these objects as their first argument. Other datatypes used in this egg are listed here: * XID: Xlib XID (unsigned-long) * Colormap: Xlib Colormap (XID) * Display: Xlib Display* (c-pointer) * Drawable: Xlib Drawable* (XID) * Imlib_Image: Imlib2 image (c-pointer) * Pixmap: Xlib Pixmap (XID) * Screen: int * Visual: Xlib Visual* (c-pointer) * XImage: Xlib XImage (c-pointer) === Context setting * (imlib-context-set-display display) * (imlib-context-disconnect-display) * (imlib-context-set-visual visual) * (imlib-context-set-colormap colormap) * (imlib-context-set-drawable drawable) * (imlib-context-set-mask pixmap) === Context getting * (imlib-context-get-display) => display * (imlib-context-get-visual) => visual * (imlib-context-get-colormap) => colormap * (imlib-context-get-drawable) => drawable * (imlib-context-get-mask) => pixmap * (imlib-get-visual-depth display visual) => int * (imlib-get-best-visual display screen) => (values visual depth) === Rendering functions * (imlib-pixmap-and-mask? object) => bool * (imlib-pixmap-and-mask-pixmap ipm) => pixmap * (imlib-pixmap-and-mask-mask ipm) => pixmap * (imlib-render-pixmaps-for-whole-image img) => * (imlib-render-pixmaps-for-whole-image-at-size img width height) => * (imlib-render-image-on-drawable img x y) * (imlib-render-image-on-drawable-at-size img x y width height) * (imlib-render-image-part-on-drawable-at-size img source-x source-y source-width source-height x y width height) * (imlib-render-get-pixel-color) => DATA32 === Creation functions * (imlib-create-image-from-drawable mask-pixmap x y width height need-to-grab-x?) => image * (imlib-create-image-from-ximage image-ximage mask-ximage x y width height need-to-grab-x?) => image * (imlib-create-scaled-image-from-drawable mask-pixmap source-x source-y source-width source-height destination-width destination-height need-to-grab-x? get-mask-from-shape?) => image * (imlib-copy-drawable-to-image img mask-pixmap x y width height destination-x destination-y need-to-grab-x?) => cbool === Rotation / skewing * (imlib-render-image-on-drawable-skewed img source-x source-y source-width source-height destination-x destination-y h-angle-x h-angle-y v-angle-x v-angle-y) * (imlib-render-image-on-drawable-at-angle img source-x source-y source-width source-height destination-x destination-y angle-x angle-y) == Examples == License BSD == Version History * 1.0.0 (2017-12-17) initial release * 1.0.1 (2017-12-17) finalizers on created images