Data Structures | Defines | Typedefs | Enumerations | Functions

hpgs.h File Reference

The public interfaces. More...

#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  hpgs_point_st
 A 2D point. More...
struct  hpgs_color_st
 An application level RGB color. More...
struct  hpgs_palette_color_st
 A screen RGB color as stored in a palette. More...
struct  hpgs_paint_color_st
 An image RGB color with an optional palette index. More...
struct  hpgs_bbox_st
 A bounding box. More...
struct  hpgs_matrix_st
 A transformation matrix for 2D points. More...
struct  hpgs_istream_vtable_st
 A table of virtual function implementing hpgs_istream. More...
struct  hpgs_istream_st
 A virtual input stream for the HPGL reader. More...
struct  hpgs_ostream_vtable_st
 A table of virtual function implementing hpgs_istream. More...
struct  hpgs_ostream_st
 A virtual output stream for the HPGL reader. More...
struct  hpgs_gstate_st
 The vector graphics state. More...
struct  hpgs_device_vtable_st
 A table of virtual function implementing hpgs_device. More...
struct  hpgs_device_st
 A virtual vector graphics device for the HPGL reader. More...
struct  hpgs_image_vtable_st
 A table of virtual function implementing hpgs_image. More...
struct  hpgs_image_st
 An abstract pixel image. More...
struct  hpgs_path_point_st
 A point in a stored path. More...
struct  hpgs_paint_path_st
 A stored vector path. More...

Defines

#define __inline__   inline
#define HPGS_API
#define HPGS_PRINTF_API(i)   HPGS_API
#define HPGS_I18N_API   HPGS_API
#define HPGS_I18N_N_API   HPGS_API
#define HPGS_INTERNAL_API
#define HPGS_INTERNAL_PRINTF_API(i)   HPGS_INTERNAL_API
#define HPGS_PRINTF1_API   HPGS_PRINTF_API(1)
#define HPGS_PRINTF2_API   HPGS_PRINTF_API(2)
#define HPGS_INTERNAL_PRINTF1_API   HPGS_INTERNAL_PRINTF_API(1)
#define HPGS_INTERNAL_PRINTF2_API   HPGS_INTERNAL_PRINTF_API(2)
#define HPGS_SIZE_T_FMT   "%zu"
#define HPGS_SIZE_T_FMT_ARG(i)   i
#define HPGS_SIZE_T_FMT_ARG_P(i)   i
#define HPGS_STRINGIFYIFY(i)   #i
#define HPGS_STRINGIFY(i)   HPGS_STRINGIFYIFY(i)
#define HPGS_MAJOR_VERSION   1
#define HPGS_MINOR_VERSION   1
#define HPGS_PATCH_VERSION   9
#define HPGS_EXTRA_VERSION
#define HPGS_VERSION   HPGS_STRINGIFY(HPGS_MAJOR_VERSION) "." HPGS_STRINGIFY(HPGS_MINOR_VERSION) "." HPGS_STRINGIFY(HPGS_PATCH_VERSION) HPGS_STRINGIFY(HPGS_EXTRA_VERSION)
#define HPGS_ESC   '\033'
#define HPGS_MAX_LABEL_SIZE   256
#define hpgs_alloca(sz)   alloca(sz)
#define HPGS_TRUE   1
#define HPGS_FALSE   0
#define HPGS_MIN(a, b)   ((a)<(b)?(a):(b))
#define HPGS_MAX(a, b)   ((a)>(b)?(a):(b))
#define HPGS_INIT_ARRAY(st, type, pmemb, nmemb, szmemb, insz)   (st->szmemb=insz,st->nmemb=0,(st->pmemb=(type*)malloc(sizeof(type)*insz))?0:-1)
#define HPGS_GROW_ARRAY_FOR_PUSH(st, type, pmemb, nmemb, szmemb)   ((st->nmemb >= st->szmemb)?hpgs_array_safe_resize(sizeof(type),(void **)(&st->pmemb),&st->szmemb,st->szmemb*2):(0))
#define HPGS_GROW_ARRAY_MIN_SIZE(st, type, pmemb, nmemb, szmemb, msz)   ((st->nmemb>=st->szmemb||st->szmemb<msz)?hpgs_array_safe_resize(sizeof(type),(void **)(&st->pmemb),&st->szmemb,HPGS_MAX(st->szmemb*2,msz)):(0))
#define HPGS_PATH_SEPARATOR   '/'
#define HPGS_DEVICE_CAP_RASTER   (1<<0)
 This device is a raster device.
#define HPGS_DEVICE_CAP_ANTIALIAS   (1<<1)
 This device supports anitaliasing.
#define HPGS_DEVICE_CAP_VECTOR   (1<<2)
 This device is a true vector device.
#define HPGS_DEVICE_CAP_MULTIPAGE   (1<<3)
 This device supports multiple pages.
#define HPGS_DEVICE_CAP_PAGECOLLATION   (1<<4)
 This device is able to write multiple pages to a single file.
#define HPGS_DEVICE_CAP_MULTISIZE   (1<<5)
 This device is able to cope with distinct sizes per page.
#define HPGS_DEVICE_CAP_DRAWIMAGE   (1<<6)
 The device may draw an image.
#define HPGS_DEVICE_CAP_NULLIMAGE   (1<<7)
 The device accepts a null image in drawimage.
#define HPGS_DEVICE_CAP_PLOTSIZE   (1<<8)
 This device is a plotsize device.
#define HPGS_DEVICE_CAP_ROP3   (1<<9)
 This device supports rop3 operations.
#define HPGS_BASE_CLASS(d)   (&(d->inherited))
#define HPGS_POINT_ROLE_MASK   0xF
 A mask for retrieving the role of a point in the path.
#define HPGS_POINT_UNDEFINED   0x0
 point is undefined
#define HPGS_POINT_LINE   0x1
 start of line
#define HPGS_POINT_BEZIER   0x2
 start of bezier curve
#define HPGS_POINT_CONTROL   0x3
 bezier control point
#define HPGS_POINT_FILL_LINE   0x4
 line fill only (implicit closepath)
#define HPGS_POINT_DOT   0x8
 indicates a moveto/lineto with the same coordinates at the start of a subpath.
#define HPGS_POINT_SUBPATH_START   0x10
 a subpath starts at this point
#define HPGS_POINT_SUBPATH_END   0x20
 a subpath ends at this point
#define HPGS_POINT_SUBPATH_CLOSE   0x40
 indicates an explicit closepath at the end of a subpath

Typedefs

typedef int hpgs_bool
typedef void(* hpgs_logger_func_t )(const char *fmt, va_list ap)
typedef struct hpgs_point_st hpgs_point
 A 2D point.
typedef struct hpgs_color_st hpgs_color
 An application level RGB color.
typedef struct
hpgs_palette_color_st 
hpgs_palette_color
typedef void(* hpgs_rop3_func_t )(unsigned char *, unsigned char, unsigned char)
typedef unsigned(* hpgs_xrop3_func_t )(unsigned char, unsigned char)
typedef struct hpgs_paint_color_st hpgs_paint_color
typedef struct hpgs_bbox_st hpgs_bbox
typedef struct hpgs_matrix_st hpgs_matrix
typedef struct hpgs_istream_st hpgs_istream
typedef struct
hpgs_istream_vtable_st 
hpgs_istream_vtable
typedef int(* hpgs_istream_getc_func_t )(void *)
typedef int(* hpgs_istream_ungetc_func_t )(int, void *)
typedef int(* hpgs_istream_close_func_t )(void *)
typedef int(* hpgs_istream_iseof_func_t )(void *)
typedef int(* hpgs_istream_iserror_func_t )(void *)
typedef int(* hpgs_istream_seek_func_t )(void *, size_t)
typedef int(* hpgs_istream_tell_func_t )(void *, size_t *)
typedef size_t(* hpgs_istream_read_func_t )(void *, size_t, size_t, void *)
typedef int(* hpgs_istream_seekend_func_t )(void *, size_t)
typedef struct hpgs_ostream_st hpgs_ostream
typedef struct
hpgs_ostream_vtable_st 
hpgs_ostream_vtable
typedef int(* hpgs_ostream_putc_func_t )(int, void *)
typedef size_t(* hpgs_ostream_write_func_t )(const void *, size_t, size_t, void *)
typedef int(* hpgs_ostream_vprintf_func_t )(void *, const char *, va_list)
typedef int(* hpgs_ostream_flush_func_t )(void *)
typedef int(* hpgs_ostream_close_func_t )(void *)
typedef int(* hpgs_ostream_iserror_func_t )(void *)
typedef hpgs_istream *(* hpgs_ostream_getbuf_func_t )(void *)
typedef int(* hpgs_ostream_tell_func_t )(void *, int layer, size_t *)
typedef int(* hpgs_ostream_seek_func_t )(void *, size_t)
typedef struct hpgs_device_st hpgs_device
typedef struct
hpgs_plotsize_device_st 
hpgs_plotsize_device
typedef struct hpgs_eps_device_st hpgs_eps_device
typedef struct hpgs_gs_device_st hpgs_gs_device
typedef struct
hpgs_device_vtable_st 
hpgs_device_vtable
typedef struct hpgs_image_st hpgs_image
typedef struct hpgs_image_vtable_st hpgs_image_vtable
typedef struct hpgs_png_image_st hpgs_png_image
typedef struct hpgs_paint_device_st hpgs_paint_device
typedef struct hpgs_gstate_st hpgs_gstate
typedef struct hpgs_font_st hpgs_font
typedef int(* hpgs_reader_asset_func_t )(void *, hpgs_device *, const hpgs_matrix *, const hpgs_matrix *, const hpgs_bbox *, int)
typedef struct hpgs_reader_st hpgs_reader
typedef int(* hpgs_moveto_func_t )(void *ctxt, const hpgs_point *p)
typedef int(* hpgs_lineto_func_t )(void *ctxt, const hpgs_point *p)
typedef int(* hpgs_curveto_func_t )(void *ctxt, const hpgs_point *p1, const hpgs_point *p2, const hpgs_point *p3)
typedef int(* hpgs_fill_func_t )(void *ctxt, hpgs_bool winding)
typedef struct hpgs_path_point_st hpgs_path_point
typedef struct hpgs_paint_path_st hpgs_paint_path

Enumerations

enum  hpgs_line_cap { hpgs_cap_butt = 0, hpgs_cap_round = 1, hpgs_cap_square = 2 }
enum  hpgs_line_join { hpgs_join_miter = 0, hpgs_join_round = 1, hpgs_join_bevel = 2 }

Functions

HPGS_API int hpgs_array_safe_resize (size_t itemsz, void **pptr, size_t *psz, size_t nsz)
HPGS_API void hpgs_init (const char *prefix)
HPGS_API const char * hpgs_get_prefix ()
HPGS_API void hpgs_cleanup (void)
HPGS_API char * hpgs_share_filename (const char *rel_filename)
HPGS_API char * hpgs_vsprintf_malloc (const char *fmt, va_list ap)
HPGS_PRINTF1_API char * hpgs_sprintf_malloc (const char *fmt,...)
HPGS_PRINTF1_API int hpgs_set_error (const char *fmt,...)
HPGS_PRINTF1_API int hpgs_error_ctxt (const char *fmt,...)
HPGS_API int hpgs_set_verror (const char *fmt, va_list ap)
HPGS_API int hpgs_verror_ctxt (const char *fmt, va_list ap)
HPGS_API const char * hpgs_get_error ()
HPGS_API hpgs_bool hpgs_have_error ()
HPGS_API void hpgs_clear_error ()
HPGS_API int hpgs_next_utf8 (const char **p)
HPGS_API int hpgs_utf8_strlen (const char *p, int n)
HPGS_I18N_API const char * hpgs_i18n (const char *msg)
HPGS_I18N_N_API const char * hpgs_i18n_n (const char *msg, const char *msg_plural, unsigned long n)
HPGS_API void hpgs_set_logger (hpgs_logger_func_t func)
HPGS_PRINTF1_API void hpgs_log (const char *fmt,...)
HPGS_API void hpgs_vlog (const char *fmt, va_list ap)
HPGS_API hpgs_bool hpgs_get_arg_value (const char *opt, const char *argv[], const char **value, int *narg)
HPGS_API hpgs_rop3_func_t hpgs_rop3_func (int rop3, hpgs_bool src_transparency, hpgs_bool pattern_transparency)
HPGS_API hpgs_xrop3_func_t hpgs_xrop3_func (int rop3, hpgs_bool src_transparency, hpgs_bool pattern_transparency)
HPGS_API hpgs_bool hpgs_bbox_isequal (const hpgs_bbox *bb1, const hpgs_bbox *bb2)
HPGS_API hpgs_bool hpgs_bbox_isnull (const hpgs_bbox *bb)
HPGS_API hpgs_bool hpgs_bbox_isempty (const hpgs_bbox *bb)
HPGS_API void hpgs_bbox_distance (hpgs_point *d, const hpgs_bbox *bb1, const hpgs_bbox *bb2)
HPGS_API void hpgs_bbox_null (hpgs_bbox *bb)
HPGS_API void hpgs_bbox_expand (hpgs_bbox *bb1, const hpgs_bbox *bb2)
HPGS_API void hpgs_bbox_intersect (hpgs_bbox *bb1, const hpgs_bbox *bb2)
static void hpgs_bbox_addborder (hpgs_bbox *bb, double border)
static void hpgs_bbox_add (hpgs_bbox *bb, const hpgs_point *p)
HPGS_API void hpgs_matrix_set_identity (hpgs_matrix *m)
HPGS_API void hpgs_matrix_xform (hpgs_point *res, const hpgs_matrix *m, const hpgs_point *p)
HPGS_API void hpgs_matrix_ixform (hpgs_point *res, const hpgs_point *p, const hpgs_matrix *m)
HPGS_API void hpgs_matrix_scale (hpgs_point *res, const hpgs_matrix *m, const hpgs_point *p)
HPGS_API void hpgs_matrix_iscale (hpgs_point *res, const hpgs_point *p, const hpgs_matrix *m)
HPGS_API void hpgs_matrix_concat (hpgs_matrix *res, const hpgs_matrix *a, const hpgs_matrix *b)
HPGS_API void hpgs_matrix_invert (hpgs_matrix *res, const hpgs_matrix *m)
HPGS_API void hpgs_matrix_xform_bbox (hpgs_bbox *res, const hpgs_matrix *m, const hpgs_bbox *bb)
HPGS_API void hpgs_matrix_ixform_bbox (hpgs_bbox *res, const hpgs_bbox *bb, const hpgs_matrix *m)
HPGS_API hpgs_istreamhpgs_new_file_istream (const char *fn)
HPGS_API hpgs_istreamhpgs_new_mem_istream (const unsigned char *data, size_t data_size, hpgs_bool dup)
static int hpgs_getc (hpgs_istream *_this)
static int hpgs_ungetc (int c, hpgs_istream *_this)
static int hpgs_istream_close (hpgs_istream *_this)
static int hpgs_istream_iseof (hpgs_istream *_this)
static int hpgs_istream_iserror (hpgs_istream *_this)
static int hpgs_istream_seek (hpgs_istream *_this, size_t pos)
static int hpgs_istream_seekend (hpgs_istream *_this, size_t pos)
static int hpgs_istream_tell (hpgs_istream *_this, size_t *pos)
static size_t hpgs_istream_read (void *ptr, size_t size, size_t nmemb, hpgs_istream *_this)
HPGS_API hpgs_ostreamhpgs_new_file_ostream (const char *fn)
HPGS_API hpgs_ostreamhpgs_new_mem_ostream (size_t data_reserve)
HPGS_API hpgs_ostreamhpgs_new_z_ostream (hpgs_ostream *base, int compression, hpgs_bool take_base)
HPGS_API int hpgs_copy_streams (hpgs_ostream *out, hpgs_istream *in)
HPGS_PRINTF2_API int hpgs_ostream_printf (hpgs_ostream *_this, const char *msg,...)
HPGS_API int hpgs_ostream_vprintf (hpgs_ostream *_this, const char *msg, va_list ap)
static int hpgs_ostream_putc (int c, hpgs_ostream *_this)
static size_t hpgs_ostream_write (const void *ptr, size_t size, size_t nmemb, hpgs_ostream *_this)
static int hpgs_ostream_flush (hpgs_ostream *_this)
static int hpgs_ostream_close (hpgs_ostream *_this)
static int hpgs_ostream_iserror (hpgs_ostream *_this)
static hpgs_istreamhpgs_ostream_getbuf (hpgs_ostream *_this)
static int hpgs_ostream_tell (hpgs_ostream *_this, int layer, size_t *pos)
static int hpgs_ostream_seek (hpgs_ostream *_this, size_t pos)
HPGS_API int hpgs_parse_papersize (const char *str, double *pt_width, double *pt_height)
HPGS_API int hpgs_parse_length (const char *str, double *pt_length)
HPGS_API hpgs_gstatehpgs_new_gstate (void)
HPGS_API void hpgs_gstate_destroy (hpgs_gstate *gstate)
HPGS_API int hpgs_gstate_setdash (hpgs_gstate *gstate, const float *, unsigned, double)
HPGS_API hpgs_plotsize_devicehpgs_new_plotsize_device (hpgs_bool ignore_ps, hpgs_bool do_linewidth)
HPGS_API hpgs_eps_devicehpgs_new_eps_device (const char *filename, const hpgs_bbox *bb, hpgs_bool do_rop3)
HPGS_API hpgs_eps_devicehpgs_new_ps_device (const char *filename, const hpgs_bbox *bb, hpgs_bool do_rop3)
HPGS_API int hpgs_new_plugin_device (hpgs_device **device, void **page_asset_ctxt, hpgs_reader_asset_func_t *page_asset_func, void **frame_asset_ctxt, hpgs_reader_asset_func_t *frame_asset_func, const char *dev_name, const char *filename, const hpgs_bbox *bb, double xres, double yres, hpgs_bool do_rop3, int argc, const char *argv[])
HPGS_API const char * hpgs_device_rtti (hpgs_device *_this)
static int hpgs_moveto (hpgs_device *_this, const hpgs_point *p)
static int hpgs_lineto (hpgs_device *_this, const hpgs_point *p)
static int hpgs_curveto (hpgs_device *_this, const hpgs_point *p1, const hpgs_point *p2, const hpgs_point *p3)
static int hpgs_closepath (hpgs_device *_this)
static int hpgs_newpath (hpgs_device *_this)
static int hpgs_stroke (hpgs_device *_this)
static int hpgs_fill (hpgs_device *_this, hpgs_bool winding)
static int hpgs_clip (hpgs_device *_this, hpgs_bool winding)
static int hpgs_clipsave (hpgs_device *_this)
static int hpgs_cliprestore (hpgs_device *_this)
static int hpgs_setrgbcolor (hpgs_device *_this, const hpgs_color *rgb)
static int hpgs_setdash (hpgs_device *_this, const float *d, unsigned nd, double s)
static int hpgs_setlinewidth (hpgs_device *_this, double w)
static int hpgs_setlinecap (hpgs_device *_this, hpgs_line_cap c)
static int hpgs_setlinejoin (hpgs_device *_this, hpgs_line_join j)
static int hpgs_setmiterlimit (hpgs_device *_this, double l)
static int hpgs_device_capabilities (hpgs_device *_this)
HPGS_API int hpgs_setrop3 (hpgs_device *_this, int rop, hpgs_bool src_transparency, hpgs_bool pattern_transparency)
HPGS_API int hpgs_setpatcol (hpgs_device *_this, const hpgs_color *rgb)
HPGS_API int hpgs_drawimage (hpgs_device *_this, const hpgs_image *img, const hpgs_point *ll, const hpgs_point *lr, const hpgs_point *ur)
HPGS_API int hpgs_setplotsize (hpgs_device *_this, const hpgs_bbox *bb)
HPGS_API int hpgs_getplotsize (hpgs_device *_this, int i, hpgs_bbox *bb)
HPGS_API int hpgs_showpage (hpgs_device *_this, int i)
HPGS_API int hpgs_device_finish (hpgs_device *_this)
HPGS_API void hpgs_device_destroy (hpgs_device *_this)
HPGS_API hpgs_readerhpgs_new_reader (hpgs_istream *in, hpgs_device *dev, hpgs_bool multipage, int v)
HPGS_API void hpgs_reader_set_lw_factor (hpgs_reader *reader, double lw_factor)
HPGS_API void hpgs_reader_set_fixed_page (hpgs_reader *reader, hpgs_bbox *bbox, double page_width, double page_height, double border, double angle)
HPGS_API void hpgs_reader_set_dynamic_page (hpgs_reader *reader, hpgs_bbox *bbox, double max_page_width, double max_page_height, double border, double angle)
HPGS_API void hpgs_reader_set_page_asset_func (hpgs_reader *reader, void *ctxt, hpgs_reader_asset_func_t func)
HPGS_API void hpgs_reader_set_frame_asset_func (hpgs_reader *reader, void *ctxt, hpgs_reader_asset_func_t func)
HPGS_API void hpgs_reader_interrupt (hpgs_reader *reader)
HPGS_API int hpgs_reader_get_current_pen (hpgs_reader *reader)
HPGS_API int hpgs_reader_imbue (hpgs_reader *reader, hpgs_device *dev)
HPGS_API int hpgs_reader_attach (hpgs_reader *reader, hpgs_istream *in)
HPGS_API int hpgs_reader_stamp (hpgs_reader *reader, const hpgs_bbox *bb, const char *stamp, const char *encoding, double stamp_size)
HPGS_API int hpgs_device_stamp (hpgs_device *dev, const hpgs_bbox *bb, const char *stamp, const char *encoding, double stamp_size)
HPGS_API int hpgs_reader_set_png_dump (hpgs_reader *reader, const char *filename)
HPGS_API int hpgs_read (hpgs_reader *reader, hpgs_bool finish)
HPGS_API void hpgs_destroy_reader (hpgs_reader *reader)
HPGS_API hpgs_fonthpgs_find_font (const char *name)
HPGS_API void hpgs_destroy_font (hpgs_font *font)
HPGS_API double hpgs_font_get_ascent (hpgs_font *font)
HPGS_API double hpgs_font_get_descent (hpgs_font *font)
HPGS_API double hpgs_font_get_line_gap (hpgs_font *font)
HPGS_API double hpgs_font_get_cap_height (hpgs_font *font)
HPGS_API unsigned hpgs_font_get_glyph_count (hpgs_font *font)
HPGS_API unsigned hpgs_font_get_glyph_id (hpgs_font *font, int uc)
HPGS_API const char * hpgs_font_get_glyph_name (hpgs_font *font, unsigned gid)
HPGS_API int hpgs_font_get_glyph_bbox (hpgs_font *font, hpgs_bbox *bb, unsigned gid)
HPGS_API int hpgs_font_get_glyph_metrics (hpgs_font *font, hpgs_point *m, unsigned gid)
HPGS_API int hpgs_font_get_kern_metrics (hpgs_font *font, hpgs_point *m, unsigned gid_l, unsigned gid_r)
HPGS_API int hpgs_font_get_utf8_metrics (hpgs_font *font, hpgs_point *m, const char *str, int strlen)
HPGS_API int hpgs_font_decompose_glyph (hpgs_font *font, void *ctxt, hpgs_moveto_func_t moveto_func, hpgs_lineto_func_t lineto_func, hpgs_curveto_func_t curveto_func, const hpgs_matrix *m, unsigned gid)
HPGS_API int hpgs_font_draw_glyph (hpgs_font *font, hpgs_device *device, const hpgs_matrix *m, unsigned gid)
HPGS_API int hpgs_font_decompose_utf8 (hpgs_font *font, void *ctxt, hpgs_moveto_func_t moveto_func, hpgs_lineto_func_t lineto_func, hpgs_curveto_func_t curveto_func, hpgs_fill_func_t fill_func, const hpgs_matrix *m, const char *str, int strlen)
HPGS_API int hpgs_font_draw_utf8 (hpgs_font *font, hpgs_device *device, const hpgs_matrix *m, const char *str, int strlen)
HPGS_API int hpgs_image_define_color_func (hpgs_image *image, hpgs_paint_color *c)
static int hpgs_image_define_color (hpgs_image *image, hpgs_paint_color *c)
HPGS_API int hpgs_image_set_palette (hpgs_image *image, hpgs_palette_color *p, int np)
HPGS_API hpgs_png_imagehpgs_new_png_image (int width, int height, int depth, hpgs_bool palette, hpgs_bool do_rop3)
HPGS_API int hpgs_png_image_set_compression (hpgs_png_image *pim, int compression)
HPGS_API int hpgs_image_set_resolution (hpgs_image *pim, double x_dpi, double y_dpi)
HPGS_API int hpgs_image_get_data (hpgs_image *_this, unsigned char **data, int *stride, int *depth)
static int hpgs_image_get_pixel (const hpgs_image *_this, int x, int y, hpgs_paint_color *c, double *alpha)
static int hpgs_image_put_pixel (hpgs_image *_this, int x, int y, const hpgs_paint_color *c, double alpha)
static int hpgs_image_put_chunk (hpgs_image *_this, int x1, int x2, int y, const hpgs_paint_color *c)
static int hpgs_image_rop3_pixel (hpgs_image *_this, int x, int y, const hpgs_paint_color *c, double alpha)
static int hpgs_image_rop3_chunk (hpgs_image *_this, int x1, int x2, int y, const hpgs_paint_color *c)
HPGS_API int hpgs_image_resize (hpgs_image *_this, int w, int h)
HPGS_API int hpgs_image_clear (hpgs_image *_this)
HPGS_API int hpgs_image_write (hpgs_image *_this, const char *filename)
HPGS_API int hpgs_image_setrop3 (hpgs_image *_this, hpgs_rop3_func_t rop3)
HPGS_API int hpgs_image_setpatcol (hpgs_image *_this, const hpgs_palette_color *p)
HPGS_API void hpgs_image_destroy (hpgs_image *_this)
HPGS_API int hpgs_image_rop3_clip (hpgs_device *device, hpgs_palette_color *data, const hpgs_image *img, const hpgs_point *ll, const hpgs_point *lr, const hpgs_point *ur, const hpgs_palette_color *p, hpgs_xrop3_func_t xrop3)
HPGS_API hpgs_paint_pathhpgs_new_paint_path (void)
HPGS_API void hpgs_paint_path_destroy (hpgs_paint_path *_this)
HPGS_API void hpgs_paint_path_truncate (hpgs_paint_path *_this)
HPGS_API int hpgs_paint_path_moveto (hpgs_paint_path *_this, const hpgs_point *p)
HPGS_API int hpgs_paint_path_lineto (hpgs_paint_path *_this, const hpgs_point *p)
HPGS_API int hpgs_paint_path_curveto (hpgs_paint_path *_this, const hpgs_point *p1, const hpgs_point *p2, const hpgs_point *p3)
HPGS_API int hpgs_paint_path_closepath (hpgs_paint_path *_this)
HPGS_API int hpgs_paint_path_buldgeto (hpgs_paint_path *_this, const hpgs_point *p, double buldge)
HPGS_API hpgs_paint_pathhpgs_paint_path_stroke_path (const hpgs_paint_path *_this, const hpgs_gstate *gstate)
HPGS_API hpgs_paint_pathhpgs_paint_path_decompose_dashes (const hpgs_paint_path *_this, const hpgs_gstate *gstate)
HPGS_API double hpgs_bezier_path_x (const hpgs_paint_path *path, int i, double t)
HPGS_API double hpgs_bezier_path_y (const hpgs_paint_path *path, int i, double t)
HPGS_API double hpgs_bezier_path_delta_x (const hpgs_paint_path *path, int i, double t)
HPGS_API double hpgs_bezier_path_delta_y (const hpgs_paint_path *path, int i, double t)
HPGS_API double hpgs_bezier_path_xmin (const hpgs_paint_path *path, int i)
HPGS_API double hpgs_bezier_path_xmax (const hpgs_paint_path *path, int i)
HPGS_API double hpgs_bezier_path_ymin (const hpgs_paint_path *path, int i)
HPGS_API double hpgs_bezier_path_ymax (const hpgs_paint_path *path, int i)
HPGS_API void hpgs_bezier_path_point (const hpgs_paint_path *path, int i, double t, hpgs_point *p)
HPGS_API void hpgs_bezier_path_delta (const hpgs_paint_path *path, int i, double t, hpgs_point *p)
HPGS_API void hpgs_bezier_path_tangent (const hpgs_paint_path *path, int i, double t, int orientation, double ytol, hpgs_point *p)
HPGS_API void hpgs_bezier_path_singularities (const hpgs_paint_path *path, int i, double t0, double t1, int *nx, double *tx)
HPGS_API void hpgs_bezier_path_to_quadratic (const hpgs_paint_path *path, int i, double t0, double t1, int *nx, hpgs_point *points)
HPGS_API hpgs_paint_devicehpgs_new_paint_device (hpgs_image *image, const char *filename, const hpgs_bbox *bb, hpgs_bool antialias)
HPGS_API void hpgs_paint_device_set_image_interpolation (hpgs_paint_device *pdv, int i)
HPGS_API void hpgs_paint_device_set_thin_alpha (hpgs_paint_device *pdv, double a)

Detailed Description

The public interfaces.

A header file, which declares the public structures and functions provided by the hpgs library. The API declared in this header file remains stable across the whole series of release with the same major ans minor number.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines