| 
 | 
typedef struct
{
  char  **(*parameters)(const stp_printer_t printer,
                        const char *ppd_file,
                        const char *name, int *count);
  void  (*media_size)(const stp_printer_t printer,
                      const stp_vars_t v, int *width,
                      int *height);
  void  (*imageable_area)(const stp_printer_t printer,
                          const stp_vars_t v,
                          int *left, int *right,
                          int *bottom, int *top);
  void  (*limit)(const stp_printer_t printer,
                 const stp_vars_t v,
                 int *width, int *height);
  void  (*print)(const stp_printer_t printer,
                 stp_image_t *image, const stp_vars_t v);
  const char *(*default_parameters)(const stp_printer_t printer,
                                    const char *ppd_file,
                                    const char *name);
  void  (*describe_resolution)(const stp_printer_t printer,
                               const char *resolution,
                               int *x, int *y);
  int   (*verify)(const stp_printer_t p, const stp_vars_t v);
} stp_printfuncs_t;
typedef struct stp_image
{
  void (*init)(struct stp_image *image);
  void (*reset)(struct stp_image *image);
  void (*transpose)(struct stp_image *image);
  void (*hflip)(struct stp_image *image);
  void (*vflip)(struct stp_image *image);
  void (*crop)(struct stp_image *image,
               int left, int top, int right,
               int bottom);
  void (*rotate_ccw)(struct stp_image *image);
  void (*rotate_cw)(struct stp_image *image);
  void (*rotate_180)(struct stp_image *image);
  int  (*bpp)(struct stp_image *image);
  int  (*width)(struct stp_image *image);
  int  (*height)(struct stp_image *image);
  void (*get_row)(struct stp_image *image,
        unsigned char *data, int row);
  const char *(*get_appname)(struct stp_image *image);
  void (*progress_init)(struct stp_image *image);
  void (*note_progress)(struct stp_image *image,
        double current, double total);
  void (*progress_conclude)(struct stp_image *image);
  void *rep;
} stp_image_t;
This is an abstract data type for interfacing with the program which created the image.
Go to the first, previous, next, last section, table of contents.