libgutenprint API Reference 5.2.14

Data Fields
stp_image Struct Reference
image

The image type is an abstract data type for interfacing with the image creation program. More...

`#include <image.h>`

## Data Fields
void(* | init )(struct stp_image *image)
| This callback is used to perform any initialization required by the image layer for the image. More...
void(* | reset )(struct stp_image *image)
| This callback is called to reset the image to the beginning. More...
int(* | width )(struct stp_image *image)
| This callback returns the width of the image in pixels. More...
int(* | height )(struct stp_image *image)
| This callback returns the height of the image in pixels. More...
stp_image_status_t(* | get_row )(struct stp_image *image, unsigned char *data, size_t byte_limit, int row)
| This callback transfers the data from the image to the gimp-print library. More...
const char *(* | get_appname )(struct stp_image *image)
| This callback returns the name of the application. More...
void(* | conclude )(struct stp_image *image)
| This callback is called at the end of each page. More...
void * | rep
| A pointer to an application-specific state information that might need to be associated with the image object. More...

## Detailed Description

The image type is an abstract data type for interfacing with the image creation program.

It provides callbacks to functions defined within the client application which are called while printing the image.

## Field Documentation

## ◆ conclude

void(* stp_image::conclude) (struct stp_image *image)

This callback is called at the end of each page.

## ◆ get_appname

const char*(* stp_image::get_appname) (struct stp_image *image)

This callback returns the name of the application.

This is embedded in the output by some drivers.

## ◆ get_row

stp_image_status_t(* stp_image::get_row) (struct stp_image *image, unsigned char *data, size_t byte_limit, int row)

This callback transfers the data from the image to the gimp-print library.

It is called from the driver layer. It should copy WIDTH (as returned by the width() member) pixels of data into the data buffer. It normally returns STP_IMAGE_STATUS_OK; if something goes wrong, or the application wishes to stop producing any further output (e. g. because the user cancelled the print job), it should return STP_IMAGE_STATUS_ABORT. This will cause the driver to flush any remaining data to the output. It will always request rows in monotonically ascending order, but it may skip rows (if, for example, the resolution of the input is higher than the resolution of the output).

Parameters

  image | the image in use.
  data | a pointer to width() bytes of pixel data.
  byte_limit | (image width * number of channels).
  row | (unused).

## ◆ height

int(* stp_image::height) (struct stp_image *image)

This callback returns the height of the image in pixels.

Parameters

  image | the image in use.

## ◆ init

void(* stp_image::init) (struct stp_image *image)

This callback is used to perform any initialization required by the image layer for the image.

It will be called once per image.

Parameters

  image | the image in use.

## ◆ rep

void* stp_image::rep

A pointer to an application-specific state information that might need to be associated with the image object.

## ◆ reset

void(* stp_image::reset) (struct stp_image *image)

This callback is called to reset the image to the beginning.

It may (in principle) be called multiple times if a page is being printed more than once.

Warning
  The reset() call may be removed in the future.

Parameters

  image | the image in use.

## ◆ width

int(* stp_image::width) (struct stp_image *image)

This callback returns the width of the image in pixels.

Parameters

  image | the image in use.

The documentation for this struct was generated from the following file:

- include/gutenprint/image.h