diff options
Diffstat (limited to 'pdf/pdf_shade.c')
-rw-r--r-- | pdf/pdf_shade.c | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/pdf/pdf_shade.c b/pdf/pdf_shade.c index fb5dd72c..589b7613 100644 --- a/pdf/pdf_shade.c +++ b/pdf/pdf_shade.c @@ -1,5 +1,5 @@ -#include "fitz.h" -#include "mupdf.h" +#include "fitz-internal.h" +#include "mupdf-internal.h" #define HUGENUM 32000 /* how far to extend axial/radial shadings */ #define FUNSEGS 32 /* size of sampled mesh for function-based shadings */ @@ -363,9 +363,9 @@ pdf_sample_shade_function(fz_context *ctx, fz_shade *shade, int funcs, pdf_funct /* Type 1-3 -- Function-based, axial and radial shadings */ static void -pdf_load_function_based_shading(fz_shade *shade, pdf_document *xref, fz_obj *dict, pdf_function *func) +pdf_load_function_based_shading(fz_shade *shade, pdf_document *xref, pdf_obj *dict, pdf_function *func) { - fz_obj *obj; + pdf_obj *obj; float x0, y0, x1, y1; fz_matrix matrix; struct vertex v[4]; @@ -377,18 +377,18 @@ pdf_load_function_based_shading(fz_shade *shade, pdf_document *xref, fz_obj *dic x0 = y0 = 0; x1 = y1 = 1; - obj = fz_dict_gets(dict, "Domain"); - if (fz_array_len(obj) == 4) + obj = pdf_dict_gets(dict, "Domain"); + if (pdf_array_len(obj) == 4) { - x0 = fz_to_real(fz_array_get(obj, 0)); - x1 = fz_to_real(fz_array_get(obj, 1)); - y0 = fz_to_real(fz_array_get(obj, 2)); - y1 = fz_to_real(fz_array_get(obj, 3)); + x0 = pdf_to_real(pdf_array_get(obj, 0)); + x1 = pdf_to_real(pdf_array_get(obj, 1)); + y0 = pdf_to_real(pdf_array_get(obj, 2)); + y1 = pdf_to_real(pdf_array_get(obj, 3)); } matrix = fz_identity; - obj = fz_dict_gets(dict, "Matrix"); - if (fz_array_len(obj) == 6) + obj = pdf_dict_gets(dict, "Matrix"); + if (pdf_array_len(obj) == 6) matrix = pdf_to_matrix(ctx, obj); for (yy = 0; yy < FUNSEGS; yy++) @@ -428,36 +428,36 @@ pdf_load_function_based_shading(fz_shade *shade, pdf_document *xref, fz_obj *dic } static void -pdf_load_axial_shading(fz_shade *shade, pdf_document *xref, fz_obj *dict, int funcs, pdf_function **func) +pdf_load_axial_shading(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { - fz_obj *obj; + pdf_obj *obj; float d0, d1; int e0, e1; float x0, y0, x1, y1; struct vertex p1, p2; fz_context *ctx = xref->ctx; - obj = fz_dict_gets(dict, "Coords"); - x0 = fz_to_real(fz_array_get(obj, 0)); - y0 = fz_to_real(fz_array_get(obj, 1)); - x1 = fz_to_real(fz_array_get(obj, 2)); - y1 = fz_to_real(fz_array_get(obj, 3)); + obj = pdf_dict_gets(dict, "Coords"); + x0 = pdf_to_real(pdf_array_get(obj, 0)); + y0 = pdf_to_real(pdf_array_get(obj, 1)); + x1 = pdf_to_real(pdf_array_get(obj, 2)); + y1 = pdf_to_real(pdf_array_get(obj, 3)); d0 = 0; d1 = 1; - obj = fz_dict_gets(dict, "Domain"); - if (fz_array_len(obj) == 2) + obj = pdf_dict_gets(dict, "Domain"); + if (pdf_array_len(obj) == 2) { - d0 = fz_to_real(fz_array_get(obj, 0)); - d1 = fz_to_real(fz_array_get(obj, 1)); + d0 = pdf_to_real(pdf_array_get(obj, 0)); + d1 = pdf_to_real(pdf_array_get(obj, 1)); } e0 = e1 = 0; - obj = fz_dict_gets(dict, "Extend"); - if (fz_array_len(obj) == 2) + obj = pdf_dict_gets(dict, "Extend"); + if (pdf_array_len(obj) == 2) { - e0 = fz_to_bool(fz_array_get(obj, 0)); - e1 = fz_to_bool(fz_array_get(obj, 1)); + e0 = pdf_to_bool(pdf_array_get(obj, 0)); + e1 = pdf_to_bool(pdf_array_get(obj, 1)); } pdf_sample_shade_function(ctx, shade, funcs, func, d0, d1); @@ -479,38 +479,38 @@ pdf_load_axial_shading(fz_shade *shade, pdf_document *xref, fz_obj *dict, int fu } static void -pdf_load_radial_shading(fz_shade *shade, pdf_document *xref, fz_obj *dict, int funcs, pdf_function **func) +pdf_load_radial_shading(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { - fz_obj *obj; + pdf_obj *obj; float d0, d1; int e0, e1; float x0, y0, r0, x1, y1, r1; struct vertex p1, p2; fz_context *ctx = xref->ctx; - obj = fz_dict_gets(dict, "Coords"); - x0 = fz_to_real(fz_array_get(obj, 0)); - y0 = fz_to_real(fz_array_get(obj, 1)); - r0 = fz_to_real(fz_array_get(obj, 2)); - x1 = fz_to_real(fz_array_get(obj, 3)); - y1 = fz_to_real(fz_array_get(obj, 4)); - r1 = fz_to_real(fz_array_get(obj, 5)); + obj = pdf_dict_gets(dict, "Coords"); + x0 = pdf_to_real(pdf_array_get(obj, 0)); + y0 = pdf_to_real(pdf_array_get(obj, 1)); + r0 = pdf_to_real(pdf_array_get(obj, 2)); + x1 = pdf_to_real(pdf_array_get(obj, 3)); + y1 = pdf_to_real(pdf_array_get(obj, 4)); + r1 = pdf_to_real(pdf_array_get(obj, 5)); d0 = 0; d1 = 1; - obj = fz_dict_gets(dict, "Domain"); - if (fz_array_len(obj) == 2) + obj = pdf_dict_gets(dict, "Domain"); + if (pdf_array_len(obj) == 2) { - d0 = fz_to_real(fz_array_get(obj, 0)); - d1 = fz_to_real(fz_array_get(obj, 1)); + d0 = pdf_to_real(pdf_array_get(obj, 0)); + d1 = pdf_to_real(pdf_array_get(obj, 1)); } e0 = e1 = 0; - obj = fz_dict_gets(dict, "Extend"); - if (fz_array_len(obj) == 2) + obj = pdf_dict_gets(dict, "Extend"); + if (pdf_array_len(obj) == 2) { - e0 = fz_to_bool(fz_array_get(obj, 0)); - e1 = fz_to_bool(fz_array_get(obj, 1)); + e0 = pdf_to_bool(pdf_array_get(obj, 0)); + e1 = pdf_to_bool(pdf_array_get(obj, 1)); } pdf_sample_shade_function(ctx, shade, funcs, func, d0, d1); @@ -553,9 +553,9 @@ struct mesh_params }; static void -pdf_load_mesh_params(pdf_document *xref, fz_obj *dict, struct mesh_params *p) +pdf_load_mesh_params(pdf_document *xref, pdf_obj *dict, struct mesh_params *p) { - fz_obj *obj; + pdf_obj *obj; int i, n; p->x0 = p->y0 = 0; @@ -566,23 +566,23 @@ pdf_load_mesh_params(pdf_document *xref, fz_obj *dict, struct mesh_params *p) p->c1[i] = 1; } - p->vprow = fz_to_int(fz_dict_gets(dict, "VerticesPerRow")); - p->bpflag = fz_to_int(fz_dict_gets(dict, "BitsPerFlag")); - p->bpcoord = fz_to_int(fz_dict_gets(dict, "BitsPerCoordinate")); - p->bpcomp = fz_to_int(fz_dict_gets(dict, "BitsPerComponent")); + p->vprow = pdf_to_int(pdf_dict_gets(dict, "VerticesPerRow")); + p->bpflag = pdf_to_int(pdf_dict_gets(dict, "BitsPerFlag")); + p->bpcoord = pdf_to_int(pdf_dict_gets(dict, "BitsPerCoordinate")); + p->bpcomp = pdf_to_int(pdf_dict_gets(dict, "BitsPerComponent")); - obj = fz_dict_gets(dict, "Decode"); - if (fz_array_len(obj) >= 6) + obj = pdf_dict_gets(dict, "Decode"); + if (pdf_array_len(obj) >= 6) { - n = (fz_array_len(obj) - 4) / 2; - p->x0 = fz_to_real(fz_array_get(obj, 0)); - p->x1 = fz_to_real(fz_array_get(obj, 1)); - p->y0 = fz_to_real(fz_array_get(obj, 2)); - p->y1 = fz_to_real(fz_array_get(obj, 3)); + n = (pdf_array_len(obj) - 4) / 2; + p->x0 = pdf_to_real(pdf_array_get(obj, 0)); + p->x1 = pdf_to_real(pdf_array_get(obj, 1)); + p->y0 = pdf_to_real(pdf_array_get(obj, 2)); + p->y1 = pdf_to_real(pdf_array_get(obj, 3)); for (i = 0; i < n; i++) { - p->c0[i] = fz_to_real(fz_array_get(obj, 4 + i * 2)); - p->c1[i] = fz_to_real(fz_array_get(obj, 5 + i * 2)); + p->c0[i] = pdf_to_real(pdf_array_get(obj, 4 + i * 2)); + p->c1[i] = pdf_to_real(pdf_array_get(obj, 5 + i * 2)); } } @@ -603,7 +603,7 @@ pdf_load_mesh_params(pdf_document *xref, fz_obj *dict, struct mesh_params *p) } static void -pdf_load_type4_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, +pdf_load_type4_shade(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { fz_context *ctx = xref->ctx; @@ -624,7 +624,7 @@ pdf_load_type4_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, else ncomp = shade->colorspace->n; - stream = pdf_open_stream(xref, fz_to_num(dict), fz_to_gen(dict)); + stream = pdf_open_stream(xref, pdf_to_num(dict), pdf_to_gen(dict)); while (!fz_is_eof_bits(stream)) { @@ -672,7 +672,7 @@ pdf_load_type4_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, } static void -pdf_load_type5_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, +pdf_load_type5_shade(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { fz_context *ctx = xref->ctx; @@ -697,7 +697,7 @@ pdf_load_type5_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, buf = fz_malloc_array(ctx, p.vprow, sizeof(struct vertex)); first = 1; - stream = pdf_open_stream(xref, fz_to_num(dict), fz_to_gen(dict)); + stream = pdf_open_stream(xref, pdf_to_num(dict), pdf_to_gen(dict)); while (!fz_is_eof_bits(stream)) { @@ -726,7 +726,7 @@ pdf_load_type5_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, /* Type 6 & 7 -- Patch mesh shadings */ static void -pdf_load_type6_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, +pdf_load_type6_shade(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { fz_context *ctx = xref->ctx; @@ -750,7 +750,7 @@ pdf_load_type6_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, hasprevpatch = 0; - stream = pdf_open_stream(xref, fz_to_num(dict), fz_to_gen(dict)); + stream = pdf_open_stream(xref, pdf_to_num(dict), pdf_to_gen(dict)); while (!fz_is_eof_bits(stream)) { @@ -849,7 +849,7 @@ pdf_load_type6_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, } static void -pdf_load_type7_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, +pdf_load_type7_shade(fz_shade *shade, pdf_document *xref, pdf_obj *dict, int funcs, pdf_function **func) { fz_context *ctx = xref->ctx; @@ -873,7 +873,7 @@ pdf_load_type7_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, hasprevpatch = 0; - stream = pdf_open_stream(xref, fz_to_num(dict), fz_to_gen(dict)); + stream = pdf_open_stream(xref, pdf_to_num(dict), pdf_to_gen(dict)); while (!fz_is_eof_bits(stream)) { @@ -974,11 +974,11 @@ pdf_load_type7_shade(fz_shade *shade, pdf_document *xref, fz_obj *dict, /* Load all of the shading dictionary parameters, then switch on the shading type. */ static fz_shade * -pdf_load_shading_dict(pdf_document *xref, fz_obj *dict, fz_matrix transform) +pdf_load_shading_dict(pdf_document *xref, pdf_obj *dict, fz_matrix transform) { fz_shade *shade = NULL; pdf_function *func[FZ_MAX_COLORS] = { NULL }; - fz_obj *obj; + pdf_obj *obj; int funcs = 0; int type = 0; int i; @@ -1009,49 +1009,49 @@ pdf_load_shading_dict(pdf_document *xref, fz_obj *dict, fz_matrix transform) funcs = 0; - obj = fz_dict_gets(dict, "ShadingType"); - type = fz_to_int(obj); + obj = pdf_dict_gets(dict, "ShadingType"); + type = pdf_to_int(obj); - obj = fz_dict_gets(dict, "ColorSpace"); + obj = pdf_dict_gets(dict, "ColorSpace"); if (!obj) fz_throw(ctx, "shading colorspace is missing"); shade->colorspace = pdf_load_colorspace(xref, obj); - /* RJW: "cannot load colorspace (%d %d R)", fz_to_num(obj), fz_to_gen(obj) */ + /* RJW: "cannot load colorspace (%d %d R)", pdf_to_num(obj), pdf_to_gen(obj) */ - obj = fz_dict_gets(dict, "Background"); + obj = pdf_dict_gets(dict, "Background"); if (obj) { shade->use_background = 1; for (i = 0; i < shade->colorspace->n; i++) - shade->background[i] = fz_to_real(fz_array_get(obj, i)); + shade->background[i] = pdf_to_real(pdf_array_get(obj, i)); } - obj = fz_dict_gets(dict, "BBox"); - if (fz_is_array(obj)) + obj = pdf_dict_gets(dict, "BBox"); + if (pdf_is_array(obj)) { shade->bbox = pdf_to_rect(ctx, obj); } - obj = fz_dict_gets(dict, "Function"); - if (fz_is_dict(obj)) + obj = pdf_dict_gets(dict, "Function"); + if (pdf_is_dict(obj)) { funcs = 1; func[0] = pdf_load_function(xref, obj); if (!func[0]) - fz_throw(ctx, "cannot load shading function (%d %d R)", fz_to_num(obj), fz_to_gen(obj)); + fz_throw(ctx, "cannot load shading function (%d %d R)", pdf_to_num(obj), pdf_to_gen(obj)); } - else if (fz_is_array(obj)) + else if (pdf_is_array(obj)) { - funcs = fz_array_len(obj); + funcs = pdf_array_len(obj); if (funcs != 1 && funcs != shade->colorspace->n) fz_throw(ctx, "incorrect number of shading functions"); for (i = 0; i < funcs; i++) { - func[i] = pdf_load_function(xref, fz_array_get(obj, i)); + func[i] = pdf_load_function(xref, pdf_array_get(obj, i)); if (!func[i]) - fz_throw(ctx, "cannot load shading function (%d %d R)", fz_to_num(obj), fz_to_gen(obj)); + fz_throw(ctx, "cannot load shading function (%d %d R)", pdf_to_num(obj), pdf_to_gen(obj)); } } @@ -1079,7 +1079,7 @@ pdf_load_shading_dict(pdf_document *xref, fz_obj *dict, fz_matrix transform) pdf_drop_function(ctx, func[i]); fz_drop_shade(ctx, shade); - fz_throw(ctx, "cannot load shading type %d (%d %d R)", type, fz_to_num(dict), fz_to_gen(dict)); + fz_throw(ctx, "cannot load shading type %d (%d %d R)", type, pdf_to_num(dict), pdf_to_gen(dict)); } return shade; } @@ -1093,52 +1093,52 @@ fz_shade_size(fz_shade *s) } fz_shade * -pdf_load_shading(pdf_document *xref, fz_obj *dict) +pdf_load_shading(pdf_document *xref, pdf_obj *dict) { fz_matrix mat; - fz_obj *obj; + pdf_obj *obj; fz_context *ctx = xref->ctx; fz_shade *shade; - if ((shade = fz_find_item(ctx, fz_free_shade_imp, dict))) + if ((shade = pdf_find_item(ctx, fz_free_shade_imp, dict))) { return shade; } /* Type 2 pattern dictionary */ - if (fz_dict_gets(dict, "PatternType")) + if (pdf_dict_gets(dict, "PatternType")) { - obj = fz_dict_gets(dict, "Matrix"); + obj = pdf_dict_gets(dict, "Matrix"); if (obj) mat = pdf_to_matrix(ctx, obj); else mat = fz_identity; - obj = fz_dict_gets(dict, "ExtGState"); + obj = pdf_dict_gets(dict, "ExtGState"); if (obj) { - if (fz_dict_gets(obj, "CA") || fz_dict_gets(obj, "ca")) + if (pdf_dict_gets(obj, "CA") || pdf_dict_gets(obj, "ca")) { fz_warn(ctx, "shading with alpha not supported"); } } - obj = fz_dict_gets(dict, "Shading"); + obj = pdf_dict_gets(dict, "Shading"); if (!obj) fz_throw(ctx, "syntaxerror: missing shading dictionary"); shade = pdf_load_shading_dict(xref, obj, mat); - /* RJW: "cannot load shading dictionary (%d %d R)", fz_to_num(obj), fz_to_gen(obj) */ + /* RJW: "cannot load shading dictionary (%d %d R)", pdf_to_num(obj), pdf_to_gen(obj) */ } /* Naked shading dictionary */ else { shade = pdf_load_shading_dict(xref, dict, fz_identity); - /* RJW: "cannot load shading dictionary (%d %d R)", fz_to_num(dict), fz_to_gen(dict) */ + /* RJW: "cannot load shading dictionary (%d %d R)", pdf_to_num(dict), pdf_to_gen(dict) */ } - fz_store_item(ctx, dict, shade, fz_shade_size(shade)); + pdf_store_item(ctx, dict, shade, fz_shade_size(shade)); return shade; } |