This is imlib2.egg.info, produced by makeinfo version 4.7 from
eggdoc-output.texi.

INFO-DIR-SECTION The Algorithmic Language Scheme
START-INFO-DIR-ENTRY
* imlib2.egg: (imlib2.egg).		Chicken bindings for the imlib2 image library.
END-INFO-DIR-ENTRY


File: imlib2.egg.info,  Node: Top,  Next: About this egg,  Up: (dir)

imlib2 egg
**********

Chicken bindings for the imlib2
(http://enlightenment.sourceforge.net/doxy/imlib2/index.html) image
library.

Written by Peter Bex (mailto:peter.bex@xs4all.nl)

   This manual corresponds to version 0.3 of the imlib2 extension
library for Chicken Scheme.

* Menu:

* About this egg::
* Documentation::
* License::
* Index::


File: imlib2.egg.info,  Node: About this egg,  Next: Documentation,  Prev: Top,  Up: Top

1 About this egg
****************

* Menu:

* Version history::
* Requirements::
* Usage::


File: imlib2.egg.info,  Node: Version history,  Next: Requirements,  Up: About this egg

1.1 Version history
===================

`0.3'
     Set GC finalizers on all functions that create new imlib objects
     and allow linking against imlib2 that was compiled without X and
     converted documentation to eggdoc.

`0.2'
     `imlib:alpha-set!' wasn't exported

`0.1'
     beta release


File: imlib2.egg.info,  Node: Requirements,  Next: Usage,  Prev: Version history,  Up: About this egg

1.2 Requirements
================

This egg requires the following extensions:

   `syntax-case'


File: imlib2.egg.info,  Node: Usage,  Prev: Requirements,  Up: About this egg

1.3 Usage
=========

Load this egg like so:

   `(require-extension imlib2)'


File: imlib2.egg.info,  Node: Documentation,  Next: License,  Prev: About this egg,  Up: Top

2 Documentation
***************

Note: Not all imlib functionality is provided by this egg yet!

* Menu:

* Image creation destruction and friends::
* Image properties::
* Image manipulation operations::
* Pixel query functions::
* Color specifiers::
* Drawing functions::


File: imlib2.egg.info,  Node: Image creation destruction and friends,  Next: Image properties,  Up: Documentation

2.1 Image creation, destruction and friends
===========================================

 -- procedure: imlib:create
          (imlib:create width height)

     Returns a new `imlib:image' object which describes a transparent
     image of the given size.

 -- procedure: imlib:image?
          (imlib:image? img)

     Determine if the given `img' object is an imlib image.

 -- procedure: imlib:destroy
          (imlib:destroy img)

     Destroy the given image.

 -- procedure: imlib:clone
          (imlib:clone img)

     Create a fresh copy of the image object `img'

 -- procedure: imlib:load
          (imlib:load filename)

     Returns a new `imlib:image' object which describes the image
     stored in the file `filename'.  This automatically uses the
     correct loader, as determined by Imlib2 on the basis of the file's
     extension.

 -- procedure: imlib:save
          (imlib:save img filename)

     Store the imlib image object described by `img' in the file
     `filename'.  The right loader is automatically selected by Imlib2
     if you haven't set it explicitly with `imlib:format-set!'.


File: imlib2.egg.info,  Node: Image properties,  Next: Image manipulation operations,  Prev: Image creation destruction and friends,  Up: Documentation

2.2 Image properties
====================

 -- procedure: imlib:format
          (imlib:format img)

     Request the currently set format for the image, or `#f' if no
     format has been associated with it yet.

 -- procedure: imlib:format-set!
          (imlib:format-set! img format)

     Explicitly set the file format on the image for subsequent calls
     to `imlib:save'.  The `format' argument is passed to the loaders
     in the same way a file extension would be.

 -- procedure: imlib:width
          (imlib:width img)

     Returns the width of the supplied image, in pixels.

 -- procedure: imlib:height
          (imlib:height img)

     Returns the height of the supplied image, in pixels.

 -- procedure: imlib:filename
          (imlib:filename img)

     Returns the original filename for the image, if it was loaded from
     a file.  Otherwise it returns `#f'.

 -- procedure: imlib:alpha?
          (imlib:alpha? img)

     Does the image have an alpha layer?

 -- procedure: imlib:alpha-set!
          (imlib:alpha-set! img value)

     Enable or disable alpha layer support for the image.

 -- procedure: imlib:track-changes-on-disk
          (imlib:track-changes-on-disk img)

     From now on, track changes on disk to the file that is associated
     with `img'. By default, all images are cached by imlib2 in such a
     way that closing and reopening it just pulls it from cache instead
     of really loading it.  Unfortunately, there's no way to request
     the status of this option or disable it.


File: imlib2.egg.info,  Node: Image manipulation operations,  Next: Pixel query functions,  Prev: Image properties,  Up: Documentation

2.3 Image manipulation operations
=================================

test paragraph

* Menu:

* Orientation::
* Texture/retouching functions::


File: imlib2.egg.info,  Node: Orientation,  Next: Texture/retouching functions,  Up: Image manipulation operations

2.3.1 Orientation
-----------------

 -- procedure: imlib:flip-horizontal
          (imlib:flip-horizontal img)

     Create a new, horizontally flipped, copy of `img'.

 -- procedure: imlib:flip-horizontal!
          (imlib:flip-horizontal! img)

     Destructively flip `img' horizontally.

 -- procedure: imlib:flip-vertical
          (imlib:flip-vertical img)

     Create a new, vertically flipped, copy of `img'.

* Menu:

* Initiation::


File: imlib2.egg.info,  Node: Initiation,  Up: Orientation

2.3.1.1 Initiation
..................

 -- procedure: imlib:flip-vertical!
          (imlib:flip-vertical! img)

     Destructively flip `img' vertically.

 -- procedure: imlib:flip-diagonal
          (imlib:flip-diagonal img)

     Create a new, diagonally flipped, copy of `img'.  This works like
     transposing a matrix.

 -- procedure: imlib:flip-diagonal!
          (imlib:flip-diagonal! img)

     Destructively flip `img' diagonally.

 -- procedure: imlib:orientate
          (imlib:orientate img orientation)

     Create a new, orientated copy of `img'. According to imlib2
     documentation, this function rotates the image by 90 degrees
     `orientation' times.  However, the function accepts values between
     0 and 7, inclusive.  What values 4-7 do, I'm not really sure of.
     They appear to rotate the image `(mod orientation 3)' times 90
     degrees, but flip it as well.


File: imlib2.egg.info,  Node: Texture/retouching functions,  Prev: Orientation,  Up: Image manipulation operations

2.3.2 Texture/retouching functions
----------------------------------

 -- procedure: imlib:sharpen
          (imlib:sharpen img radius)

     Create a new, sharpened copy of `img'. The `radius' argument is an
     integer number indicating the degree of sharpening that has to
     take place.  I am not sure what a negative value means, but it is
     allowed.

 -- procedure: imlib:sharpen!
          (imlib:sharpen! img radius)

     Destructively sharpen an image.

 -- procedure: imlib:blur
          (imlib:blur img radius)

     Create a new, blurred copy of `img'. The `radius' argument is a
     positive integer indicating the blur matrix radius, so 0 has no
     effect.

 -- procedure: imlib:blur!
          (imlib:blur! img radius)

     Destructively blur an image.

 -- procedure: imlib:tile
          (imlib:tile img)

     Create a new copy of `img' adjusted in such a way around the
     edges, such that it is suitable for use in repeating ("tiled")
     patterns on all sides.

 -- procedure: imlib:tile!
          (imlib:tile! img)

     Destructively tile an image.

 -- procedure: imlib:tile-horizontal
          (imlib:tile-horizontal img)

     Create a new copy of `img' adjusted on the left and right edges so
     it can be used for horizontally repeating patterns.

 -- procedure: imlib:tile-horizontal!
          (imlib:tile-horizontal! img)

     Destructively tile an image horizontally.

 -- procedure: imlib:tile-vertical
          (imlib:tile-vertical img)

     Create a new copy of `img' adjusted on the top and bottom edges so
     it can be used for vertically repeating patterns.

 -- procedure: imlib:tile-vertical!
          (imlib:tile-vertical! img)

     Destructively tile an image vertically.

 -- procedure: imlib:crop
          (imlib:crop img x y width height)

     Create a new, cropped copy of `img'.  The `x' and `y' parameters
     indicate the upper left pixel of the new image.  The `width' and
     `height' parameters indicate the size of the new image.  Returns
     `#f' on failure. *Note: This function will return an image of the
     requested size, but with undefined contents if you pass it
     arguments that lie outside the image!  I am still unsure if this
     is a bug or feature.*

 -- procedure: imlib:scale
          (imlib:scale img width height)

     Create a new, scaled copy of the image.

 -- procedure: imlib:crop&scale
          (imlib:crop&scale img src-x src-y src-width src-height dest-width dest-height)

     Create a new, cropped _and_ scaled copy of `img'.  The arguments
     `src-x', `src-y', `src-width' and `src-height' indicate cropping
     dimensions as per `imlib:crop', in the original image. The
     `dest-width' and `dest-height' arguments indicate the new image's
     width and height.


File: imlib2.egg.info,  Node: Pixel query functions,  Next: Color specifiers,  Prev: Image manipulation operations,  Up: Documentation

2.4 Pixel query functions
=========================

 -- procedure: imlib:pixel/rgba
          (imlib:pixel/rgba img x y)

     Returns the RGBA (red, green, blue, alpha) color values for the
     image at the specified pixel coordinate as 4 values.

 -- procedure: imlib:pixel/hsva
          (imlib:pixel/hsva img x y)

     Returns the HSVA (hue, saturation, value, alpha) color values for
     the image at the specified pixel coordinate as 4 values.

 -- procedure: imlib:pixel/hlsa
          (imlib:pixel/hlsa img x y)

     Returns the HLSA (hue, lightness, saturation, alpha) color values
     for the image at the specified pixel coordinate as 4 values.

 -- procedure: imlib:pixel/cmya
          (imlib:pixel/cmya img x y)

     Returns the CMYA (cyan, magenta, yellow, alpha) color values for
     the image at the specified pixel coordinate as 4 values.


File: imlib2.egg.info,  Node: Color specifiers,  Next: Drawing functions,  Prev: Pixel query functions,  Up: Documentation

2.5 Color specifiers
====================

Note: This could use some more work.  Perhaps the functions fromthe
previous section should return values of these types instead.

 -- procedure: imlib:color?
          (imlib:color? color)

     Is the specified object an imlib color specifier?

 -- procedure: imlib:color/rgba
          (imlib:color/rgba r g b a)

     Create a color specifier for the given RGBA values.

 -- procedure: imlib:color/hsva
          (imlib:color/hsva h s v a)

     Create a color specifier for the given HSVA values.

 -- procedure: imlib:color/hlsa
          (imlib:color/hlsa h l s a)

     Create a color specifier for the given HLSA values.

 -- procedure: imlib:color/cmya
          (imlib:color/cmya c m y a)

     Create a color specifier for the given CMYA values.


File: imlib2.egg.info,  Node: Drawing functions,  Prev: Color specifiers,  Up: Documentation

2.6 Drawing functions
=====================

 -- procedure: imlib:draw-pixel
          (imlib:draw-pixel img color x y)

     Draw a pixel in the given image on the given coordinates with the
     given color specifier.

 -- procedure: imlib:draw-line
          (imlib:draw-line img color x1 y1 x2 y2)

     Draw a line in the image from the coordinates (`x1',`y1') to
     (`x2',`y2'.

 -- procedure: imlib:draw-rectangle
          (imlib:draw-rectangle img color x y width height)

     Draw a one-pixel wide outline of a rectangle with the given color.
     The `x' and `y' coordinates are of the upper left corner of the
     rectangle.

 -- procedure: imlib:fill-rectangle
          (imlib:fill-rectangle img color x y width height)

     Same as `imlib:draw-rectangle', but filled in.


File: imlib2.egg.info,  Node: License,  Next: Index,  Prev: Documentation,  Up: Top

3 License
*********


Copyright (c) 2005, 2006, Peter Bex (peter.bex@xs4all.nl)
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. Neither the name of Peter Bex nor the names of any contributors may
   be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY PETER BEX AND CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.


File: imlib2.egg.info,  Node: Index,  Prev: License,  Up: Top

Index
*****

 [index ]
* Menu:

* imlib:alpha-set!:                      Image properties.     (line 41)
* imlib:alpha?:                          Image properties.     (line 36)
* imlib:blur:                            Texture/retouching functions.
                                                               (line 20)
* imlib:blur!:                           Texture/retouching functions.
                                                               (line 27)
* imlib:clone:                           Image creation destruction and friends.
                                                               (line 23)
* imlib:color/cmya:                      Color specifiers.     (line 30)
* imlib:color/hlsa:                      Color specifiers.     (line 25)
* imlib:color/hsva:                      Color specifiers.     (line 20)
* imlib:color/rgba:                      Color specifiers.     (line 15)
* imlib:color?:                          Color specifiers.     (line 10)
* imlib:create:                          Image creation destruction and friends.
                                                               (line  7)
* imlib:crop:                            Texture/retouching functions.
                                                               (line 66)
* imlib:crop&scale:                      Texture/retouching functions.
                                                               (line 82)
* imlib:destroy:                         Image creation destruction and friends.
                                                               (line 18)
* imlib:draw-line:                       Drawing functions.    (line 13)
* imlib:draw-pixel:                      Drawing functions.    (line  7)
* imlib:draw-rectangle:                  Drawing functions.    (line 19)
* imlib:filename:                        Image properties.     (line 30)
* imlib:fill-rectangle:                  Drawing functions.    (line 26)
* imlib:flip-diagonal:                   Initiation.           (line 12)
* imlib:flip-diagonal!:                  Initiation.           (line 18)
* imlib:flip-horizontal:                 Orientation.          (line  7)
* imlib:flip-horizontal!:                Orientation.          (line 12)
* imlib:flip-vertical:                   Orientation.          (line 17)
* imlib:flip-vertical!:                  Initiation.           (line  7)
* imlib:format:                          Image properties.     (line  7)
* imlib:format-set!:                     Image properties.     (line 13)
* imlib:height:                          Image properties.     (line 25)
* imlib:image?:                          Image creation destruction and friends.
                                                               (line 13)
* imlib:load:                            Image creation destruction and friends.
                                                               (line 28)
* imlib:orientate:                       Initiation.           (line 23)
* imlib:pixel/cmya:                      Pixel query functions.
                                                               (line 25)
* imlib:pixel/hlsa:                      Pixel query functions.
                                                               (line 19)
* imlib:pixel/hsva:                      Pixel query functions.
                                                               (line 13)
* imlib:pixel/rgba:                      Pixel query functions.
                                                               (line  7)
* imlib:save:                            Image creation destruction and friends.
                                                               (line 36)
* imlib:scale:                           Texture/retouching functions.
                                                               (line 77)
* imlib:sharpen:                         Texture/retouching functions.
                                                               (line  7)
* imlib:sharpen!:                        Texture/retouching functions.
                                                               (line 15)
* imlib:tile:                            Texture/retouching functions.
                                                               (line 32)
* imlib:tile!:                           Texture/retouching functions.
                                                               (line 39)
* imlib:tile-horizontal:                 Texture/retouching functions.
                                                               (line 44)
* imlib:tile-horizontal!:                Texture/retouching functions.
                                                               (line 50)
* imlib:tile-vertical:                   Texture/retouching functions.
                                                               (line 55)
* imlib:tile-vertical!:                  Texture/retouching functions.
                                                               (line 61)
* imlib:track-changes-on-disk:           Image properties.     (line 46)
* imlib:width:                           Image properties.     (line 20)



Tag Table:
Node: Top250
Node: About this egg670
Node: Version history854
Node: Requirements1245
Node: Usage1448
Node: Documentation1607
Node: Image creation destruction and friends1977
Node: Image properties3212
Node: Image manipulation operations4901
Node: Orientation5183
Node: Initiation5746
Node: Texture/retouching functions6705
Node: Pixel query functions9615
Node: Color specifiers10619
Node: Drawing functions11547
Node: License12435
Node: Index14039

End Tag Table
