diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-12-02 06:55:46 +0100 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-12-02 06:55:46 +0100 |
commit | 5c335f9337724f61c14af143b18f0891c58dbacd (patch) | |
tree | be1c7eef2412c09d4ae0caebd933a17e4b8b80f0 /include | |
parent | 615d27315a131bea0df699c3daa1102289b433c6 (diff) | |
download | mupdf-5c335f9337724f61c14af143b18f0891c58dbacd.tar.xz |
optimise object store. refcount resources. colorkeyed transparency. font bbox.
Diffstat (limited to 'include')
-rw-r--r-- | include/fitz/hash.h | 1 | ||||
-rw-r--r-- | include/mupdf/rsrc.h | 11 | ||||
-rw-r--r-- | include/mupdf/xref.h | 1 |
3 files changed, 12 insertions, 1 deletions
diff --git a/include/fitz/hash.h b/include/fitz/hash.h index c53056bc..2ada17f4 100644 --- a/include/fitz/hash.h +++ b/include/fitz/hash.h @@ -3,6 +3,7 @@ typedef struct fz_hashtable_s fz_hashtable; fz_error *fz_newhash(fz_hashtable **tablep, int initialsize, int keylen); fz_error *fz_resizehash(fz_hashtable *table, int newsize); void fz_debughash(fz_hashtable *table); +void fz_emptyhash(fz_hashtable *table); void fz_drophash(fz_hashtable *table); void *fz_hashfind(fz_hashtable *table, void *key); diff --git a/include/mupdf/rsrc.h b/include/mupdf/rsrc.h index 0e69621b..e840ccec 100644 --- a/include/mupdf/rsrc.h +++ b/include/mupdf/rsrc.h @@ -15,9 +15,11 @@ typedef enum pdf_itemkind_e } pdf_itemkind; fz_error *pdf_newstore(pdf_store **storep); +void pdf_emptystore(pdf_store *store); +void pdf_dropstore(pdf_store *store); + fz_error *pdf_storeitem(pdf_store *store, pdf_itemkind tag, fz_obj *key, void *val); void *pdf_finditem(pdf_store *store, pdf_itemkind tag, fz_obj *key); -void pdf_dropstore(pdf_store *store); fz_error *pdf_loadresources(fz_obj **rdb, pdf_xref *xref, fz_obj *orig); @@ -29,6 +31,7 @@ typedef struct pdf_function_s pdf_function; fz_error *pdf_loadfunction(pdf_function **func, pdf_xref *xref, fz_obj *ref); fz_error *pdf_evalfunction(pdf_function *func, float *in, int inlen, float *out, int outlen); +pdf_function *pdf_keepfunction(pdf_function *func); void pdf_dropfunction(pdf_function *func); /* @@ -64,6 +67,7 @@ typedef struct pdf_pattern_s pdf_pattern; struct pdf_pattern_s { + int refs; int ismask; float xstep; float ystep; @@ -73,6 +77,7 @@ struct pdf_pattern_s }; fz_error *pdf_loadpattern(pdf_pattern **patp, pdf_xref *xref, fz_obj *obj, fz_obj *ref); +pdf_pattern *pdf_keeppattern(pdf_pattern *pat); void pdf_droppattern(pdf_pattern *pat); fz_error *pdf_loadshade(fz_shade **shadep, pdf_xref *xref, fz_obj *obj, fz_obj *ref); @@ -85,6 +90,7 @@ typedef struct pdf_xobject_s pdf_xobject; struct pdf_xobject_s { + int refs; fz_matrix matrix; fz_rect bbox; fz_obj *resources; @@ -92,6 +98,7 @@ struct pdf_xobject_s }; fz_error *pdf_loadxobject(pdf_xobject **xobjp, pdf_xref *xref, fz_obj *obj, fz_obj *ref); +pdf_xobject *pdf_keepxobject(pdf_xobject *xobj); void pdf_dropxobject(pdf_xobject *xobj); /* @@ -104,6 +111,8 @@ struct pdf_image_s { fz_image super; fz_image *mask; /* explicit mask with subimage */ + int usecolorkey; /* explicit color-keyed masking */ + int colorkey[FZ_MAXCOLORS * 2]; pdf_indexed *indexed; float decode[32]; int bpc; diff --git a/include/mupdf/xref.h b/include/mupdf/xref.h index 7ad417da..c1307e45 100644 --- a/include/mupdf/xref.h +++ b/include/mupdf/xref.h @@ -42,6 +42,7 @@ fz_error *pdf_updatepdf(pdf_xref *, char *filename); fz_error *pdf_savepdf(pdf_xref *, char *filename, pdf_crypt *encrypt); void pdf_debugpdf(pdf_xref *); +void pdf_flushpdf(pdf_xref *, int force); void pdf_closepdf(pdf_xref *); fz_error *pdf_allocobject(pdf_xref *, int *oidp, int *genp); |