# hpgsreader.h File Reference

The private interfaces for implementing the HPGL reader. More...

`#include <hpgs.h>`

Go to the source code of this file.

## Data Structures
struct | hpgs_reader_poly_point_st
| A point in hte HPGL polygon buffer. More...
struct | hpgs_reader_pcl_palette_st
| A PCL palette as used by PCL push/pop palette. More...
struct | hpgs_reader_st
| A HPGL interpreter. More...
## Defines
#define | MM_TO_PT (72.0 / 25.4)
#define | HP_TO_PT (72.0 / (25.4 * 40.0))
#define | MAKE_COMMAND(a, b) (((int)(a) << 8) + (b))
#define | AA_CMD MAKE_COMMAND('A','A')
#define | AC_CMD MAKE_COMMAND('A','C')
#define | AD_CMD MAKE_COMMAND('A','D')
#define | AR_CMD MAKE_COMMAND('A','R')
#define | AT_CMD MAKE_COMMAND('A','T')
#define | BP_CMD MAKE_COMMAND('B','P')
#define | BR_CMD MAKE_COMMAND('B','R')
#define | BZ_CMD MAKE_COMMAND('B','Z')
#define | CI_CMD MAKE_COMMAND('C','I')
#define | CO_CMD MAKE_COMMAND('C','O')
#define | CP_CMD MAKE_COMMAND('C','P')
#define | CR_CMD MAKE_COMMAND('C','R')
#define | DI_CMD MAKE_COMMAND('D','I')
#define | DR_CMD MAKE_COMMAND('D','R')
#define | DT_CMD MAKE_COMMAND('D','T')
#define | DV_CMD MAKE_COMMAND('D','V')
#define | EA_CMD MAKE_COMMAND('E','A')
#define | EP_CMD MAKE_COMMAND('E','P')
#define | ER_CMD MAKE_COMMAND('E','R')
#define | ES_CMD MAKE_COMMAND('E','S')
#define | EW_CMD MAKE_COMMAND('E','W')
#define | FP_CMD MAKE_COMMAND('F','P')
#define | FR_CMD MAKE_COMMAND('F','R')
#define | FT_CMD MAKE_COMMAND('F','T')
#define | IN_CMD MAKE_COMMAND('I','N')
#define | IP_CMD MAKE_COMMAND('I','P')
#define | IR_CMD MAKE_COMMAND('I','R')
#define | IW_CMD MAKE_COMMAND('I','W')
#define | LA_CMD MAKE_COMMAND('L','A')
#define | LB_CMD MAKE_COMMAND('L','B')
#define | LO_CMD MAKE_COMMAND('L','O')
#define | LT_CMD MAKE_COMMAND('L','T')
#define | MC_CMD MAKE_COMMAND('M','C')
#define | MG_CMD MAKE_COMMAND('M','G')
#define | NP_CMD MAKE_COMMAND('N','P')
#define | PA_CMD MAKE_COMMAND('P','A')
#define | PC_CMD MAKE_COMMAND('P','C')
#define | PD_CMD MAKE_COMMAND('P','D')
#define | PE_CMD MAKE_COMMAND('P','E')
#define | PG_CMD MAKE_COMMAND('P','G')
#define | PM_CMD MAKE_COMMAND('P','M')
#define | PP_CMD MAKE_COMMAND('P','P')
#define | PR_CMD MAKE_COMMAND('P','R')
#define | PS_CMD MAKE_COMMAND('P','S')
#define | PU_CMD MAKE_COMMAND('P','U')
#define | PW_CMD MAKE_COMMAND('P','W')
#define | RA_CMD MAKE_COMMAND('R','A')
#define | RO_CMD MAKE_COMMAND('R','O')
#define | RR_CMD MAKE_COMMAND('R','R')
#define | RT_CMD MAKE_COMMAND('R','T')
#define | SA_CMD MAKE_COMMAND('S','A')
#define | SC_CMD MAKE_COMMAND('S','C')
#define | SD_CMD MAKE_COMMAND('S','D')
#define | SI_CMD MAKE_COMMAND('S','I')
#define | SL_CMD MAKE_COMMAND('S','L')
#define | SM_CMD MAKE_COMMAND('S','M')
#define | SP_CMD MAKE_COMMAND('S','P')
#define | SR_CMD MAKE_COMMAND('S','R')
#define | SS_CMD MAKE_COMMAND('S','S')
#define | TR_CMD MAKE_COMMAND('T','R')
#define | UL_CMD MAKE_COMMAND('U','L')
#define | WG_CMD MAKE_COMMAND('W','G')
#define | WU_CMD MAKE_COMMAND('W','U')
## Typedefs
typedef struct hpgs_reader_poly_point_st | hpgs_reader_poly_point
typedef struct hpgs_reader_pcl_palette_st | hpgs_reader_pcl_palette
typedef int(* | hpgs_reader_hpglcmd_func_t )(hpgs_reader *reader)
## Functions
HPGS_INTERNAL_API int | hpgs_reader_check_param_end (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_read_pcl_int (hpgs_reader *reader, int *x, int *sign)
HPGS_INTERNAL_API int | hpgs_reader_read_int (hpgs_reader *reader, int *x)
HPGS_INTERNAL_API int | hpgs_reader_read_double (hpgs_reader *reader, double *x)
HPGS_INTERNAL_API int | hpgs_reader_read_point (hpgs_reader *reader, hpgs_point *p, int xform)
HPGS_INTERNAL_API int | hpgs_reader_read_new_string (hpgs_reader *reader, char *str)
HPGS_INTERNAL_API int | hpgs_reader_read_label_string (hpgs_reader *reader, char *str)
HPGS_INTERNAL_API void | hpgs_reader_set_page_matrix (hpgs_reader *reader, const hpgs_bbox *bb)
HPGS_INTERNAL_API void | hpgs_reader_set_default_transformation (hpgs_reader *reader)
HPGS_INTERNAL_API void | hpgs_reader_set_default_state (hpgs_reader *reader)
HPGS_INTERNAL_API void | hpgs_reader_set_defaults (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_set_plotsize (hpgs_reader *reader, double xs, double ys)
HPGS_INTERNAL_API int | hpgs_reader_showpage (hpgs_reader *reader, int ipage)
HPGS_INTERNAL_API void | hpgs_reader_set_std_pen_colors (hpgs_reader *reader, int i0, int n)
HPGS_INTERNAL_API int | hpgs_reader_checkpath (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_moveto (hpgs_reader *reader, hpgs_point *p)
HPGS_INTERNAL_API int | hpgs_reader_lineto (hpgs_reader *reader, hpgs_point *p)
HPGS_INTERNAL_API int | hpgs_reader_curveto (hpgs_reader *reader, hpgs_point *p1, hpgs_point *p2, hpgs_point *p3)
HPGS_INTERNAL_API int | hpgs_reader_stroke (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_fill (hpgs_reader *reader, hpgs_bool winding)
HPGS_INTERNAL_API int | hpgs_reader_closepath (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_setpen (hpgs_reader *reader, int pen)
HPGS_INTERNAL_API int | hpgs_device_setrgb_all (hpgs_device *dev, const hpgs_color *rgb)
HPGS_INTERNAL_API int | hpgs_reader_label (hpgs_reader *reader, const char *str, int str_len, int face, int encoding, int posture, int weight, const hpgs_point *left_vec, const hpgs_point *up_vec, const hpgs_point *space_vec)
HPGS_INTERNAL_API int | hpgs_device_label (hpgs_device *dev, hpgs_point *pos, const char *str, int str_len, int face, const char *encoding, int posture, int weight, const hpgs_point *left_vec, const hpgs_point *up_vec, const hpgs_point *space_vec)
HPGS_INTERNAL_API int | hpgs_reader_do_PCL (hpgs_reader *reader, hpgs_bool take_pos)
HPGS_INTERNAL_API int | hpgs_reader_do_PJL (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_push_pcl_palette (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_pop_pcl_palette (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_AA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_AC (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_AD (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_AR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_AT (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_BP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_BR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_BZ (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_CI (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_CO (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_CP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_CR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_DI (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_DR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_DT (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_DV (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_EA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_EP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_ER (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_ES (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_EW (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_FP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_FR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_FT (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_IN (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_IP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_IR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_IW (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_LA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_LB (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_LO (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_LT (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_MC (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_MG (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_NP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PC (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PD (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PE (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PG (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PM (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PS (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PU (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_PW (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_RA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_RO (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_RR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_RT (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SA (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SC (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SD (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SI (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SL (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SM (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SP (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_SS (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_TR (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_UL (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_WG (hpgs_reader *reader)
HPGS_INTERNAL_API int | hpgs_reader_do_WU (hpgs_reader *reader)

## Detailed Description

The private interfaces for implementing the HPGL reader.

A header file, which declares the private structures and functions used to implement the HPGL reader `hpgs_reader`.