summaryrefslogtreecommitdiff
path: root/pdf/pdf_shade.c
diff options
context:
space:
mode:
Diffstat (limited to 'pdf/pdf_shade.c')
-rw-r--r--pdf/pdf_shade.c192
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;
}