Skip to content

retroj/imlib2-xlib-egg

Repository files navigation

== 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-pixmap-and-mask>
* (imlib-render-pixmaps-for-whole-image-at-size img width height) => <imlib-pixmap-and-mask>
* (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

About

CHICKEN Scheme bindings for Imlib2's Xlib API

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages