hpgs  1.1.8
About: HPGS is an HPGL/2 interpreter, which renders HPGL/2 through a Postscript-like API. Currently, it can render to eps and png files.
  Fossies Dox: hpgs-1.1.8.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Basic vector graphics devices.

Data Structures

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_plotsize_device_st
 A vector graphics device for plotsize calculating. More...
 
struct  hpgs_ps_media_size_st
 A structure for storing a paper size. More...
 
struct  hpgs_eps_device_st
 A vector graphics device for drawing to an eps file. More...
 

Macros

#define HPGS_DEVICE_CAP_RASTER   (1<<0)
 This device is a raster device. More...
 
#define HPGS_DEVICE_CAP_ANTIALIAS   (1<<1)
 This device supports anitaliasing. More...
 
#define HPGS_DEVICE_CAP_VECTOR   (1<<2)
 This device is a true vector device. More...
 
#define HPGS_DEVICE_CAP_MULTIPAGE   (1<<3)
 This device supports multiple pages. More...
 
#define HPGS_DEVICE_CAP_PAGECOLLATION   (1<<4)
 This device is able to write multiple pages to a single file. More...
 
#define HPGS_DEVICE_CAP_MULTISIZE   (1<<5)
 This device is able to cope with distinct sizes per page. More...
 
#define HPGS_DEVICE_CAP_DRAWIMAGE   (1<<6)
 The device may draw an image. More...
 
#define HPGS_DEVICE_CAP_NULLIMAGE   (1<<7)
 The device accepts a null image in drawimage. More...
 
#define HPGS_DEVICE_CAP_PLOTSIZE   (1<<8)
 This device is a plotsize device. More...
 
#define HPGS_DEVICE_CAP_ROP3   (1<<9)
 This device supports rop3 operations. More...
 
#define HPGS_BASE_CLASS(d)   (&(d->inherited))
 
#define HPGS_PLOTSIZE_MAX_CLIP_DEPTH   16
 

Typedefs

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_ps_media_size_st hpgs_ps_media_size
 

Functions

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_INTERNAL_API void hpgs_cleanup_plugin_devices ()
 

Detailed Description

This group contains the definitions for the abstract vector graphics device hpgs_device as well as the implementations of the two very basic vector devices hpgs_plotsize_device ans hpgs_eps_device.

Macro Definition Documentation

◆ HPGS_BASE_CLASS

#define HPGS_BASE_CLASS (   d)    (&(d->inherited))

Definition at line 703 of file hpgs.h.

◆ HPGS_DEVICE_CAP_ANTIALIAS

#define HPGS_DEVICE_CAP_ANTIALIAS   (1<<1)

This device supports anitaliasing.

Definition at line 639 of file hpgs.h.

◆ HPGS_DEVICE_CAP_DRAWIMAGE

#define HPGS_DEVICE_CAP_DRAWIMAGE   (1<<6)

The device may draw an image.

Definition at line 644 of file hpgs.h.

◆ HPGS_DEVICE_CAP_MULTIPAGE

#define HPGS_DEVICE_CAP_MULTIPAGE   (1<<3)

This device supports multiple pages.

Definition at line 641 of file hpgs.h.

◆ HPGS_DEVICE_CAP_MULTISIZE

#define HPGS_DEVICE_CAP_MULTISIZE   (1<<5)

This device is able to cope with distinct sizes per page.

Definition at line 643 of file hpgs.h.

◆ HPGS_DEVICE_CAP_NULLIMAGE

#define HPGS_DEVICE_CAP_NULLIMAGE   (1<<7)

The device accepts a null image in drawimage.

Definition at line 645 of file hpgs.h.

◆ HPGS_DEVICE_CAP_PAGECOLLATION

#define HPGS_DEVICE_CAP_PAGECOLLATION   (1<<4)

This device is able to write multiple pages to a single file.

Definition at line 642 of file hpgs.h.

◆ HPGS_DEVICE_CAP_PLOTSIZE

#define HPGS_DEVICE_CAP_PLOTSIZE   (1<<8)

This device is a plotsize device.

Definition at line 646 of file hpgs.h.

◆ HPGS_DEVICE_CAP_RASTER

#define HPGS_DEVICE_CAP_RASTER   (1<<0)

This device is a raster device.

Definition at line 638 of file hpgs.h.

◆ HPGS_DEVICE_CAP_ROP3

#define HPGS_DEVICE_CAP_ROP3   (1<<9)

This device supports rop3 operations.

Definition at line 647 of file hpgs.h.

◆ HPGS_DEVICE_CAP_VECTOR

#define HPGS_DEVICE_CAP_VECTOR   (1<<2)

This device is a true vector device.

Definition at line 640 of file hpgs.h.

◆ HPGS_PLOTSIZE_MAX_CLIP_DEPTH

#define HPGS_PLOTSIZE_MAX_CLIP_DEPTH   16

Definition at line 55 of file hpgsdevices.h.

Typedef Documentation

◆ hpgs_device

typedef struct hpgs_device_st hpgs_device

Definition at line 596 of file hpgs.h.

◆ hpgs_device_vtable

Definition at line 600 of file hpgs.h.

◆ hpgs_eps_device

Definition at line 598 of file hpgs.h.

◆ hpgs_font

typedef struct hpgs_font_st hpgs_font

Definition at line 606 of file hpgs.h.

◆ hpgs_gs_device

typedef struct hpgs_gs_device_st hpgs_gs_device

Definition at line 599 of file hpgs.h.

◆ hpgs_gstate

typedef struct hpgs_gstate_st hpgs_gstate

Definition at line 605 of file hpgs.h.

◆ hpgs_image

typedef struct hpgs_image_st hpgs_image

Definition at line 601 of file hpgs.h.

◆ hpgs_image_vtable

Definition at line 602 of file hpgs.h.

◆ hpgs_paint_device

Definition at line 604 of file hpgs.h.

◆ hpgs_plotsize_device

Definition at line 597 of file hpgs.h.

◆ hpgs_png_image

Definition at line 603 of file hpgs.h.

◆ hpgs_ps_media_size

Definition at line 89 of file hpgsdevices.h.

◆ hpgs_reader_asset_func_t

typedef int(* hpgs_reader_asset_func_t) (void *, hpgs_device *, const hpgs_matrix *, const hpgs_matrix *, const hpgs_bbox *, int)

Definition at line 716 of file hpgs.h.

Function Documentation

◆ hpgs_cleanup_plugin_devices()

HPGS_INTERNAL_API void hpgs_cleanup_plugin_devices ( )

Definition at line 1583 of file hpgsdevices.c.

References hpgs_cleanup_plugin(), and plugins.

Referenced by hpgs_cleanup().

Here is the caller graph for this function:

◆ hpgs_clip()

__inline__ int hpgs_clip ( hpgs_device _this,
hpgs_bool  winding 
)
static

PostScript clip/eoclip on the device. If winding is HPGS_TRUE we issue clip, otherwise eoclip.

Definition at line 811 of file hpgs.h.

References hpgs_device_vtable_st::clip, and hpgs_device_st::vtable.

Referenced by hatch(), hpgs_image_rop3_clip(), and hpgs_reader_do_IW().

◆ hpgs_cliprestore()

__inline__ int hpgs_cliprestore ( hpgs_device _this)
static

Restores the last clip state from the clip stack.

Definition at line 817 of file hpgs.h.

References hpgs_device_vtable_st::cliprestore, and hpgs_device_st::vtable.

Referenced by hatch(), hpgs_read(), hpgs_reader_do_FR(), hpgs_reader_do_IN(), hpgs_reader_do_IW(), and hpgs_reader_showpage().

◆ hpgs_clipsave()

__inline__ int hpgs_clipsave ( hpgs_device _this)
static

Save the clip state onto the clip stack. Unlike PostScripts gsave the line attributes and colors of the graphics state are not saved.

Definition at line 814 of file hpgs.h.

References hpgs_device_vtable_st::clipsave, and hpgs_device_st::vtable.

Referenced by hatch(), hpgs_image_rop3_clip(), and hpgs_reader_do_IW().

◆ hpgs_closepath()

__inline__ int hpgs_closepath ( hpgs_device _this)
static

PostScript closepath on the device.

Definition at line 799 of file hpgs.h.

References hpgs_device_vtable_st::closepath, and hpgs_device_st::vtable.

Referenced by do_polygon(), hpgs_image_rop3_clip(), hpgs_reader_closepath(), and hpgs_reader_do_IW().

◆ hpgs_curveto()

__inline__ int hpgs_curveto ( hpgs_device _this,
const hpgs_point p1,
const hpgs_point p2,
const hpgs_point p3 
)
static

PostScript curveto on the device.

Definition at line 795 of file hpgs.h.

References hpgs_device_vtable_st::curveto, and hpgs_device_st::vtable.

Referenced by do_polygon(), and hpgs_reader_curveto().

◆ hpgs_device_capabilities()

__inline__ int hpgs_device_capabilities ( hpgs_device _this)
static

Get the device capabilities.

Definition at line 839 of file hpgs.h.

References hpgs_device_vtable_st::capabilities, and hpgs_device_st::vtable.

Referenced by hpgs_read(), hpgs_reader_do_PG(), hpgs_reader_imbue(), pcl_do_cmd(), and pcl_put_image().

◆ hpgs_device_destroy()

HPGS_API void hpgs_device_destroy ( hpgs_device _this)

Destroys the given device and frees all allocated resources by this device.

Definition at line 183 of file hpgsdevices.c.

References hpgs_device_vtable_st::destroy, and hpgs_device_st::vtable.

Referenced by hpgs_destroy_reader(), hpgs_new_reader(), hpgs_reader_imbue(), and main().

Here is the caller graph for this function:

◆ hpgs_device_finish()

HPGS_API int hpgs_device_finish ( hpgs_device _this)

Finishes the output of a document to the device. Implementations of device should discard all output, which has been undertaken since the past showpage call.

Definition at line 172 of file hpgsdevices.c.

References hpgs_device_vtable_st::finish, and hpgs_device_st::vtable.

Referenced by hpgs_read().

Here is the caller graph for this function:

◆ hpgs_device_rtti()

HPGS_API const char* hpgs_device_rtti ( hpgs_device _this)

Returns the name of the device for use with RTTI, runtime type information.

Definition at line 63 of file hpgsdevices.c.

References hpgs_device_vtable_st::rtti, and hpgs_device_st::vtable.

◆ hpgs_drawimage()

HPGS_API int hpgs_drawimage ( hpgs_device _this,
const hpgs_image img,
const hpgs_point ll,
const hpgs_point lr,
const hpgs_point ur 
)

Draw an image to the device. The arguments ll, lr and ur are the lower left, lower right and upper right corner of the drawn image in world coordinates.

The function returns 0 on success. -1 is returned upon failure.

Definition at line 105 of file hpgsdevices.c.

References hpgs_device_vtable_st::drawimage, and hpgs_device_st::vtable.

Referenced by pcl_put_image().

Here is the caller graph for this function:

◆ hpgs_fill()

__inline__ int hpgs_fill ( hpgs_device _this,
hpgs_bool  winding 
)
static

PostScript fill/eofill on the device. If winding is HPGS_TRUE we issue fill, otherwise eofill.

Definition at line 808 of file hpgs.h.

References hpgs_device_vtable_st::fill, and hpgs_device_st::vtable.

Referenced by hpgs_font_draw_glyph(), hpgs_image_rop3_clip(), hpgs_reader_fill(), and shade().

◆ hpgs_getplotsize()

HPGS_API int hpgs_getplotsize ( hpgs_device _this,
int  i,
hpgs_bbox bb 
)

Gets the plotsize of the given page number i or the overall bounding box, if i is zero.

The function returns 0 on success.

If the function returns 1, the overall bounding box is returned, because the plotsize of page i is not known.

-1 is returned, if the funtion is unimplemented for the given device.

Definition at line 138 of file hpgsdevices.c.

References hpgs_device_vtable_st::getplotsize, and hpgs_device_st::vtable.

Referenced by hpgs_read(), hpgs_reader_do_PG(), and main().

Here is the caller graph for this function:

◆ hpgs_gstate_destroy()

HPGS_API void hpgs_gstate_destroy ( hpgs_gstate gstate)

Destroys a gstate created using hpgs_new_gstate.

Definition at line 74 of file hpgsgstate.c.

References hpgs_gstate_st::dash_lengths.

Referenced by hpgs_new_paint_device(), and pdv_destroy().

Here is the caller graph for this function:

◆ hpgs_gstate_setdash()

HPGS_API int hpgs_gstate_setdash ( hpgs_gstate gstate,
const float *  dash_lengths,
unsigned  n_dashes,
double  offset 
)

Sets the dashes of gstate. The passed array and offset folow th esemantics of PostScipt's setdash command.

Return value:

  • 0 Success.
  • -1 The system is out of memory.

Definition at line 88 of file hpgsgstate.c.

References hpgs_gstate_st::dash_lengths, hpgs_gstate_st::dash_offset, and hpgs_gstate_st::n_dashes.

Referenced by pdv_setdash().

Here is the caller graph for this function:

◆ hpgs_lineto()

__inline__ int hpgs_lineto ( hpgs_device _this,
const hpgs_point p 
)
static

PostScript lineto on the device.

Definition at line 792 of file hpgs.h.

References hpgs_device_vtable_st::lineto, and hpgs_device_st::vtable.

Referenced by do_polygon(), hatch(), hpgs_image_rop3_clip(), hpgs_reader_do_IW(), and hpgs_reader_lineto().

◆ hpgs_moveto()

__inline__ int hpgs_moveto ( hpgs_device _this,
const hpgs_point p 
)
static

PostScript moveto on the device.

Definition at line 789 of file hpgs.h.

References hpgs_device_vtable_st::moveto, and hpgs_device_st::vtable.

Referenced by do_polygon(), hatch(), hpgs_image_rop3_clip(), hpgs_reader_curveto(), hpgs_reader_do_IW(), and hpgs_reader_lineto().

◆ hpgs_new_eps_device()

HPGS_API hpgs_eps_device* hpgs_new_eps_device ( const char *  filename,
const hpgs_bbox bb,
hpgs_bool  do_rop3 
)

Retrieves the pointer to a new hpgs_eps_device on the heap, which writes to the file with the gieven filename.

The bounding box in the eps files is passed to this functions.

If the file cannot be opened or the system is out of memory, a null pointer is returned.

Definition at line 962 of file hpgsdevices.c.

References hpgs_color_st::b, hpgs_palette_color_st::b, hpgs_eps_device_st::color, hpgs_eps_device_st::doc_bb, eps_vtable, hpgs_eps_device_st::filename, hpgs_color_st::g, hpgs_palette_color_st::g, HPGS_FALSE, HPGS_TRUE, hpgs_xrop3_func(), hpgs_eps_device_st::inherited, hpgs_eps_device_st::media_sizes, hpgs_eps_device_st::media_sizes_alloc_size, hpgs_eps_device_st::n_media_sizes, hpgs_eps_device_st::n_pages, hpgs_eps_device_st::out, hpgs_eps_device_st::page_bb, hpgs_eps_device_st::page_setup, hpgs_eps_device_st::pattern_color, hpgs_color_st::r, hpgs_palette_color_st::r, hpgs_eps_device_st::rop3, and hpgs_device_st::vtable.

Referenced by main().

Here is the caller graph for this function:

◆ hpgs_new_gstate()

HPGS_API hpgs_gstate* hpgs_new_gstate ( void  )

Creates a new gstate on the heap. Use hpgs_gstate_destroy in order to destroy the returned gstate pointer.

A null pointer is returned, if the system is out of memory.

Definition at line 44 of file hpgsgstate.c.

References hpgs_color_st::b, hpgs_gstate_st::color, hpgs_gstate_st::dash_lengths, hpgs_gstate_st::dash_offset, hpgs_color_st::g, hpgs_cap_butt, hpgs_join_miter, HPGS_TRUE, hpgs_gstate_st::line_cap, hpgs_gstate_st::line_join, hpgs_gstate_st::linewidth, hpgs_gstate_st::miterlimit, hpgs_gstate_st::n_dashes, hpgs_gstate_st::pattern_color, hpgs_gstate_st::pattern_transparency, hpgs_color_st::r, hpgs_gstate_st::rop3, and hpgs_gstate_st::src_transparency.

Referenced by hpgs_new_paint_device().

Here is the caller graph for this function:

◆ hpgs_new_plotsize_device()

HPGS_API hpgs_plotsize_device* hpgs_new_plotsize_device ( hpgs_bool  ignore_ps,
hpgs_bool  do_linewidth 
)

Retrieves the pointer to a new hpgs_plotsize_device on the heap.

If ignore_ps is HPGS_TRUE, a HPGL PS statement is ignored an the plotsize is calculated from the vector graphics contents.

If do_linewidth is HPGS_TRUE, the current linewidth is taken into account in the plotsize calculation.

If the system is out of memory, a null pointer is returned.

Definition at line 1479 of file hpgsdevices.c.

References hpgs_plotsize_device_st::clip_bbs, hpgs_plotsize_device_st::clip_depth, hpgs_plotsize_device_st::deferred_moveto, hpgs_plotsize_device_st::do_linewidth, hpgs_plotsize_device_st::global_bb, hpgs_bbox_null(), hpgs_plotsize_device_st::ignore_ps, hpgs_plotsize_device_st::inherited, hpgs_plotsize_device_st::linewidth, hpgs_bbox_st::llx, hpgs_bbox_st::lly, hpgs_plotsize_device_st::moveto, hpgs_plotsize_device_st::n_page_bbs, hpgs_plotsize_device_st::page_bb, hpgs_plotsize_device_st::page_bbs, hpgs_plotsize_device_st::page_bbs_alloc_size, hpgs_plotsize_device_st::path_bb, pls_vtable, hpgs_bbox_st::urx, hpgs_bbox_st::ury, hpgs_device_st::vtable, hpgs_point_st::x, and hpgs_point_st::y.

Referenced by main().

Here is the caller graph for this function:

◆ hpgs_new_plugin_device()

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_new_ps_device()

HPGS_API hpgs_eps_device* hpgs_new_ps_device ( const char *  filename,
const hpgs_bbox bb,
hpgs_bool  do_rop3 
)

Retrieves the pointer to a new hpgs_eps_device on the heap, which writes to a multipage PostScript file with the given filename.

The overall document bounding box for the PostScript file is passed as bb.

If paper_width and paper_height are greater than zero, the content of each page is scaled to this fixed paper format. Otherwise, the paper size of each page adpats to the page bounding box.

The given border is used in order to place the contents on the page.

If the file cannot be opened or the system is out of memory, a null pointer is returned.

Definition at line 1053 of file hpgsdevices.c.

References hpgs_color_st::b, hpgs_palette_color_st::b, hpgs_eps_device_st::color, compare_media_hashes(), hpgs_eps_device_st::doc_bb, eps_vtable, hpgs_eps_device_st::filename, hpgs_color_st::g, hpgs_palette_color_st::g, HPGS_FALSE, hpgs_new_mem_ostream(), hpgs_ostream_close(), HPGS_TRUE, hpgs_xrop3_func(), hpgs_eps_device_st::inherited, hpgs_eps_device_st::media_sizes, hpgs_eps_device_st::media_sizes_alloc_size, hpgs_eps_device_st::n_media_sizes, hpgs_eps_device_st::n_pages, hpgs_eps_device_st::out, hpgs_eps_device_st::page_bb, hpgs_eps_device_st::page_setup, hpgs_eps_device_st::pattern_color, ps_std_media_sizes, hpgs_color_st::r, hpgs_palette_color_st::r, hpgs_eps_device_st::rop3, and hpgs_device_st::vtable.

Referenced by main().

Here is the caller graph for this function:

◆ hpgs_newpath()

__inline__ int hpgs_newpath ( hpgs_device _this)
static

PostScript newpath on the device.

Definition at line 802 of file hpgs.h.

References hpgs_device_vtable_st::newpath, and hpgs_device_st::vtable.

Referenced by hatch(), hpgs_image_rop3_clip(), and hpgs_reader_do_IW().

◆ hpgs_setdash()

__inline__ int hpgs_setdash ( hpgs_device _this,
const float *  d,
unsigned  nd,
double  s 
)
static

PostScript setdash on the device.

Definition at line 823 of file hpgs.h.

References hpgs_device_vtable_st::setdash, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_LT().

◆ hpgs_setlinecap()

__inline__ int hpgs_setlinecap ( hpgs_device _this,
hpgs_line_cap  c 
)
static

PostScript setlinecap on the device.

Definition at line 830 of file hpgs.h.

References hpgs_device_vtable_st::setlinecap, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_LA(), and init_device().

◆ hpgs_setlinejoin()

__inline__ int hpgs_setlinejoin ( hpgs_device _this,
hpgs_line_join  j 
)
static

PostScript setlinejoin on the device.

Definition at line 833 of file hpgs.h.

References hpgs_device_vtable_st::setlinejoin, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_LA(), and init_device().

◆ hpgs_setlinewidth()

__inline__ int hpgs_setlinewidth ( hpgs_device _this,
double  w 
)
static

PostScript setlinewidth on the device.

Definition at line 827 of file hpgs.h.

References hpgs_device_vtable_st::setlinewidth, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_PW(), and hpgs_reader_do_setpen().

◆ hpgs_setmiterlimit()

__inline__ int hpgs_setmiterlimit ( hpgs_device _this,
double  l 
)
static

PostScript setmiterlimit on the device.

Definition at line 836 of file hpgs.h.

References hpgs_device_vtable_st::setmiterlimit, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_LA(), and init_device().

◆ hpgs_setpatcol()

HPGS_API int hpgs_setpatcol ( hpgs_device _this,
const hpgs_color rgb 
)

Sets the patter ncolor applied using the raster operation specified in hpgs_setrop3.

Definition at line 90 of file hpgsdevices.c.

References hpgs_device_vtable_st::setpatcol, and hpgs_device_st::vtable.

Referenced by hpgs_device_setrgb_all(), init_device(), and pcl_put_image().

Here is the caller graph for this function:

◆ hpgs_setplotsize()

HPGS_API int hpgs_setplotsize ( hpgs_device _this,
const hpgs_bbox bb 
)

Report a HPGL PS command to the device. If the function returns 2, the interpretation of the file is interrupted immediately without error.

For devices with the HPGS_DEVICE_CAP_MULTISIZE capability, this function may be called immediately after a showpage command.

Definition at line 120 of file hpgsdevices.c.

References hpgs_device_vtable_st::setplotsize, and hpgs_device_st::vtable.

Referenced by hpgs_read(), hpgs_reader_do_PG(), and hpgs_reader_set_plotsize().

Here is the caller graph for this function:

◆ hpgs_setrgbcolor()

__inline__ int hpgs_setrgbcolor ( hpgs_device _this,
const hpgs_color rgb 
)
static

PostScript setrgbcolor on the device.

Definition at line 820 of file hpgs.h.

References hpgs_device_vtable_st::setrgbcolor, and hpgs_device_st::vtable.

Referenced by hpgs_device_setrgb_all(), and hpgs_image_rop3_clip().

◆ hpgs_setrop3()

HPGS_API int hpgs_setrop3 ( hpgs_device _this,
int  rop,
hpgs_bool  src_transparency,
hpgs_bool  pattern_transparency 
)

Sets the raster operation for the given device. Raster operations and source/pattern transparency are described in

PCL 5 Comparison Guide, Edition 2, 6/2003, Hewlett Packard (May be downloaded as bpl13206.pdf from http://www.hp.com)

The function returns -1, if an invalid raster operation is specified. If the device is not capable of raster operations, the function succeeds anyways.

Definition at line 78 of file hpgsdevices.c.

References hpgs_device_vtable_st::setrop3, and hpgs_device_st::vtable.

Referenced by hpgs_reader_do_MC(), hpgs_reader_do_TR(), init_device(), and pcl_do_cmd().

Here is the caller graph for this function:

◆ hpgs_showpage()

HPGS_API int hpgs_showpage ( hpgs_device _this,
int  i 
)

Finishes the output of a page to the device. If the function returns 2, the interpretation of the file is interrupted immediately without error. This is the case for device, which are not capable of displaying multiple pages.

The integer argument is the number of the page begin finished. This argument is intended as a hint for devices, which write a file for each page.

If this argument is less than or equal to 0, this is the only page written to the device. In this case, devices which write a file for each page may omit a page counter from the filename of the written file.

Definition at line 160 of file hpgsdevices.c.

References hpgs_device_vtable_st::showpage, and hpgs_device_st::vtable.

Referenced by hpgs_reader_showpage().

Here is the caller graph for this function:

◆ hpgs_stroke()

__inline__ int hpgs_stroke ( hpgs_device _this)
static

PostScript stroke on the device.

Definition at line 805 of file hpgs.h.

References hpgs_device_vtable_st::stroke, and hpgs_device_st::vtable.

Referenced by hatch(), hpgs_reader_do_EP(), and hpgs_reader_stroke().