# include/gutenprint/weave.h File Reference

## Data Structures

struct | stp_weave_t
struct | stp_pass_t
struct | stp_lineoff_t
struct | stp_lineactive_t
struct | stp_linecount_t
struct | stp_linebufs_t
struct | stp_linebounds_t

## Defines

#define | STP_MAX_WEAVE (16)

## Typedefs

typedef int | stp_packfunc (stp_vars_t *v, const unsigned char *line, int height, unsigned char *comp_buf, unsigned char **comp_ptr, int *first, int *last)
typedef void | stp_fillfunc (stp_vars_t *v, int row, int subpass, int width, int missingstartrows, int color)
typedef void | stp_flushfunc (stp_vars_t *v, int passno, int vertical_subpass)
typedef int | stp_compute_linewidth_func (stp_vars_t *v, int n)

## Enumerations

enum | stp_weave_strategy_t { STP_WEAVE_ZIGZAG, STP_WEAVE_ASCENDING, STP_WEAVE_DESCENDING, STP_WEAVE_ASCENDING_2X, STP_WEAVE_STAGGERED, STP_WEAVE_ASCENDING_3X }

## Functions

void | stp_initialize_weave (stp_vars_t *v, int jets, int separation, int oversample, int horizontal, int vertical, int ncolors, int bitwidth, int linewidth, int line_count, int first_line, int page_height, const int *head_offset, stp_weave_strategy_t, stp_flushfunc, stp_fillfunc, stp_packfunc, stp_compute_linewidth_func)
void | stp_flush_all (stp_vars_t *v)
void | stp_write_weave (stp_vars_t *v, unsigned char *const cols[])
stp_lineoff_t * | stp_get_lineoffsets_by_pass (const stp_vars_t *v, int pass)
stp_lineactive_t * | stp_get_lineactive_by_pass (const stp_vars_t *v, int pass)
stp_linecount_t * | stp_get_linecount_by_pass (const stp_vars_t *v, int pass)
const stp_linebufs_t * | stp_get_linebases_by_pass (const stp_vars_t *v, int pass)
stp_pass_t * | stp_get_pass_by_pass (const stp_vars_t *v, int pass)
void | stp_weave_parameters_by_row (const stp_vars_t *v, int row, int vertical_subpass, stp_weave_t *w)

## Variables

stp_packfunc | stp_pack_tiff
stp_packfunc | stp_pack_uncompressed
stp_fillfunc | stp_fill_tiff
stp_fillfunc | stp_fill_uncompressed
stp_compute_linewidth_func | stp_compute_tiff_linewidth
stp_compute_linewidth_func | stp_compute_uncompressed_linewidth

## Detailed Description

Softweave functions.

## Define Documentation

#define STP_MAX_WEAVE (16)

## Typedef Documentation

typedef int stp_compute_linewidth_func(stp_vars_t *v, int n)

typedef void stp_fillfunc(stp_vars_t *v, int row, int subpass, int width, int missingstartrows, int color)

typedef void stp_flushfunc(stp_vars_t *v, int passno, int vertical_subpass)

typedef int stp_packfunc(stp_vars_t *v, const unsigned char *line, int height, unsigned char *comp_buf, unsigned char **comp_ptr, int *first, int *last)

## Enumeration Type Documentation

enum stp_weave_strategy_t

Enumerator:

  STP_WEAVE_ZIGZAG |
  STP_WEAVE_ASCENDING |
  STP_WEAVE_DESCENDING |
  STP_WEAVE_ASCENDING_2X |
  STP_WEAVE_STAGGERED |
  STP_WEAVE_ASCENDING_3X |

## Function Documentation

void stp_flush_all | ( | stp_vars_t * | v | ) |

stp_lineactive_t* stp_get_lineactive_by_pass | ( | const stp_vars_t * | v,
|  | int | pass |
| ) |  |  |

const stp_linebufs_t* stp_get_linebases_by_pass | ( | const stp_vars_t * | v,
|  | int | pass |
| ) |  |  |

stp_linecount_t* stp_get_linecount_by_pass | ( | const stp_vars_t * | v,
|  | int | pass |
| ) |  |  |

stp_lineoff_t* stp_get_lineoffsets_by_pass | ( | const stp_vars_t * | v,
|  | int | pass |
| ) |  |  |

stp_pass_t* stp_get_pass_by_pass | ( | const stp_vars_t * | v,
|  | int | pass |
| ) |  |  |

void stp_initialize_weave | ( | stp_vars_t * | v,
|  | int | jets,
|  | int | separation,
|  | int | oversample,
|  | int | horizontal,
|  | int | vertical,
|  | int | ncolors,
|  | int | bitwidth,
|  | int | linewidth,
|  | int | line_count,
|  | int | first_line,
|  | int | page_height,
|  | const int * | head_offset,
|  | stp_weave_strategy_t | ,
|  | stp_flushfunc | ,
|  | stp_fillfunc | ,
|  | stp_packfunc | ,
|  | stp_compute_linewidth_func |  |
| ) |  |  |

void stp_weave_parameters_by_row | ( | const stp_vars_t * | v,
|  | int | row,
|  | int | vertical_subpass,
|  | stp_weave_t * | w |
| ) |  |  |

void stp_write_weave | ( | stp_vars_t * | v,
|  | unsigned char *const | cols[] |
| ) |  |  |

## Variable Documentation

stp_compute_linewidth_func stp_compute_tiff_linewidth

stp_compute_linewidth_func stp_compute_uncompressed_linewidth

stp_fillfunc stp_fill_tiff

stp_fillfunc stp_fill_uncompressed

stp_packfunc stp_pack_tiff

stp_packfunc stp_pack_uncompressed