import(1)                AfterStep X11 window manager                import(1)



NAME
       import - functionality for reading images from files
       libAfterImage/import.h

NAMEimport
       - Image file format autodetection, reading and decoding routines.


SEE ALSO
       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

AUTHOR
       Sasha Vasko <sasha at aftercode dot net>

NAMESCREEN_GAMMA
       - Defines default value for screen gamma correction.


SOURCE
           #define SCREEN_GAMMA 2.2 #define DEFAULT_PNG_IMAGE_GAMMA
           0.45455
       libAfterImage/ASImageFileTypes

NAMEASImageFileTypes
       - List of known image file formats.


SOURCE
           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_XMLScript,
               ASIT_SVG,
               /* reserved for future implementation : */
               ASIT_Xbm,
               ASIT_Targa,
               ASIT_Supported = ASIT_Targa,
               ASIT_Pcx,
               ASIT_HTML,
               ASIT_XML,
               ASIT_Unknown }ASImageFileTypes;
       libAfterImage/ASImageListEntry

NAMEASImageListEntry
       - entry in linked list of images loaded from single directory.


SOURCE
           typedef struct ASImageListEntryBuffer { #define ASILEB_Dirty
           (0x01<<0) #define ASILEB_Binary       (0x01<<1)

               ASFlagType flags ;

               size_t size ;
               char  *data ;

           }ASImageListEntryBuffer;

           typedef struct ASImageListEntry { #define MAGIC_ASIMAGE_LIST_ENTRY
           0xA3A311E4 #define IS_ASIMAGE_LIST_ENTRY(e)
           (((e)!=NULL)&&((e)->magic==MAGIC_ASIMAGE_LIST_ENTRY)&&((e)->ref_count>0))

               unsigned long magic ;
               struct ASImageListEntry *prev, *next ;
               char   *name ;
               char   *fullfilename ;

               ASImageFileTypes    type;
               ASImage            *preview;

           #ifndef _WIN32
               mode_t d_mode; #endif
               time_t d_mtime;
               off_t  d_size;      /* total size, in bytes */

               ASImageListEntryBuffer *buffer ;

               int ref_count; }ASImageListEntry;
       libAfterImage/import/file2ASImage()

NAMEfile2ASImage()
       - load ASImage from file.


SYNOPSIS
       ASImage *file2ASImage( const char *file, ASFlagType what,
                              double gamma,
                              unsigned int compression, ... );

INPUTS
       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.


RETURN VALUE
       Pointer to ASImage structure holding image data on success.  NULL on
       failure

DESCRIPTION
       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.

EXAMPLE
       asview.c: ASView.2

NAMEget_asimage()
       - increment reference counter if file is already loaded, or load image
       from file.


SYNOPSIS
       ASImage *get_asimage( ASImageManager* imageman, const char *file,
                             ASFlagType what, unsigned int compression );

INPUTS
       imageman
              - pointer to valid ASVisual structure.

       file   - root window ID for the destination screen.

       what   - full image file's name with path.

       compression
              -


RETURN VALUE
       Pointer to ASImage structure holding image data on success.  NULL on
       failure

DESCRIPTION
       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.

SEE ALSO
       file2ASImage()

NAMEfile2pixmap()
       - convinience function to load file into X Pixmap.


SYNOPSIS
       Pixmap file2pixmap( struct ASVisual *asv, Window root,
                           const char *realfilename,
                           Pixmap *mask_out);

INPUTS
       asv    - pointer to valid ASVisual structure.

       root   - root window ID for the destination screen.

       realfilename
              - full image file's name with path.


RETURN VALUE
       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.

DESCRIPTION
       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.



3rd Berkeley Distribution     AfterStep v.2.2.12                     import(1)
