diff options
Diffstat (limited to 'include/mupdf.h')
-rw-r--r-- | include/mupdf.h | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/include/mupdf.h b/include/mupdf.h index 2c423408..cd19e55b 100644 --- a/include/mupdf.h +++ b/include/mupdf.h @@ -131,10 +131,15 @@ fz_error *pdf_decryptpdf(pdf_xref *xref); * high-level semantic objects for resources and pages */ +extern fz_colorspace *pdf_devicegray; +extern fz_colorspace *pdf_devicergb; +extern fz_colorspace *pdf_devicecmyk; + typedef struct pdf_nametree_s pdf_nametree; typedef struct pdf_pagetree_s pdf_pagetree; typedef struct pdf_font_s pdf_font; typedef struct pdf_resources_s pdf_resources; +typedef struct pdf_page_s pdf_page; typedef struct pdf_gstate_s pdf_gstate; typedef struct pdf_csi_s pdf_csi; @@ -171,6 +176,8 @@ struct pdf_font_s /* Encoding (CMap) */ fz_cmap *encoding; + int ncidtogid; + unsigned short *cidtogid; /* Raw data for freetype */ char *filename; @@ -195,6 +202,14 @@ struct pdf_resources_s fz_obj *xform; }; +struct pdf_page_s +{ + fz_rect mediabox; + int rotate; + pdf_resources *rdb; + fz_tree *tree; +}; + struct pdf_gstate_s { /* path stroking */ @@ -206,8 +221,11 @@ struct pdf_gstate_s int dashlen; float dashlist[32]; - /* colors and colorspaces */ - struct { float r, g, b; } stroke, fill; + /* materials */ + fz_colorspace *strokecs; + float stroke[32]; + fz_colorspace *fillcs; + float fill[32]; /* text state */ float charspace; @@ -252,9 +270,15 @@ fz_obj *pdf_lookupnames(pdf_nametree *nt, char *name); /* pagetree.c */ fz_error *pdf_loadpagetree(pdf_pagetree **pp, pdf_xref *xref); +int pdf_getpagecount(pdf_pagetree *pages); +fz_obj *pdf_getpageobject(pdf_pagetree *pages, int p); void pdf_debugpagetree(pdf_pagetree *pages); void pdf_freepagetree(pdf_pagetree *pages); +/* page.c */ +fz_error *pdf_loadpage(pdf_page **pagep, pdf_xref *xref, fz_obj *ref); +void pdf_freepage(pdf_page *page); + /* cmap.c */ fz_error *pdf_parsecmap(fz_cmap **cmapp, fz_file *file); fz_error *pdf_loadembeddedcmap(fz_cmap **cmapp, pdf_xref *xref, fz_obj *stmref); @@ -271,6 +295,9 @@ fz_error *pdf_loadfontdescriptor(pdf_font *font, pdf_xref *xref, fz_obj *desc, c fz_error *pdf_loadfont(pdf_font **fontp, pdf_xref *xref, fz_obj *font); void pdf_freefont(pdf_font *font); +/* colorspace.c */ +fz_error *pdf_loadcolorspace(fz_colorspace **csp, pdf_xref *xref, fz_obj *obj); + /* resources.c */ fz_error *pdf_loadresources(pdf_resources **rdbp, pdf_xref *xref, fz_obj *resdict); void pdf_freeresources(pdf_resources *rdb); |