HomeHomeHomeHomeHome
 
Home
News
Downloads
Documentation
Looks and Themes
Icons, Clipart, etc.
Mailing List and Contacts
aterm terminal emulator
 
title_image
 Preface  Introduction  API Topic index  API Glossary  F.A.Q.  Copyright

ASImage Importfunctionality for reading images from files



    libAfterImage/gamma
  • NAME
    SCREEN_GAMMA

    - Defines default  value for  screen gamma correction.

  • SOURCE

    #define SCREEN_GAMMA 2.2
    #define DEFAULT_PNG_IMAGE_GAMMA     0.45455
    

    libAfterImage/ASImageFileTypes
  • NAME
    ASImageFileTypes

    - 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
  • NAME
    ASImageListEntry

    - 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;
        
        mode_t d_mode;
        time_t d_mtime;
        off_t  d_size;      /* total size, in bytes */
    
        ASImageListEntryBuffer *buffer ; 
    
        int ref_count;
    } ASImageListEntry ;
    

    libAfterImage/import/file2ASImage()
  • NAME
    file2ASImage()

    - 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
    
    libAfterImage/import/get_asimage()
  • NAME
    get_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()
    
    libAfterImage/import/file2pixmap()
  • NAME
    file2pixmap()

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


AfterStep Documentation   -   October 2005     ( 80% complete )

lowbarimage