34 #ifndef __HPGS_READER_H__ 35 #define __HPGS_READER_H__ 51 #define MM_TO_PT (72.0 / 25.4) 52 #define HP_TO_PT (72.0 / (25.4 * 40.0)) 54 #define MAKE_COMMAND(a,b) (((int)(a) << 8) + (b)) 56 #define AA_CMD MAKE_COMMAND('A','A') 57 #define AC_CMD MAKE_COMMAND('A','C') 58 #define AD_CMD MAKE_COMMAND('A','D') 59 #define AR_CMD MAKE_COMMAND('A','R') 60 #define AT_CMD MAKE_COMMAND('A','T') 61 #define BP_CMD MAKE_COMMAND('B','P') 62 #define BR_CMD MAKE_COMMAND('B','R') 63 #define BZ_CMD MAKE_COMMAND('B','Z') 64 #define CI_CMD MAKE_COMMAND('C','I') 65 #define CO_CMD MAKE_COMMAND('C','O') 66 #define CP_CMD MAKE_COMMAND('C','P') 67 #define CR_CMD MAKE_COMMAND('C','R') 68 #define DI_CMD MAKE_COMMAND('D','I') 69 #define DR_CMD MAKE_COMMAND('D','R') 70 #define DT_CMD MAKE_COMMAND('D','T') 71 #define DV_CMD MAKE_COMMAND('D','V') 72 #define EA_CMD MAKE_COMMAND('E','A') 73 #define EP_CMD MAKE_COMMAND('E','P') 74 #define ER_CMD MAKE_COMMAND('E','R') 75 #define ES_CMD MAKE_COMMAND('E','S') 76 #define EW_CMD MAKE_COMMAND('E','W') 77 #define FP_CMD MAKE_COMMAND('F','P') 78 #define FR_CMD MAKE_COMMAND('F','R') 79 #define FT_CMD MAKE_COMMAND('F','T') 80 #define IN_CMD MAKE_COMMAND('I','N') 81 #define IP_CMD MAKE_COMMAND('I','P') 82 #define IR_CMD MAKE_COMMAND('I','R') 83 #define IW_CMD MAKE_COMMAND('I','W') 84 #define LA_CMD MAKE_COMMAND('L','A') 85 #define LB_CMD MAKE_COMMAND('L','B') 86 #define LO_CMD MAKE_COMMAND('L','O') 87 #define LT_CMD MAKE_COMMAND('L','T') 88 #define MC_CMD MAKE_COMMAND('M','C') 89 #define MG_CMD MAKE_COMMAND('M','G') 90 #define NP_CMD MAKE_COMMAND('N','P') 91 #define PA_CMD MAKE_COMMAND('P','A') 92 #define PC_CMD MAKE_COMMAND('P','C') 93 #define PD_CMD MAKE_COMMAND('P','D') 94 #define PE_CMD MAKE_COMMAND('P','E') 95 #define PG_CMD MAKE_COMMAND('P','G') 96 #define PM_CMD MAKE_COMMAND('P','M') 97 #define PP_CMD MAKE_COMMAND('P','P') 98 #define PR_CMD MAKE_COMMAND('P','R') 99 #define PS_CMD MAKE_COMMAND('P','S') 100 #define PU_CMD MAKE_COMMAND('P','U') 101 #define PW_CMD MAKE_COMMAND('P','W') 102 #define RA_CMD MAKE_COMMAND('R','A') 103 #define RO_CMD MAKE_COMMAND('R','O') 104 #define RR_CMD MAKE_COMMAND('R','R') 105 #define RT_CMD MAKE_COMMAND('R','T') 106 #define SA_CMD MAKE_COMMAND('S','A') 107 #define SC_CMD MAKE_COMMAND('S','C') 108 #define SD_CMD MAKE_COMMAND('S','D') 109 #define SI_CMD MAKE_COMMAND('S','I') 110 #define SL_CMD MAKE_COMMAND('S','L') 111 #define SM_CMD MAKE_COMMAND('S','M') 112 #define SP_CMD MAKE_COMMAND('S','P') 113 #define SR_CMD MAKE_COMMAND('S','R') 114 #define SS_CMD MAKE_COMMAND('S','S') 115 #define TR_CMD MAKE_COMMAND('T','R') 116 #define UL_CMD MAKE_COMMAND('U','L') 117 #define WG_CMD MAKE_COMMAND('W','G') 118 #define WU_CMD MAKE_COMMAND('W','U') 226 HPGS_INTERNAL_API
int hpgs_reader_pcl_bitmap_character_render(
hpgs_reader *reader,
298 hpgs_reader_asset_func_t page_asset_func;
301 hpgs_reader_asset_func_t frame_asset_func;
305 int linetype_nsegs[17];
306 float linetype_segs[17][20];
322 int label_term_ignore;
330 int poly_buffer_size;
331 int poly_buffer_alloc_size;
360 double default_pitch;
361 double default_height;
370 int alternate_spacing;
371 double alternate_pitch;
372 double alternate_height;
373 int alternate_posture;
374 int alternate_weight;
384 double current_slant;
385 int current_label_origin;
386 int current_text_path;
387 int current_text_line;
388 double current_label_angle;
426 unsigned char *pcl_raster_data[8];
445 HPGS_INTERNAL_API
int hpgs_reader_check_param_end(
hpgs_reader *reader);
479 HPGS_INTERNAL_API
int hpgs_reader_read_label_string(
hpgs_reader *reader,
char *str);
482 HPGS_INTERNAL_API
void hpgs_reader_set_default_transformation (
hpgs_reader *reader);
483 HPGS_INTERNAL_API
void hpgs_reader_set_default_state (
hpgs_reader *reader);
484 HPGS_INTERNAL_API
void hpgs_reader_set_defaults (
hpgs_reader *reader);
485 HPGS_INTERNAL_API
int hpgs_reader_set_plotsize (
hpgs_reader *reader,
double xs,
double ys);
486 HPGS_INTERNAL_API
int hpgs_reader_showpage (
hpgs_reader *reader,
int ipage);
488 HPGS_INTERNAL_API
void hpgs_reader_set_std_pen_colors(
hpgs_reader *reader,
491 HPGS_INTERNAL_API
int hpgs_reader_checkpath(
hpgs_reader *reader);
495 HPGS_INTERNAL_API
int hpgs_reader_curveto(
hpgs_reader *reader,
497 HPGS_INTERNAL_API
int hpgs_reader_stroke(
hpgs_reader *reader);
498 HPGS_INTERNAL_API
int hpgs_reader_fill(
hpgs_reader *reader, hpgs_bool winding);
499 HPGS_INTERNAL_API
int hpgs_reader_closepath(
hpgs_reader *reader);
501 HPGS_INTERNAL_API
int hpgs_reader_do_setpen(
hpgs_reader *reader,
int pen);
509 HPGS_INTERNAL_API
int hpgs_reader_label(
hpgs_reader *reader,
510 const char *str,
int str_len,
519 HPGS_INTERNAL_API
int hpgs_device_label(
hpgs_device *dev,
521 const char *str,
int str_len,
523 const char *encoding,
530 typedef int (*hpgs_reader_hpglcmd_func_t)(
hpgs_reader *reader);
535 HPGS_INTERNAL_API
int hpgs_reader_push_pcl_palette (
hpgs_reader *reader);
536 HPGS_INTERNAL_API
int hpgs_reader_pop_pcl_palette (
hpgs_reader *reader);
538 HPGS_INTERNAL_API
int hpgs_reader_pcl_cmd_font_id (
hpgs_reader *reader,
int arg);
539 HPGS_INTERNAL_API
int hpgs_reader_pcl_cmd_font_header (
hpgs_reader *reader,
int arg);
540 HPGS_INTERNAL_API
int hpgs_reader_pcl_cmd_select_font_id (
hpgs_reader *reader,
int arg);
541 HPGS_INTERNAL_API
int hpgs_reader_pcl_cmd_character_definition (
hpgs_reader *reader,
int arg);
543 HPGS_INTERNAL_API
int hpgs_reader_do_AA(
hpgs_reader *reader);
544 HPGS_INTERNAL_API
int hpgs_reader_do_AC(
hpgs_reader *reader);
545 HPGS_INTERNAL_API
int hpgs_reader_do_AD(
hpgs_reader *reader);
546 HPGS_INTERNAL_API
int hpgs_reader_do_AR(
hpgs_reader *reader);
547 HPGS_INTERNAL_API
int hpgs_reader_do_AT(
hpgs_reader *reader);
548 HPGS_INTERNAL_API
int hpgs_reader_do_BP(
hpgs_reader *reader);
549 HPGS_INTERNAL_API
int hpgs_reader_do_BR(
hpgs_reader *reader);
550 HPGS_INTERNAL_API
int hpgs_reader_do_BZ(
hpgs_reader *reader);
551 HPGS_INTERNAL_API
int hpgs_reader_do_CI(
hpgs_reader *reader);
552 HPGS_INTERNAL_API
int hpgs_reader_do_CO(
hpgs_reader *reader);
553 HPGS_INTERNAL_API
int hpgs_reader_do_CP(
hpgs_reader *reader);
554 HPGS_INTERNAL_API
int hpgs_reader_do_CR(
hpgs_reader *reader);
555 HPGS_INTERNAL_API
int hpgs_reader_do_DI(
hpgs_reader *reader);
556 HPGS_INTERNAL_API
int hpgs_reader_do_DR(
hpgs_reader *reader);
557 HPGS_INTERNAL_API
int hpgs_reader_do_DT(
hpgs_reader *reader);
558 HPGS_INTERNAL_API
int hpgs_reader_do_DV(
hpgs_reader *reader);
559 HPGS_INTERNAL_API
int hpgs_reader_do_EA(
hpgs_reader *reader);
560 HPGS_INTERNAL_API
int hpgs_reader_do_EP(
hpgs_reader *reader);
561 HPGS_INTERNAL_API
int hpgs_reader_do_ER(
hpgs_reader *reader);
562 HPGS_INTERNAL_API
int hpgs_reader_do_ES(
hpgs_reader *reader);
563 HPGS_INTERNAL_API
int hpgs_reader_do_EW(
hpgs_reader *reader);
564 HPGS_INTERNAL_API
int hpgs_reader_do_FP(
hpgs_reader *reader);
565 HPGS_INTERNAL_API
int hpgs_reader_do_FR(
hpgs_reader *reader);
566 HPGS_INTERNAL_API
int hpgs_reader_do_FT(
hpgs_reader *reader);
567 HPGS_INTERNAL_API
int hpgs_reader_do_IN(
hpgs_reader *reader);
568 HPGS_INTERNAL_API
int hpgs_reader_do_IP(
hpgs_reader *reader);
569 HPGS_INTERNAL_API
int hpgs_reader_do_IR(
hpgs_reader *reader);
570 HPGS_INTERNAL_API
int hpgs_reader_do_IW(
hpgs_reader *reader);
571 HPGS_INTERNAL_API
int hpgs_reader_do_LA(
hpgs_reader *reader);
572 HPGS_INTERNAL_API
int hpgs_reader_do_LB(
hpgs_reader *reader);
573 HPGS_INTERNAL_API
int hpgs_reader_do_LO(
hpgs_reader *reader);
574 HPGS_INTERNAL_API
int hpgs_reader_do_LT(
hpgs_reader *reader);
575 HPGS_INTERNAL_API
int hpgs_reader_do_MC(
hpgs_reader *reader);
576 HPGS_INTERNAL_API
int hpgs_reader_do_MG(
hpgs_reader *reader);
577 HPGS_INTERNAL_API
int hpgs_reader_do_NP(
hpgs_reader *reader);
578 HPGS_INTERNAL_API
int hpgs_reader_do_PC(
hpgs_reader *reader);
579 HPGS_INTERNAL_API
int hpgs_reader_do_PA(
hpgs_reader *reader);
580 HPGS_INTERNAL_API
int hpgs_reader_do_PD(
hpgs_reader *reader);
581 HPGS_INTERNAL_API
int hpgs_reader_do_PE(
hpgs_reader *reader);
582 HPGS_INTERNAL_API
int hpgs_reader_do_PG(
hpgs_reader *reader);
583 HPGS_INTERNAL_API
int hpgs_reader_do_PM(
hpgs_reader *reader);
584 HPGS_INTERNAL_API
int hpgs_reader_do_PP(
hpgs_reader *reader);
585 HPGS_INTERNAL_API
int hpgs_reader_do_PR(
hpgs_reader *reader);
586 HPGS_INTERNAL_API
int hpgs_reader_do_PS(
hpgs_reader *reader);
587 HPGS_INTERNAL_API
int hpgs_reader_do_PU(
hpgs_reader *reader);
588 HPGS_INTERNAL_API
int hpgs_reader_do_PW(
hpgs_reader *reader);
589 HPGS_INTERNAL_API
int hpgs_reader_do_RA(
hpgs_reader *reader);
590 HPGS_INTERNAL_API
int hpgs_reader_do_RO(
hpgs_reader *reader);
591 HPGS_INTERNAL_API
int hpgs_reader_do_RR(
hpgs_reader *reader);
592 HPGS_INTERNAL_API
int hpgs_reader_do_RT(
hpgs_reader *reader);
593 HPGS_INTERNAL_API
int hpgs_reader_do_SA(
hpgs_reader *reader);
594 HPGS_INTERNAL_API
int hpgs_reader_do_SC(
hpgs_reader *reader);
595 HPGS_INTERNAL_API
int hpgs_reader_do_SD(
hpgs_reader *reader);
596 HPGS_INTERNAL_API
int hpgs_reader_do_SI(
hpgs_reader *reader);
597 HPGS_INTERNAL_API
int hpgs_reader_do_SL(
hpgs_reader *reader);
598 HPGS_INTERNAL_API
int hpgs_reader_do_SM(
hpgs_reader *reader);
599 HPGS_INTERNAL_API
int hpgs_reader_do_SP(
hpgs_reader *reader);
600 HPGS_INTERNAL_API
int hpgs_reader_do_SR(
hpgs_reader *reader);
601 HPGS_INTERNAL_API
int hpgs_reader_do_SS(
hpgs_reader *reader);
602 HPGS_INTERNAL_API
int hpgs_reader_do_TR(
hpgs_reader *reader);
603 HPGS_INTERNAL_API
int hpgs_reader_do_UL(
hpgs_reader *reader);
604 HPGS_INTERNAL_API
int hpgs_reader_do_WG(
hpgs_reader *reader);
605 HPGS_INTERNAL_API
int hpgs_reader_do_WU(
hpgs_reader *reader);
613 #endif // ! __HPGS_READER_H__ hpgs_reader_pcl_palette ** pcl_palettes
Definition: hpgsreader.h:406
hpgs_point max_path_point
Definition: hpgsreader.h:345
hpgs_istream * in
Definition: hpgsreader.h:237
int pcl_current_character_code
Definition: hpgsreader.h:404
A virtual input stream for the HPGL reader.
Definition: hpgs.h:426
A screen RGB color as stored in a palette.
Definition: hpgs.h:250
int alternate_encoding
Definition: hpgsreader.h:368
double page_scale
Definition: hpgsreader.h:281
A transformation matrix for 2D points.
Definition: hpgs.h:340
int png_dump_count
Definition: hpgsreader.h:434
size_t pcl_bitmap_fonts_alloc_size
Definition: hpgsreader.h:397
int last_byte
Definition: hpgsreader.h:439
int cid_bpi
Definition: hpgsreader.h:150
hpgs_bool src_transparency
Definition: hpgsreader.h:269
hpgs_point anchor_point
Definition: hpgsreader.h:346
A PCL bitmap font.
Definition: hpgsreader.h:161
double ft3_spacing
Definition: hpgsreader.h:350
double pcl_scale
Definition: hpgsreader.h:391
HPGS_INTERNAL_API int hpgs_reader_do_PCL(hpgs_reader *reader, hpgs_bool take_pos)
Definition: hpgspcl.c:2023
hpgs_reader_pcl_bitmap_font * pcl_primary_bitmap_font
Definition: hpgsreader.h:402
int alternate_font
Definition: hpgsreader.h:377
void * frame_asset_ctxt
Definition: hpgsreader.h:300
hpgs_bbox page_bbox
Definition: hpgsreader.h:294
int eoc
Definition: hpgsreader.h:441
HPGS_INTERNAL_API int hpgs_reader_read_new_string(hpgs_reader *reader, char *str)
Definition: hpgslexer.c:284
double baseline_position
Definition: hpgsreader.h:200
A 2D point.
Definition: hpgs.h:227
int rotation
Definition: hpgsreader.h:255
hpgs_palette_color pcl_foreground_color
Definition: hpgsreader.h:411
double ft4_spacing
Definition: hpgsreader.h:352
int pcl_raster_res
Definition: hpgsreader.h:420
hpgs_matrix page_matrix
Definition: hpgsreader.h:277
hpgs_point pcl_point
Definition: hpgsreader.h:394
hpgs_bool pattern_transparency
Definition: hpgsreader.h:270
int absolute_plotting
Definition: hpgsreader.h:339
size_t pcl_bitmap_fonts_size
Definition: hpgsreader.h:398
int cid_space
Definition: hpgsreader.h:148
hpgs_image * pcl_image
Definition: hpgsreader.h:431
hpgs_point first_path_point
Definition: hpgsreader.h:343
void * page_asset_ctxt
Definition: hpgsreader.h:297
int pcl_raster_compression
Definition: hpgsreader.h:421
int cid_enc
Definition: hpgsreader.h:149
int current_pen
Definition: hpgsreader.h:337
hpgs_device * plotsize_device
Definition: hpgsreader.h:239
double lw_factor
Definition: hpgsreader.h:245
int pcl_raster_data_size
Definition: hpgsreader.h:427
int pcl_raster_src_width
Definition: hpgsreader.h:416
double x_size
Definition: hpgsreader.h:248
int polygon_open
Definition: hpgsreader.h:334
int pcl_raster_planes
Definition: hpgsreader.h:428
int pcl_current_bitmap_font_id
Definition: hpgsreader.h:400
double ft10_level
Definition: hpgsreader.h:353
HPGS_INTERNAL_API int hpgs_reader_do_PJL(hpgs_reader *reader)
Definition: hpgspjl.c:99
int current_ft
Definition: hpgsreader.h:348
HPGS_INTERNAL_API int hpgs_device_setrgb_all(hpgs_device *dev, const hpgs_color *rgb)
Definition: hpgspen.c:114
char * png_dump_filename
Definition: hpgsreader.h:435
int polygon_mode
Definition: hpgsreader.h:325
An abstract pixel image.
Definition: hpgs.h:989
int clipsave_depth
Definition: hpgsreader.h:437
hpgs_palette_color last_color
Definition: hpgsreader.h:146
int pen_width_relative
Definition: hpgsreader.h:335
hpgs_point cr_point
Definition: hpgsreader.h:381
hpgs_bool interrupted
Definition: hpgsreader.h:442
int pen_down
Definition: hpgsreader.h:336
int pcl_raster_src_height
Definition: hpgsreader.h:417
hpgs_color min_color
Definition: hpgsreader.h:316
A point in hte HPGL polygon buffer.
Definition: hpgsreader.h:131
int pcl_raster_y_offset
Definition: hpgsreader.h:422
int verbosity
Definition: hpgsreader.h:243
double pcl_hmi
Definition: hpgsreader.h:392
HPGS_INTERNAL_API int hpgs_reader_read_double(hpgs_reader *reader, double *x)
Definition: hpgslexer.c:193
hpgs_reader_poly_point * poly_buffer
Definition: hpgsreader.h:329
HPGS_INTERNAL_API int hpgs_reader_read_pcl_int(hpgs_reader *reader, int *x, int *sign)
Definition: hpgslexer.c:104
int x_resolution
Definition: hpgsreader.h:201
double page_border
Definition: hpgsreader.h:292
A virtual vector graphics device for the HPGL reader.
Definition: hpgs.h:699
A PCL palette as used by PCL push/pop palette.
Definition: hpgsreader.h:143
hpgs_reader_pcl_bitmap_font * pcl_current_bitmap_font
Definition: hpgsreader.h:401
int pcl_raster_plane
Definition: hpgsreader.h:423
double world_scale
Definition: hpgsreader.h:275
int current_linetype
Definition: hpgsreader.h:338
double pcl_vmi
Definition: hpgsreader.h:393
int pcl_pattern
Definition: hpgsreader.h:410
char label_term
Definition: hpgsreader.h:321
hpgs_point P2
Definition: hpgsreader.h:253
int pcl_raster_presentation
Definition: hpgsreader.h:415
An application level RGB color.
Definition: hpgs.h:238
double frame_x
Definition: hpgsreader.h:251
int have_current_point
Definition: hpgsreader.h:340
double page_height
Definition: hpgsreader.h:290
hpgs_point p
The coordinates of the point.
Definition: hpgsreader.h:133
hpgs_reader_pcl_bitmap_font ** pcl_bitmap_fonts
Definition: hpgsreader.h:396
int pcl_raster_mode
Definition: hpgsreader.h:413
int pcl_raster_line
Definition: hpgsreader.h:424
int rop3
Definition: hpgsreader.h:268
HPGS_INTERNAL_API int hpgs_reader_read_int(hpgs_reader *reader, int *x)
Definition: hpgslexer.c:146
hpgs_matrix total_matrix
Definition: hpgsreader.h:283
hpgs_point P1
Definition: hpgsreader.h:252
int page_mode
Definition: hpgsreader.h:287
int pcl_raster_dest_height
Definition: hpgsreader.h:419
size_t pcl_n_palettes
Definition: hpgsreader.h:407
int current_page
Definition: hpgsreader.h:241
hpgs_point current_point
Definition: hpgsreader.h:341
hpgs_device * device
Definition: hpgsreader.h:238
double pitch
Definition: hpgsreader.h:196
int bytes_ignored
Definition: hpgsreader.h:440
double ft4_angle
Definition: hpgsreader.h:351
A bounding box.
Definition: hpgs.h:296
A PCL bitmap character.
Definition: hpgsreader.h:211
int y_resolution
Definition: hpgsreader.h:202
int default_encoding
Definition: hpgsreader.h:357
A HPGL interpreter.
Definition: hpgsreader.h:235
int npens
Definition: hpgsreader.h:311
int flag
0 moveto, 1 lineto, 2 curveto
Definition: hpgsreader.h:134
int pcl_i_palette
Definition: hpgsreader.h:408
hpgs_point delta_P
Definition: hpgsreader.h:254
double page_width
Definition: hpgsreader.h:289
hpgs_bbox content_bbox
Definition: hpgsreader.h:295
double total_scale
Definition: hpgsreader.h:285
hpgs_point min_path_point
Definition: hpgsreader.h:344
double page_angle
Definition: hpgsreader.h:291
hpgs_color max_color
Definition: hpgsreader.h:317
double height
Definition: hpgsreader.h:198
int pcl_raster_dest_width
Definition: hpgsreader.h:418
int sc_type
Definition: hpgsreader.h:259
hpgs_matrix world_matrix
Definition: hpgsreader.h:272
double ft3_angle
Definition: hpgsreader.h:349