img.c File Reference

Reads image files (BMP, PNG, JPG). More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <endian.h>
#include <rfb/rfb.h>
#include "img.h"
#include "png.h"
#include "jpeglib.h"

Include dependency graph for img.c:


Data Structures

struct  bmp_header
 BMP header data. More...
struct  img_jpg_error_mgr
 JPG error handling data. More...

Defines

#define e16(A)   A
#define e32(A)   A
#define IMG_BMP_EXT   ".bmp"
#define IMG_BMP_IDENTIFIER   0x4d42
#define IMG_PNG_EXT   ".png"
#define IMG_PNG_CHECK_BYTES   4
#define IMG_JPG_EXT   ".jpg"

Typedefs

typedef struct img_jpg_error_mgrimg_jpg_error_ptr

Functions

static int img_read_bmp (char *filename, struct img_bitmap *bitmap)
static void img_png_error (png_structp png_ptr, png_const_charp error_msg)
static void img_png_warning (png_structp png_ptr, png_const_charp warning_msg)
static int img_read_png (char *filename, struct img_bitmap *bitmap, int alpha_mode)
static void img_jpg_error (j_common_ptr cinfo)
static int img_read_jpg (char *filename, struct img_bitmap *bitmap)
struct img_bitmapimg_read (char *filename, int alpha_mode)
void img_free (struct img_bitmap *bitmap)

Variables

struct bmp_header packed

Detailed Description


Define Documentation

#define e16 (  )     A

Endian conversion for 16-bit values.

#define e32 (  )     A

Endian conversion for 32-bit values.

#define IMG_BMP_EXT   ".bmp"

BMP file extension.

#define IMG_BMP_IDENTIFIER   0x4d42

BMP identifier (first 2 bytes of image file).

#define IMG_PNG_EXT   ".png"

PNG file extension.

#define IMG_PNG_CHECK_BYTES   4

Number of check bytes for PNG images.

#define IMG_JPG_EXT   ".jpg"

JPG file extension.


Typedef Documentation

JPG error handling data.


Function Documentation

static int img_read_bmp ( char *  filename,
struct img_bitmap bitmap 
) [static]

Reads a 24bpp BMP file.

Parameters:
filename BMP filename
bitmap bitmap data (return value)
Returns:
0 on success or -1 if an error occured

static void img_png_error ( png_structp  png_ptr,
png_const_charp  error_msg 
) [static]

PNG error function.

Parameters:
png_ptr pointer to PNG context
error_msg error message

static void img_png_warning ( png_structp  png_ptr,
png_const_charp  warning_msg 
) [static]

PNG warning function.

Parameters:
png_ptr pointer to PNG context
warning_msg warning message

static int img_read_png ( char *  filename,
struct img_bitmap bitmap,
int  alpha_mode 
) [static]

Reads a 24bpp or 32bpp PNG file.

Parameters:
filename PNG filename
bitmap bitmap data (return value)
alpha_mode preserve or ignore alpha channel
Returns:
0 on success or -1 if an error occured

static void img_jpg_error ( j_common_ptr  cinfo  )  [static]

JPG error function.

Parameters:
cinfo jpeg decompression parameters

static int img_read_jpg ( char *  filename,
struct img_bitmap bitmap 
) [static]

Reads a 24bpp JPG file.

Parameters:
filename JPG filename
bitmap bitmap data (return value)
Returns:
0 on success or -1 if an error occured

struct img_bitmap* img_read ( char *  filename,
int  alpha_mode 
) [read]

Reads an image file (BMP, PNG, JPG).

Parameters:
filename image filename
alpha_mode preserve or ignore alpha channel
Returns:
a pointer to a bitmap or NULL if an error occured

void img_free ( struct img_bitmap bitmap  ) 

Bitmap data cleanup.

Frees allocated memory.

Parameters:
bitmap bitmap data


Variable Documentation

BMP header data.


Generated on Mon Mar 29 01:39:29 2010 for Veronica by  doxygen 1.5.8