import.h(1)

libAfterImage/import.h
 Image file format autodetection, reading and decoding routines.
 Functions :
        file2ASImage(), get_asimage(), file2pixmap()
 Other libAfterImage modules :
          ascmap.h asfont.h asimage.h asvisual.h blender.h export.h
          import.h transform.h ximage.h
  Sasha Vasko <sasha at aftercode dot net>

libAfterImage/gamma
 Defines default value for screen gamma correction.
    #define SCREEN_GAMMA 1.0

libAfterImage/ASImageFileTypes
  ASImageFileTypes

 List of known image file formats.
    typedef enum
    {
        ASIT_Xpm = 0,
        ASIT_ZCompressedXpm,
        ASIT_GZCompressedXpm,
        ASIT_Png,
        ASIT_Jpeg,
        ASIT_Xcf,
        ASIT_Ppm,
        ASIT_Pnm,
        ASIT_Bmp,
        ASIT_Ico,
        ASIT_Cur,
        ASIT_Gif,
        ASIT_Tiff,
        ASIT_Xbm,
        /* reserved for future implementation : */
        ASIT_Targa,
        ASIT_Pcx,
        ASIT_Unknown
    }ASImageFileTypes;

libAfterImage/import/file2ASImage()
 ASImage *file2ASImage( const char *file, ASFlagType what,
                        double gamma,
                        unsigned int compression, ... );
 file         - file name with or without directory name
 what         - reserved for future use
 gamma        - gamma value to be used to correct image
 compression  - compression level of the resulting ASImage
 ...          - NULL terminated list of strings, representing
                arbitrary number of directories to be searched each.
 Pointer to ASImage structure holding image data on success.
 NULL on failure
 file2ASImage will attempt to interpret filename in the following way:
 1)It will try to find file using unmodified filename in all the
 provided search paths.
 2)It will attempt to append .gz and then .Z to the filename and
 find such file in all the provided search paths.
 3)If filename ends with extension consisting of digits only - it will
 attempt to find file with this extension stripped off. On success
 this extension will be used to load subimage from the file with that
 number. Subimages are supported only for XCF, GIF, BMP, ICO and CUR
 files.
 After the file is found file2ASImage() attempts to detect file format,
 and if it is known it will load it into new ASImage structure.
 asview.c: ASView.2

libAfterImage/import/get_asimage()
 ASImage *get_asimage( ASImageManager* imageman, const char *file,
                       ASFlagType what, unsigned int compression );
 imageman     - pointer to valid ASVisual structure.
 file         - root window ID for the destination screen.
 what         - full image file's name with path.
 compression  -
 Pointer to ASImage structure holding image data on success.
 NULL on failure
 get_asimage will attempt check with the ASImageManager's list of load
 images, and if image with requested filename already exists - it will
 increment its reference count and return its pointer.
 Otherwise it will call file2ASImage() to load image from file. It will
 use PATH and gamma values from the ASImageManager to pass to
 file2ASImage(). If image is successfully loaded - it will be added to
 the ASImageManager's list and its pointer will be returned.
 file2ASImage()

libAfterImage/import/file2pixmap()
 Pixmap file2pixmap( struct ASVisual *asv, Window root,
                     const char *realfilename,
                     Pixmap *mask_out);
 asv          - pointer to valid ASVisual structure.
 root         - root window ID for the destination screen.
 realfilename - full image file's name with path.
 Pixmap ID of the X Pixmap filled with loaded image. If mask_out is
 not NULL it will point to image mask Pixmap ID if there is an alpha
 channel in image, None otherwise.
 On failure None will be returned.
 file2pixmap() will attempt to open specified file and autodetect its
 format. If format is known it will load it into ASImage first, and
 then convert it into X Pixmap. In case image has alpha channel -
 mask Pixmap will be produced if mask_out is not NULL.