libgutenprint API Reference  5.3.1
Data Structures | Macros | Typedefs | Functions
dither.h File Reference

Dither functions. More...

Data Structures

struct  stp_dither_matrix_short
 
struct  stp_dither_matrix_normal
 
struct  stp_dither_matrix_generic
 
struct  dither_matrix_impl
 
struct  stp_dotsize
 
struct  stp_shade
 

Macros

#define STP_ECOLOR_K   0
 
#define STP_ECOLOR_C   1
 
#define STP_ECOLOR_M   2
 
#define STP_ECOLOR_Y   3
 
#define STP_NCOLORS   (4)
 

Typedefs

typedef struct stp_dither_matrix_short stp_dither_matrix_short_t
 
typedef struct stp_dither_matrix_normal stp_dither_matrix_normal_t
 
typedef struct stp_dither_matrix_generic stp_dither_matrix_generic_t
 
typedef struct dither_matrix_impl stp_dither_matrix_impl_t
 
typedef struct stp_dotsize stp_dotsize_t
 
typedef struct stp_shade stp_shade_t
 

Functions

void stp_dither_matrix_iterated_init (stp_dither_matrix_impl_t *mat, size_t size, size_t exponent, const unsigned *array)
 
void stp_dither_matrix_shear (stp_dither_matrix_impl_t *mat, int x_shear, int y_shear)
 
void stp_dither_matrix_init (stp_dither_matrix_impl_t *mat, int x_size, int y_size, const unsigned int *array, int transpose, int prescaled)
 
void stp_dither_matrix_init_short (stp_dither_matrix_impl_t *mat, int x_size, int y_size, const unsigned short *array, int transpose, int prescaled)
 
int stp_dither_matrix_validate_array (const stp_array_t *array)
 
void stp_dither_matrix_init_from_dither_array (stp_dither_matrix_impl_t *mat, const stp_array_t *array, int transpose)
 
void stp_dither_matrix_destroy (stp_dither_matrix_impl_t *mat)
 
void stp_dither_matrix_clone (const stp_dither_matrix_impl_t *src, stp_dither_matrix_impl_t *dest, int x_offset, int y_offset)
 
void stp_dither_matrix_copy (const stp_dither_matrix_impl_t *src, stp_dither_matrix_impl_t *dest)
 
void stp_dither_matrix_scale_exponentially (stp_dither_matrix_impl_t *mat, double exponent)
 
void stp_dither_matrix_set_row (stp_dither_matrix_impl_t *mat, int y)
 
stp_array_tstp_find_standard_dither_array (int x_aspect, int y_aspect)
 
stp_parameter_list_t stp_dither_list_parameters (const stp_vars_t *v)
 
void stp_dither_describe_parameter (const stp_vars_t *v, const char *name, stp_parameter_t *description)
 
void stp_dither_init (stp_vars_t *v, stp_image_t *image, int out_width, int xdpi, int ydpi)
 
void stp_dither_set_iterated_matrix (stp_vars_t *v, size_t edge, size_t iterations, const unsigned *data, int prescaled, int x_shear, int y_shear)
 
void stp_dither_set_matrix (stp_vars_t *v, const stp_dither_matrix_generic_t *mat, int transpose, int x_shear, int y_shear)
 
void stp_dither_set_matrix_from_dither_array (stp_vars_t *v, const stp_array_t *array, int transpose)
 
void stp_dither_set_transition (stp_vars_t *v, double)
 
void stp_dither_set_randomizer (stp_vars_t *v, int color, double)
 
void stp_dither_set_ink_spread (stp_vars_t *v, int spread)
 
void stp_dither_set_adaptive_limit (stp_vars_t *v, double limit)
 
int stp_dither_get_first_position (stp_vars_t *v, int color, int subchan)
 
int stp_dither_get_last_position (stp_vars_t *v, int color, int subchan)
 
void stp_dither_set_inks_simple (stp_vars_t *v, int color, int nlevels, const double *levels, double density, double darkness)
 
void stp_dither_set_inks_full (stp_vars_t *v, int color, int nshades, const stp_shade_t *shades, double density, double darkness)
 
void stp_dither_set_inks (stp_vars_t *v, int color, double density, double darkness, int nshades, const double *svalues, int ndotsizes, const double *dvalues)
 
void stp_dither_add_channel (stp_vars_t *v, unsigned char *data, unsigned channel, unsigned subchannel)
 
unsigned char * stp_dither_get_channel (stp_vars_t *v, unsigned channel, unsigned subchannel)
 
void stp_dither (stp_vars_t *v, int row, int duplicate_line, int zero_mask, const unsigned char *mask)
 
void stp_dither_internal (stp_vars_t *v, int row, const unsigned short *input, int duplicate_line, int zero_mask, const unsigned char *mask)
 

Detailed Description

Dither functions.

Macro Definition Documentation

◆ STP_ECOLOR_C

#define STP_ECOLOR_C   1

◆ STP_ECOLOR_K

#define STP_ECOLOR_K   0

◆ STP_ECOLOR_M

#define STP_ECOLOR_M   2

◆ STP_ECOLOR_Y

#define STP_ECOLOR_Y   3

◆ STP_NCOLORS

#define STP_NCOLORS   (4)

Typedef Documentation

◆ stp_dither_matrix_generic_t

◆ stp_dither_matrix_impl_t

◆ stp_dither_matrix_normal_t

◆ stp_dither_matrix_short_t

◆ stp_dotsize_t

typedef struct stp_dotsize stp_dotsize_t

◆ stp_shade_t

typedef struct stp_shade stp_shade_t

Function Documentation

◆ stp_dither()

void stp_dither ( stp_vars_t v,
int  row,
int  duplicate_line,
int  zero_mask,
const unsigned char *  mask 
)

◆ stp_dither_add_channel()

void stp_dither_add_channel ( stp_vars_t v,
unsigned char *  data,
unsigned  channel,
unsigned  subchannel 
)

◆ stp_dither_describe_parameter()

void stp_dither_describe_parameter ( const stp_vars_t v,
const char *  name,
stp_parameter_t description 
)

◆ stp_dither_get_channel()

unsigned char* stp_dither_get_channel ( stp_vars_t v,
unsigned  channel,
unsigned  subchannel 
)

◆ stp_dither_get_first_position()

int stp_dither_get_first_position ( stp_vars_t v,
int  color,
int  subchan 
)

◆ stp_dither_get_last_position()

int stp_dither_get_last_position ( stp_vars_t v,
int  color,
int  subchan 
)

◆ stp_dither_init()

void stp_dither_init ( stp_vars_t v,
stp_image_t image,
int  out_width,
int  xdpi,
int  ydpi 
)

◆ stp_dither_internal()

void stp_dither_internal ( stp_vars_t v,
int  row,
const unsigned short *  input,
int  duplicate_line,
int  zero_mask,
const unsigned char *  mask 
)

◆ stp_dither_list_parameters()

stp_parameter_list_t stp_dither_list_parameters ( const stp_vars_t v)

◆ stp_dither_matrix_clone()

void stp_dither_matrix_clone ( const stp_dither_matrix_impl_t src,
stp_dither_matrix_impl_t dest,
int  x_offset,
int  y_offset 
)

◆ stp_dither_matrix_copy()

void stp_dither_matrix_copy ( const stp_dither_matrix_impl_t src,
stp_dither_matrix_impl_t dest 
)

◆ stp_dither_matrix_destroy()

void stp_dither_matrix_destroy ( stp_dither_matrix_impl_t mat)

◆ stp_dither_matrix_init()

void stp_dither_matrix_init ( stp_dither_matrix_impl_t mat,
int  x_size,
int  y_size,
const unsigned int *  array,
int  transpose,
int  prescaled 
)

◆ stp_dither_matrix_init_from_dither_array()

void stp_dither_matrix_init_from_dither_array ( stp_dither_matrix_impl_t mat,
const stp_array_t array,
int  transpose 
)

◆ stp_dither_matrix_init_short()

void stp_dither_matrix_init_short ( stp_dither_matrix_impl_t mat,
int  x_size,
int  y_size,
const unsigned short *  array,
int  transpose,
int  prescaled 
)

◆ stp_dither_matrix_iterated_init()

void stp_dither_matrix_iterated_init ( stp_dither_matrix_impl_t mat,
size_t  size,
size_t  exponent,
const unsigned *  array 
)

◆ stp_dither_matrix_scale_exponentially()

void stp_dither_matrix_scale_exponentially ( stp_dither_matrix_impl_t mat,
double  exponent 
)

◆ stp_dither_matrix_set_row()

void stp_dither_matrix_set_row ( stp_dither_matrix_impl_t mat,
int  y 
)

◆ stp_dither_matrix_shear()

void stp_dither_matrix_shear ( stp_dither_matrix_impl_t mat,
int  x_shear,
int  y_shear 
)

◆ stp_dither_matrix_validate_array()

int stp_dither_matrix_validate_array ( const stp_array_t array)

◆ stp_dither_set_adaptive_limit()

void stp_dither_set_adaptive_limit ( stp_vars_t v,
double  limit 
)

◆ stp_dither_set_ink_spread()

void stp_dither_set_ink_spread ( stp_vars_t v,
int  spread 
)

◆ stp_dither_set_inks()

void stp_dither_set_inks ( stp_vars_t v,
int  color,
double  density,
double  darkness,
int  nshades,
const double *  svalues,
int  ndotsizes,
const double *  dvalues 
)

◆ stp_dither_set_inks_full()

void stp_dither_set_inks_full ( stp_vars_t v,
int  color,
int  nshades,
const stp_shade_t shades,
double  density,
double  darkness 
)

◆ stp_dither_set_inks_simple()

void stp_dither_set_inks_simple ( stp_vars_t v,
int  color,
int  nlevels,
const double *  levels,
double  density,
double  darkness 
)

◆ stp_dither_set_iterated_matrix()

void stp_dither_set_iterated_matrix ( stp_vars_t v,
size_t  edge,
size_t  iterations,
const unsigned *  data,
int  prescaled,
int  x_shear,
int  y_shear 
)

◆ stp_dither_set_matrix()

void stp_dither_set_matrix ( stp_vars_t v,
const stp_dither_matrix_generic_t mat,
int  transpose,
int  x_shear,
int  y_shear 
)

◆ stp_dither_set_matrix_from_dither_array()

void stp_dither_set_matrix_from_dither_array ( stp_vars_t v,
const stp_array_t array,
int  transpose 
)

◆ stp_dither_set_randomizer()

void stp_dither_set_randomizer ( stp_vars_t v,
int  color,
double   
)

◆ stp_dither_set_transition()

void stp_dither_set_transition ( stp_vars_t v,
double   
)

◆ stp_find_standard_dither_array()

stp_array_t* stp_find_standard_dither_array ( int  x_aspect,
int  y_aspect 
)