summaryrefslogtreecommitdiff
path: root/pdf/pdf_page.c
diff options
context:
space:
mode:
Diffstat (limited to 'pdf/pdf_page.c')
-rw-r--r--pdf/pdf_page.c164
1 files changed, 82 insertions, 82 deletions
diff --git a/pdf/pdf_page.c b/pdf/pdf_page.c
index 869f7a5c..685ec3ae 100644
--- a/pdf/pdf_page.c
+++ b/pdf/pdf_page.c
@@ -4,36 +4,36 @@
/* we need to combine all sub-streams into one for the content stream interpreter */
static fz_error
-pdf_loadpagecontentsarray(fz_buffer **bigbufp, pdf_xref *xref, fz_obj *list)
+pdf_load_page_contents_array(fz_buffer **bigbufp, pdf_xref *xref, fz_obj *list)
{
fz_error error;
fz_buffer *big;
fz_buffer *one;
int i;
- pdf_logpage("multiple content streams: %d\n", fz_arraylen(list));
+ pdf_log_page("multiple content streams: %d\n", fz_array_len(list));
/* TODO: openstream, read, close into big buffer at once */
- big = fz_newbuffer(32 * 1024);
+ big = fz_new_buffer(32 * 1024);
- for (i = 0; i < fz_arraylen(list); i++)
+ for (i = 0; i < fz_array_len(list); i++)
{
- fz_obj *stm = fz_arrayget(list, i);
- error = pdf_loadstream(&one, xref, fz_tonum(stm), fz_togen(stm));
+ fz_obj *stm = fz_array_get(list, i);
+ error = pdf_load_stream(&one, xref, fz_to_num(stm), fz_to_gen(stm));
if (error)
{
- fz_dropbuffer(big);
- return fz_rethrow(error, "cannot load content stream part %d/%d (%d %d R)", i + 1, fz_arraylen(list), fz_tonum(stm), fz_togen(stm));
+ fz_drop_buffer(big);
+ return fz_rethrow(error, "cannot load content stream part %d/%d (%d %d R)", i + 1, fz_array_len(list), fz_to_num(stm), fz_to_gen(stm));
}
if (big->len + one->len + 1 > big->cap)
- fz_resizebuffer(big, big->len + one->len + 1);
+ fz_resize_buffer(big, big->len + one->len + 1);
memcpy(big->data + big->len, one->data, one->len);
big->data[big->len + one->len] = ' ';
big->len += one->len + 1;
- fz_dropbuffer(one);
+ fz_drop_buffer(one);
}
*bigbufp = big;
@@ -41,26 +41,26 @@ pdf_loadpagecontentsarray(fz_buffer **bigbufp, pdf_xref *xref, fz_obj *list)
}
static fz_error
-pdf_loadpagecontents(fz_buffer **bufp, pdf_xref *xref, fz_obj *obj)
+pdf_load_page_contents(fz_buffer **bufp, pdf_xref *xref, fz_obj *obj)
{
fz_error error;
- if (fz_isarray(obj))
+ if (fz_is_array(obj))
{
- error = pdf_loadpagecontentsarray(bufp, xref, obj);
+ error = pdf_load_page_contents_array(bufp, xref, obj);
if (error)
- return fz_rethrow(error, "cannot load content stream array (%d 0 R)", fz_tonum(obj));
+ return fz_rethrow(error, "cannot load content stream array (%d 0 R)", fz_to_num(obj));
}
- else if (pdf_isstream(xref, fz_tonum(obj), fz_togen(obj)))
+ else if (pdf_is_stream(xref, fz_to_num(obj), fz_to_gen(obj)))
{
- error = pdf_loadstream(bufp, xref, fz_tonum(obj), fz_togen(obj));
+ error = pdf_load_stream(bufp, xref, fz_to_num(obj), fz_to_gen(obj));
if (error)
- return fz_rethrow(error, "cannot load content stream (%d 0 R)", fz_tonum(obj));
+ return fz_rethrow(error, "cannot load content stream (%d 0 R)", fz_to_num(obj));
}
else
{
fz_warn("page contents missing, leaving page blank");
- *bufp = fz_newbuffer(0);
+ *bufp = fz_new_buffer(0);
}
return fz_okay;
@@ -68,112 +68,112 @@ pdf_loadpagecontents(fz_buffer **bufp, pdf_xref *xref, fz_obj *obj)
/* We need to know whether to install a page-level transparency group */
-static int pdf_resourcesuseblending(fz_obj *rdb);
+static int pdf_resources_use_blending(fz_obj *rdb);
static int
-pdf_extgstateusesblending(fz_obj *dict)
+pdf_extgstate_uses_blending(fz_obj *dict)
{
fz_obj *obj;
- obj = fz_dictgets(dict, "BM");
- if (fz_isname(obj) && strcmp(fz_toname(obj), "Normal"))
+ obj = fz_dict_gets(dict, "BM");
+ if (fz_is_name(obj) && strcmp(fz_to_name(obj), "Normal"))
return 1;
return 0;
}
static int
-pdf_patternusesblending(fz_obj *dict)
+pdf_pattern_uses_blending(fz_obj *dict)
{
fz_obj *obj;
- obj = fz_dictgets(dict, "Resources");
- if (fz_isdict(obj) && pdf_resourcesuseblending(obj))
+ obj = fz_dict_gets(dict, "Resources");
+ if (fz_is_dict(obj) && pdf_resources_use_blending(obj))
return 1;
- obj = fz_dictgets(dict, "ExtGState");
- if (fz_isdict(obj) && pdf_extgstateusesblending(obj))
+ obj = fz_dict_gets(dict, "ExtGState");
+ if (fz_is_dict(obj) && pdf_extgstate_uses_blending(obj))
return 1;
return 0;
}
static int
-pdf_xobjectusesblending(fz_obj *dict)
+pdf_xobject_uses_blending(fz_obj *dict)
{
fz_obj *obj;
- obj = fz_dictgets(dict, "Resources");
- if (fz_isdict(obj) && pdf_resourcesuseblending(obj))
+ obj = fz_dict_gets(dict, "Resources");
+ if (fz_is_dict(obj) && pdf_resources_use_blending(obj))
return 1;
return 0;
}
static int
-pdf_resourcesuseblending(fz_obj *rdb)
+pdf_resources_use_blending(fz_obj *rdb)
{
fz_obj *dict;
fz_obj *tmp;
int i;
/* stop on cyclic resource dependencies */
- if (fz_dictgets(rdb, ".useBM"))
- return fz_tobool(fz_dictgets(rdb, ".useBM"));
+ if (fz_dict_gets(rdb, ".useBM"))
+ return fz_to_bool(fz_dict_gets(rdb, ".useBM"));
- tmp = fz_newbool(0);
- fz_dictputs(rdb, ".useBM", tmp);
- fz_dropobj(tmp);
+ tmp = fz_new_bool(0);
+ fz_dict_puts(rdb, ".useBM", tmp);
+ fz_drop_obj(tmp);
- dict = fz_dictgets(rdb, "ExtGState");
- for (i = 0; i < fz_dictlen(dict); i++)
- if (pdf_extgstateusesblending(fz_dictgetval(dict, i)))
+ dict = fz_dict_gets(rdb, "ExtGState");
+ for (i = 0; i < fz_dict_len(dict); i++)
+ if (pdf_extgstate_uses_blending(fz_dict_get_val(dict, i)))
goto found;
- dict = fz_dictgets(rdb, "Pattern");
- for (i = 0; i < fz_dictlen(dict); i++)
- if (pdf_patternusesblending(fz_dictgetval(dict, i)))
+ dict = fz_dict_gets(rdb, "Pattern");
+ for (i = 0; i < fz_dict_len(dict); i++)
+ if (pdf_pattern_uses_blending(fz_dict_get_val(dict, i)))
goto found;
- dict = fz_dictgets(rdb, "XObject");
- for (i = 0; i < fz_dictlen(dict); i++)
- if (pdf_xobjectusesblending(fz_dictgetval(dict, i)))
+ dict = fz_dict_gets(rdb, "XObject");
+ for (i = 0; i < fz_dict_len(dict); i++)
+ if (pdf_xobject_uses_blending(fz_dict_get_val(dict, i)))
goto found;
return 0;
found:
- tmp = fz_newbool(1);
- fz_dictputs(rdb, ".useBM", tmp);
- fz_dropobj(tmp);
+ tmp = fz_new_bool(1);
+ fz_dict_puts(rdb, ".useBM", tmp);
+ fz_drop_obj(tmp);
return 1;
}
fz_error
-pdf_loadpage(pdf_page **pagep, pdf_xref *xref, fz_obj *dict)
+pdf_load_page(pdf_page **pagep, pdf_xref *xref, fz_obj *dict)
{
fz_error error;
pdf_page *page;
fz_obj *obj;
fz_bbox bbox;
- pdf_logpage("load page {\n");
+ pdf_log_page("load page {\n");
// TODO: move this to a more appropriate place
/* Ensure that we have a store for resource objects */
if (!xref->store)
- xref->store = pdf_newstore();
+ xref->store = pdf_new_store();
page = fz_malloc(sizeof(pdf_page));
- page->resources = nil;
- page->contents = nil;
+ page->resources = NULL;
+ page->contents = NULL;
page->transparency = 0;
- page->links = nil;
- page->annots = nil;
+ page->links = NULL;
+ page->annots = NULL;
- obj = fz_dictgets(dict, "MediaBox");
- bbox = fz_roundrect(pdf_torect(obj));
- if (fz_isemptyrect(pdf_torect(obj)))
+ obj = fz_dict_gets(dict, "MediaBox");
+ bbox = fz_round_rect(pdf_to_rect(obj));
+ if (fz_is_empty_rect(pdf_to_rect(obj)))
{
fz_warn("cannot find page bounds, guessing page bounds.");
bbox.x0 = 0;
@@ -182,11 +182,11 @@ pdf_loadpage(pdf_page **pagep, pdf_xref *xref, fz_obj *dict)
bbox.y1 = 792;
}
- obj = fz_dictgets(dict, "CropBox");
- if (fz_isarray(obj))
+ obj = fz_dict_gets(dict, "CropBox");
+ if (fz_is_array(obj))
{
- fz_bbox cropbox = fz_roundrect(pdf_torect(obj));
- bbox = fz_intersectbbox(bbox, cropbox);
+ fz_bbox cropbox = fz_round_rect(pdf_to_rect(obj));
+ bbox = fz_intersect_bbox(bbox, cropbox);
}
page->mediabox.x0 = MIN(bbox.x0, bbox.x1);
@@ -197,50 +197,50 @@ pdf_loadpage(pdf_page **pagep, pdf_xref *xref, fz_obj *dict)
if (page->mediabox.x1 - page->mediabox.x0 < 1 || page->mediabox.y1 - page->mediabox.y0 < 1)
return fz_throw("invalid page size");
- page->rotate = fz_toint(fz_dictgets(dict, "Rotate"));
+ page->rotate = fz_to_int(fz_dict_gets(dict, "Rotate"));
- pdf_logpage("bbox [%d %d %d %d]\n", bbox.x0, bbox.y0, bbox.x1, bbox.y1);
- pdf_logpage("rotate %d\n", page->rotate);
+ pdf_log_page("bbox [%d %d %d %d]\n", bbox.x0, bbox.y0, bbox.x1, bbox.y1);
+ pdf_log_page("rotate %d\n", page->rotate);
- obj = fz_dictgets(dict, "Annots");
+ obj = fz_dict_gets(dict, "Annots");
if (obj)
{
- pdf_loadlinks(&page->links, xref, obj);
- pdf_loadannots(&page->annots, xref, obj);
+ pdf_load_links(&page->links, xref, obj);
+ pdf_load_annots(&page->annots, xref, obj);
}
- page->resources = fz_dictgets(dict, "Resources");
+ page->resources = fz_dict_gets(dict, "Resources");
if (page->resources)
- fz_keepobj(page->resources);
+ fz_keep_obj(page->resources);
- obj = fz_dictgets(dict, "Contents");
- error = pdf_loadpagecontents(&page->contents, xref, obj);
+ obj = fz_dict_gets(dict, "Contents");
+ error = pdf_load_page_contents(&page->contents, xref, obj);
if (error)
{
- pdf_freepage(page);
- return fz_rethrow(error, "cannot load page contents (%d %d R)", fz_tonum(obj), fz_togen(obj));
+ pdf_free_page(page);
+ return fz_rethrow(error, "cannot load page contents (%d %d R)", fz_to_num(obj), fz_to_gen(obj));
}
- if (page->resources && pdf_resourcesuseblending(page->resources))
+ if (page->resources && pdf_resources_use_blending(page->resources))
page->transparency = 1;
- pdf_logpage("} %p\n", page);
+ pdf_log_page("} %p\n", page);
*pagep = page;
return fz_okay;
}
void
-pdf_freepage(pdf_page *page)
+pdf_free_page(pdf_page *page)
{
- pdf_logpage("drop page %p\n", page);
+ pdf_log_page("drop page %p\n", page);
if (page->resources)
- fz_dropobj(page->resources);
+ fz_drop_obj(page->resources);
if (page->contents)
- fz_dropbuffer(page->contents);
+ fz_drop_buffer(page->contents);
if (page->links)
- pdf_freelink(page->links);
+ pdf_free_link(page->links);
if (page->annots)
- pdf_freeannot(page->annots);
+ pdf_free_annot(page->annots);
fz_free(page);
}