⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dscparse.h

📁 okular
💻 H
📖 第 1 页 / 共 2 页
字号:
    float yy;    /* float ty; */    /* float ty; */} CDSCCTM;typedef struct CDSCPAGE_S {    int ordinal;    const char *label;    unsigned long begin;    unsigned long end;    unsigned int orientation;    const CDSCMEDIA *media;    CDSCBBOX *bbox;  /* PageBoundingBox, also used by GSview for PDF CropBox */    CDSCCTM *viewing_orientation;} CDSCPAGE;/* binary DOS EPS header */typedef struct CDSCDOSEPS_S {    GSDWORD ps_begin;    GSDWORD ps_length;    GSDWORD wmf_begin;    GSDWORD wmf_length;    GSDWORD tiff_begin;    GSDWORD tiff_length;    GSWORD checksum;} CDSCDOSEPS;/* rather than allocated every string with malloc, we allocate * chunks of 4k and place the (usually) short strings in these * chunks. */typedef struct CDSCSTRING_S CDSCSTRING;struct CDSCSTRING_S {    unsigned int index;    unsigned int length;    char *data;    CDSCSTRING *next;};/* DSC error reporting */typedef enum {  CDSC_MESSAGE_BBOX = 0,  CDSC_MESSAGE_EARLY_TRAILER = 1,  CDSC_MESSAGE_EARLY_EOF = 2,  CDSC_MESSAGE_PAGE_IN_TRAILER = 3,  CDSC_MESSAGE_PAGE_ORDINAL = 4,  CDSC_MESSAGE_PAGES_WRONG = 5,  CDSC_MESSAGE_EPS_NO_BBOX = 6,  CDSC_MESSAGE_EPS_PAGES = 7,  CDSC_MESSAGE_NO_MEDIA = 8,  CDSC_MESSAGE_ATEND = 9,  CDSC_MESSAGE_DUP_COMMENT = 10,  CDSC_MESSAGE_DUP_TRAILER = 11,  CDSC_MESSAGE_BEGIN_END = 12,  CDSC_MESSAGE_BAD_SECTION = 13,  CDSC_MESSAGE_LONG_LINE = 14,  CDSC_MESSAGE_INCORRECT_USAGE = 15} CDSC_MESSAGE_ERROR;/* severity */typedef enum {  CDSC_ERROR_INFORM	= 0,	/* Not an error */  CDSC_ERROR_WARN	= 1,	/* Not a DSC error itself,  */  CDSC_ERROR_ERROR	= 2	/* DSC error */} CDSC_MESSAGE_SEVERITY;/* response */typedef enum {  CDSC_RESPONSE_OK	= 0,  CDSC_RESPONSE_CANCEL	= 1,  CDSC_RESPONSE_IGNORE_ALL = 2} CDSC_RESPONSE;extern const char * const dsc_message[];typedef struct CDSC_S CDSC;struct CDSC_S {    /* public data */    GSBOOL dsc;			/* TRUE if DSC comments found */    GSBOOL ctrld;		/* TRUE if has CTRLD at start of stream */    GSBOOL pjl;			/* TRUE if has HP PJL at start of stream */    GSBOOL epsf;		/* TRUE if EPSF */    GSBOOL pdf;			/* TRUE if Portable Document Format */    unsigned int preview;	/* enum CDSC_PREVIEW_TYPE */    char *dsc_version;	/* first line of file */    unsigned int language_level;    unsigned int document_data;	/* Clean7Bit, Clean8Bit, Binary */				/* enum CDSC_DOCUMENT_DATA */    /* DSC sections */    unsigned long begincomments;    unsigned long endcomments;    unsigned long beginpreview;    unsigned long endpreview;    unsigned long begindefaults;    unsigned long enddefaults;    unsigned long beginprolog;    unsigned long endprolog;    unsigned long beginsetup;    unsigned long endsetup;    unsigned long begintrailer;    unsigned long endtrailer;    CDSCPAGE *page;    unsigned int page_count;	/* number of %%Page: pages in document */    unsigned int page_pages;	/* number of pages in document from %%Pages: */    unsigned int page_order;	/* enum CDSC_PAGE_ORDER */    unsigned int page_orientation;  /* the default page orientation */				/* enum CDSC_ORIENTATION */    CDSCCTM *viewing_orientation;    unsigned int media_count;	/* number of media items */    CDSCMEDIA **media;		/* the array of media */    const CDSCMEDIA *page_media;/* the default page media */    CDSCBBOX *bbox;		/* the document bounding box */    CDSCBBOX *page_bbox;	/* the default page bounding box */    CDSCDOSEPS *doseps;		/* DOS binary header */    char *dsc_title;    char *dsc_creator;    char *dsc_date;    char *dsc_for;    // added 02 August 2005    char *dsc_copyright;    unsigned int max_error;	/* highest error number that will be reported */    const int *severity;	/* array of severity values, one per error */    /* private data */    void *caller_data;		/* pointer to be provided when calling */			        /* error and debug callbacks */    int id;			/* last DSC comment found */    int scan_section;		/* section currently being scanned */				/* enum CDSC_SECTION */    unsigned long doseps_end;	/* ps_begin+ps_length, otherwise 0 */    unsigned int page_chunk_length; /* number of pages allocated */    unsigned long file_length;	/* length of document */		/* If provided we try to recognise %%Trailer and %%EOF */		/* incorrectly embedded inside document. */		/* Can be left set to default value of 0 */    int skip_document;		/* recursion level of %%BeginDocument: */    int skip_bytes;		/* #bytes to ignore from BeginData: */				/* or DOSEPS preview section */    int skip_lines;		/* #lines to ignore from BeginData: */    GSBOOL skip_pjl;		/* TRUE if skip PJL until first PS comment */     int begin_font_count;	/* recursion level of %%BeginFont */    int begin_feature_count;	/* recursion level of %%BeginFeature */    int begin_resource_count;	/* recursion level of %%BeginResource */    int begin_procset_count;	/* recursion level of %%BeginProcSet */    /* buffer for input */    char data[CDSC_DATA_LENGTH];/* start of buffer */    unsigned int data_length; 	/* length of data in buffer */    unsigned int data_index;	/* offset to next char in buffer */    unsigned long data_offset;	/* offset from start of document */			       	/* to byte in data[0] */    GSBOOL eof;			/* TRUE if there is no more data */    /* information about DSC line */    char *line;			/* pointer to last read DSC line */				/* not null terminated */    unsigned int line_length; 	/* number of characters in line */    GSBOOL eol;			/* TRUE if dsc_line contains EOL */    GSBOOL last_cr;		/* TRUE if last line ended in \r */				/* check next time for \n */    unsigned int line_count;	/* line number */    GSBOOL long_line;		/* TRUE if found a line longer than 255 characters */    char last_line[256];	/* previous DSC line, used for %%+ */    /* more efficient string storage (for short strings) than malloc */    CDSCSTRING *string_head;	/* linked list head */    CDSCSTRING *string;		/* current list item */    /* memory allocation routines */    void *(*memalloc)(P2(size_t size, void *closure_data));    void (*memfree)(P2(void *ptr, void *closure_data));    void *mem_closure_data;    /* function for printing debug messages */    void (*debug_print_fn)(P2(void *caller_data, const char *str));    /* function for reporting errors in DSC comments */    int (*dsc_error_fn)(P5(void *caller_data, CDSC *dsc, 	unsigned int explanation, const char *line, unsigned int line_len));    /* public data */    /* Added 2001-10-01 */    CDSCFBBOX *hires_bbox;	/* the hires document bounding box */    CDSCFBBOX *crop_box;	/* the size of the trimmed page */};/* Public functions *//* Create and initialise DSC parser */CDSC *dsc_init(P1(void *caller_data));CDSC *dsc_init_with_alloc(P4(    void *caller_data,    void *(*memalloc)(size_t size, void *closure_data),    void (*memfree)(void *ptr, void *closure_data),    void *closure_data));/* Free the DSC parser */void dsc_free(P1(CDSC *dsc));/* Tell DSC parser how long document will be, to allow ignoring * of early %%Trailer and %%EOF.  This is optional. */void dsc_set_length(P2(CDSC *dsc, unsigned long len));/* Process a buffer containing DSC comments and PostScript */int dsc_scan_data(P3(CDSC *dsc, const char *data, int len));/* All data has been processed, fixup any DSC errors */int dsc_fixup(P1(CDSC *dsc));/* Install error query function */void dsc_set_error_function(P2(CDSC *dsc,     int (*dsc_error_fn)(P5(void *caller_data, CDSC *dsc, 	unsigned int explanation, const char *line, unsigned int line_len))));/* Install print function for debug messages */void dsc_set_debug_function(P2(CDSC *dsc, 	void (*debug_fn)(P2(void *caller_data, const char *str))));/* Print a message to debug output, if provided */void dsc_debug_print(P2(CDSC *dsc, const char *str));/* should be internal only functions, but made available to  * GSview for handling PDF */int dsc_add_page(P3(CDSC *dsc, int ordinal, char *label));int dsc_add_media(P2(CDSC *dsc, CDSCMEDIA *media));int dsc_set_page_bbox(P6(CDSC *dsc, unsigned int page_number,     int llx, int lly, int urx, int ury));#endif// vim:sw=4:sts=4:ts=8:noet

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -