summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-op-buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-op-buffer.c')
-rw-r--r--source/pdf/pdf-op-buffer.c267
1 files changed, 133 insertions, 134 deletions
diff --git a/source/pdf/pdf-op-buffer.c b/source/pdf/pdf-op-buffer.c
index 22436ce5..e2bbd343 100644
--- a/source/pdf/pdf-op-buffer.c
+++ b/source/pdf/pdf-op-buffer.c
@@ -9,18 +9,18 @@ typedef struct pdf_buffer_state_s
pdf_buffer_state;
static void
-put_hexstring(pdf_csi *csi, fz_output *out)
+put_hexstring(fz_context *ctx, fz_output *out, pdf_csi *csi)
{
int i;
- fz_printf(out, "<");
+ fz_printf(ctx, out, "<");
for (i = 0; i < csi->string_len; i++)
- fz_printf(out, "%02x", csi->string[i]);
- fz_printf(out, ">");
+ fz_printf(ctx, out, "%02x", csi->string[i]);
+ fz_printf(ctx, out, ">");
}
static void
-put_string(pdf_csi *csi, fz_output *out)
+put_string(fz_context *ctx, fz_output *out, pdf_csi *csi)
{
int i;
@@ -28,40 +28,40 @@ put_string(pdf_csi *csi, fz_output *out)
if (csi->string[i] < 32 || csi->string[i] >= 127)
break;
if (i < csi->string_len)
- put_hexstring(csi, out);
+ put_hexstring(ctx, out, csi);
else
{
- fz_printf(out, "(");
+ fz_printf(ctx, out, "(");
for (i = 0; i < csi->string_len; i++)
{
char c = csi->string[i];
switch (c)
{
case '(':
- fz_printf(out, "\\(");
+ fz_printf(ctx, out, "\\(");
break;
case ')':
- fz_printf(out, "\\)");
+ fz_printf(ctx, out, "\\)");
break;
case '\\':
- fz_printf(out, "\\\\");
+ fz_printf(ctx, out, "\\\\");
break;
default:
- fz_printf(out, "%c", csi->string[i]);
+ fz_printf(ctx, out, "%c", csi->string[i]);
break;
}
}
- fz_printf(out, ")");
+ fz_printf(ctx, out, ")");
}
}
static void
-put_string_or_obj(pdf_csi *csi, fz_output *out)
+put_string_or_obj(fz_context *ctx, fz_output *out, pdf_csi *csi)
{
if (csi->string_len)
- put_string(csi, out);
+ put_string(ctx, out, csi);
else
- pdf_output_obj(out, csi->obj, 1);
+ pdf_output_obj(ctx, out, csi->obj, 1);
}
static void
@@ -69,9 +69,9 @@ pdf_buffer_dquote(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f ", csi->stack[0], csi->stack[1]);
- put_string_or_obj(csi, state->out);
- fz_printf(state->out, " \"\n");
+ fz_printf(state->ctx, state->out, "%f %f ", csi->stack[0], csi->stack[1]);
+ put_string_or_obj(state->ctx, state->out, csi);
+ fz_printf(state->ctx, state->out, " \"\n");
}
static void
@@ -79,8 +79,8 @@ pdf_buffer_squote(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- put_string_or_obj(csi, state->out);
- fz_printf(state->out, " \'\n");
+ put_string_or_obj(state->ctx, state->out, csi);
+ fz_printf(state->ctx, state->out, " \'\n");
}
static void
@@ -88,7 +88,7 @@ pdf_buffer_B(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "B\n");
+ fz_printf(state->ctx, state->out, "B\n");
}
static void
@@ -96,7 +96,7 @@ pdf_buffer_Bstar(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "B*\n");
+ fz_printf(state->ctx, state->out, "B*\n");
}
static void
@@ -104,9 +104,9 @@ pdf_buffer_BDC(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s ", csi->name);
- pdf_output_obj(state->out, csi->obj, 1);
- fz_printf(state->out, " BDC\n");
+ fz_printf(state->ctx, state->out, "/%s ", csi->name);
+ pdf_output_obj(state->ctx, state->out, csi->obj, 1);
+ fz_printf(state->ctx, state->out, " BDC\n");
}
static void
@@ -120,7 +120,7 @@ pdf_buffer_BI(pdf_csi *csi, void *state_)
const char *match;
const char *match2;
pdf_obj *filter;
- fz_context *ctx = csi->doc->ctx;
+ fz_context *ctx = csi->ctx;
if (csi->img == NULL)
return;
@@ -163,44 +163,44 @@ pdf_buffer_BI(pdf_csi *csi, void *state_)
return;
}
- filter = pdf_dict_gets(csi->obj, "Filter");
+ filter = pdf_dict_gets(ctx, csi->obj, "Filter");
if (filter == NULL)
- filter = pdf_dict_gets(csi->obj, "F");
+ filter = pdf_dict_gets(ctx, csi->obj, "F");
if (match == NULL)
{
/* Remove any filter entry (e.g. Ascii85Decode) */
if (filter)
{
- pdf_dict_dels(csi->obj, "Filter");
- pdf_dict_dels(csi->obj, "F");
+ pdf_dict_dels(ctx, csi->obj, "Filter");
+ pdf_dict_dels(ctx, csi->obj, "F");
}
- pdf_dict_dels(csi->obj, "DecodeParms");
- pdf_dict_dels(csi->obj, "DP");
+ pdf_dict_dels(ctx, csi->obj, "DecodeParms");
+ pdf_dict_dels(ctx, csi->obj, "DP");
}
- else if (pdf_is_array(filter))
+ else if (pdf_is_array(ctx, filter))
{
- int l = pdf_array_len(filter);
- pdf_obj *o = (l == 0 ? NULL : pdf_array_get(filter, l-1));
- const char *fil = pdf_to_name(o);
+ int l = pdf_array_len(ctx, filter);
+ pdf_obj *o = (l == 0 ? NULL : pdf_array_get(ctx, filter, l-1));
+ const char *fil = pdf_to_name(ctx, o);
if (l == 0 || (strcmp(fil, match) && strcmp(fil, match2)))
{
fz_warn(ctx, "Unexpected Filter configuration in inline image");
return;
}
- pdf_dict_puts(csi->obj, "F", o);
+ pdf_dict_puts(ctx, csi->obj, "F", o);
- o = pdf_dict_gets(csi->obj, "DecodeParms");
+ o = pdf_dict_gets(ctx, csi->obj, "DecodeParms");
if (o == NULL)
- o = pdf_dict_gets(csi->obj, "DP");
+ o = pdf_dict_gets(ctx, csi->obj, "DP");
if (o)
{
- o = pdf_array_get(o, l-1);
+ o = pdf_array_get(ctx, o, l-1);
if (o)
- pdf_dict_puts(csi->obj, "DP", o);
+ pdf_dict_puts(ctx, csi->obj, "DP", o);
else
- pdf_dict_dels(csi->obj, "DP");
- pdf_dict_dels(csi->obj, "DecodeParms");
+ pdf_dict_dels(ctx, csi->obj, "DP");
+ pdf_dict_dels(ctx, csi->obj, "DecodeParms");
}
}
else
@@ -208,25 +208,25 @@ pdf_buffer_BI(pdf_csi *csi, void *state_)
/* It's a singleton. It must be correct */
}
- fz_printf(state->out, "BI\n");
+ fz_printf(state->ctx, state->out, "BI\n");
- len = pdf_dict_len(csi->obj);
+ len = pdf_dict_len(ctx, csi->obj);
for (i = 0; i < len; i++)
{
- pdf_output_obj(state->out, pdf_dict_get_key(csi->obj, i), 1);
- pdf_output_obj(state->out, pdf_dict_get_val(csi->obj, i), 1);
+ pdf_output_obj(state->ctx, state->out, pdf_dict_get_key(ctx, csi->obj, i), 1);
+ pdf_output_obj(state->ctx, state->out, pdf_dict_get_val(ctx, csi->obj, i), 1);
}
- fz_printf(state->out, "ID\n");
+ fz_printf(state->ctx, state->out, "ID\n");
buffer = csi->img->buffer->buffer;
len = buffer->len;
data = buffer->data;
for (i = 0; i < len; i++)
{
- fz_printf(state->out, "%c", data[i]);
+ fz_printf(state->ctx, state->out, "%c", data[i]);
}
- fz_printf(state->out, "\nEI\n");
+ fz_printf(state->ctx, state->out, "\nEI\n");
}
static void
@@ -234,7 +234,7 @@ pdf_buffer_BMC(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s BMC\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s BMC\n", csi->name);
}
static void
@@ -242,7 +242,7 @@ pdf_buffer_BT(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "BT\n");
+ fz_printf(state->ctx, state->out, "BT\n");
}
static void
@@ -250,7 +250,7 @@ pdf_buffer_BX(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "BX\n");
+ fz_printf(state->ctx, state->out, "BX\n");
}
static void
@@ -258,7 +258,7 @@ pdf_buffer_CS(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s CS\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s CS\n", csi->name);
}
static void
@@ -266,9 +266,9 @@ pdf_buffer_DP(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s ", csi->name);
- pdf_output_obj(state->out, csi->obj, 1);
- fz_printf(state->out, " DP\n");
+ fz_printf(state->ctx, state->out, "/%s ", csi->name);
+ pdf_output_obj(state->ctx, state->out, csi->obj, 1);
+ fz_printf(state->ctx, state->out, " DP\n");
}
static void
@@ -276,7 +276,7 @@ pdf_buffer_EMC(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "EMC\n");
+ fz_printf(state->ctx, state->out, "EMC\n");
}
static void
@@ -284,7 +284,7 @@ pdf_buffer_ET(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "ET\n");
+ fz_printf(state->ctx, state->out, "ET\n");
}
static void
@@ -292,7 +292,7 @@ pdf_buffer_EX(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "EX\n");
+ fz_printf(state->ctx, state->out, "EX\n");
}
static void
@@ -300,7 +300,7 @@ pdf_buffer_F(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "F\n");
+ fz_printf(state->ctx, state->out, "F\n");
}
static void
@@ -308,7 +308,7 @@ pdf_buffer_G(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f G\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f G\n", csi->stack[0]);
}
static void
@@ -316,7 +316,7 @@ pdf_buffer_J(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%d J\n", (int)csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%d J\n", (int)csi->stack[0]);
}
static void
@@ -324,7 +324,7 @@ pdf_buffer_K(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f K\n", csi->stack[0],
+ fz_printf(state->ctx, state->out, "%f %f %f %f K\n", csi->stack[0],
csi->stack[1], csi->stack[2], csi->stack[3]);
}
@@ -333,7 +333,7 @@ pdf_buffer_M(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f M\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f M\n", csi->stack[0]);
}
static void
@@ -341,7 +341,7 @@ pdf_buffer_MP(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s MP\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s MP\n", csi->name);
}
static void
@@ -349,7 +349,7 @@ pdf_buffer_Q(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "Q\n");
+ fz_printf(state->ctx, state->out, "Q\n");
}
static void
@@ -357,7 +357,7 @@ pdf_buffer_RG(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f RG\n", csi->stack[0], csi->stack[1], csi->stack[2]);
+ fz_printf(state->ctx, state->out, "%f %f %f RG\n", csi->stack[0], csi->stack[1], csi->stack[2]);
}
static void
@@ -365,7 +365,7 @@ pdf_buffer_S(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "S\n");
+ fz_printf(state->ctx, state->out, "S\n");
}
static void
@@ -375,8 +375,8 @@ pdf_buffer_SC(pdf_csi *csi, void *state_)
int i;
for (i = 0; i < csi->top; i++)
- fz_printf(state->out, "%f ", csi->stack[i]);
- fz_printf(state->out, "SC\n");
+ fz_printf(state->ctx, state->out, "%f ", csi->stack[i]);
+ fz_printf(state->ctx, state->out, "SC\n");
}
static void
@@ -386,10 +386,10 @@ pdf_buffer_SCN(pdf_csi *csi, void *state_)
int i;
for (i = 0; i < csi->top; i++)
- fz_printf(state->out, "%f ", csi->stack[i]);
+ fz_printf(state->ctx, state->out, "%f ", csi->stack[i]);
if (csi->name[0])
- fz_printf(state->out, "/%s ", csi->name);
- fz_printf(state->out, "SCN\n");
+ fz_printf(state->ctx, state->out, "/%s ", csi->name);
+ fz_printf(state->ctx, state->out, "SCN\n");
}
static void
@@ -397,7 +397,7 @@ pdf_buffer_Tstar(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "T*\n");
+ fz_printf(state->ctx, state->out, "T*\n");
}
static void
@@ -405,7 +405,7 @@ pdf_buffer_TD(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f TD\n", csi->stack[0], csi->stack[1]);
+ fz_printf(state->ctx, state->out, "%f %f TD\n", csi->stack[0], csi->stack[1]);
}
static void
@@ -413,8 +413,8 @@ pdf_buffer_TJ(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- pdf_output_obj(state->out, csi->obj, 1);
- fz_printf(state->out, " TJ\n");
+ pdf_output_obj(state->ctx, state->out, csi->obj, 1);
+ fz_printf(state->ctx, state->out, " TJ\n");
}
static void
@@ -422,7 +422,7 @@ pdf_buffer_TL(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f TL\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f TL\n", csi->stack[0]);
}
static void
@@ -430,7 +430,7 @@ pdf_buffer_Tc(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f Tc\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f Tc\n", csi->stack[0]);
}
static void
@@ -438,7 +438,7 @@ pdf_buffer_Td(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f Td\n", csi->stack[0], csi->stack[1]);
+ fz_printf(state->ctx, state->out, "%f %f Td\n", csi->stack[0], csi->stack[1]);
}
static void
@@ -446,8 +446,8 @@ pdf_buffer_Tj(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- put_string_or_obj(csi, state->out);
- fz_printf(state->out, " Tj\n");
+ put_string_or_obj(state->ctx, state->out, csi);
+ fz_printf(state->ctx, state->out, " Tj\n");
}
static void
@@ -455,7 +455,7 @@ pdf_buffer_Tm(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f %f %f Tm\n",
+ fz_printf(state->ctx, state->out, "%f %f %f %f %f %f Tm\n",
csi->stack[0], csi->stack[1], csi->stack[2],
csi->stack[3], csi->stack[4], csi->stack[5]);
}
@@ -465,7 +465,7 @@ pdf_buffer_Tr(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f Tr\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f Tr\n", csi->stack[0]);
}
static void
@@ -473,7 +473,7 @@ pdf_buffer_Ts(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f Ts\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f Ts\n", csi->stack[0]);
}
static void
@@ -481,7 +481,7 @@ pdf_buffer_Tw(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f Tw\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f Tw\n", csi->stack[0]);
}
static void
@@ -489,7 +489,7 @@ pdf_buffer_Tz(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f Tz\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f Tz\n", csi->stack[0]);
}
static void
@@ -497,7 +497,7 @@ pdf_buffer_W(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "W\n");
+ fz_printf(state->ctx, state->out, "W\n");
}
static void
@@ -505,7 +505,7 @@ pdf_buffer_Wstar(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "W*\n");
+ fz_printf(state->ctx, state->out, "W*\n");
}
static void
@@ -513,7 +513,7 @@ pdf_buffer_b(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "b\n");
+ fz_printf(state->ctx, state->out, "b\n");
}
static void
@@ -521,7 +521,7 @@ pdf_buffer_bstar(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "b*\n");
+ fz_printf(state->ctx, state->out, "b*\n");
}
static void
@@ -529,7 +529,7 @@ pdf_buffer_c(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f %f %f c\n",
+ fz_printf(state->ctx, state->out, "%f %f %f %f %f %f c\n",
csi->stack[0], csi->stack[1], csi->stack[2],
csi->stack[3], csi->stack[4], csi->stack[5]);
}
@@ -539,7 +539,7 @@ pdf_buffer_cm(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f %f %f cm\n",
+ fz_printf(state->ctx, state->out, "%f %f %f %f %f %f cm\n",
csi->stack[0], csi->stack[1], csi->stack[2],
csi->stack[3], csi->stack[4], csi->stack[5]);
}
@@ -549,7 +549,7 @@ pdf_buffer_cs(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s cs\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s cs\n", csi->name);
}
static void
@@ -557,8 +557,8 @@ pdf_buffer_d(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- pdf_output_obj(state->out, csi->obj, 1);
- fz_printf(state->out, " %f d\n", csi->stack[0]);
+ pdf_output_obj(state->ctx, state->out, csi->obj, 1);
+ fz_printf(state->ctx, state->out, " %f d\n", csi->stack[0]);
}
static void
@@ -566,7 +566,7 @@ pdf_buffer_d0(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f d0\n", csi->stack[0], csi->stack[1]);
+ fz_printf(state->ctx, state->out, "%f %f d0\n", csi->stack[0], csi->stack[1]);
}
static void
@@ -574,7 +574,7 @@ pdf_buffer_d1(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f %f %f d1\n",
+ fz_printf(state->ctx, state->out, "%f %f %f %f %f %f d1\n",
csi->stack[0], csi->stack[1], csi->stack[2],
csi->stack[3], csi->stack[4], csi->stack[5]);
}
@@ -584,7 +584,7 @@ pdf_buffer_f(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "f\n");
+ fz_printf(state->ctx, state->out, "f\n");
}
static void
@@ -592,7 +592,7 @@ pdf_buffer_fstar(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "f*\n");
+ fz_printf(state->ctx, state->out, "f*\n");
}
static void
@@ -600,7 +600,7 @@ pdf_buffer_g(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f g\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f g\n", csi->stack[0]);
}
static void
@@ -608,7 +608,7 @@ pdf_buffer_h(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "h\n");
+ fz_printf(state->ctx, state->out, "h\n");
}
static void
@@ -616,7 +616,7 @@ pdf_buffer_i(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f i\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f i\n", csi->stack[0]);
}
static void
@@ -624,7 +624,7 @@ pdf_buffer_j(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%d j\n", (int)csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%d j\n", (int)csi->stack[0]);
}
static void
@@ -632,7 +632,7 @@ pdf_buffer_k(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f k\n", csi->stack[0],
+ fz_printf(state->ctx, state->out, "%f %f %f %f k\n", csi->stack[0],
csi->stack[1], csi->stack[2], csi->stack[3]);
}
@@ -641,7 +641,7 @@ pdf_buffer_l(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f l\n", csi->stack[0], csi->stack[1]);
+ fz_printf(state->ctx, state->out, "%f %f l\n", csi->stack[0], csi->stack[1]);
}
static void
@@ -649,7 +649,7 @@ pdf_buffer_m(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f m\n", csi->stack[0], csi->stack[1]);
+ fz_printf(state->ctx, state->out, "%f %f m\n", csi->stack[0], csi->stack[1]);
}
static void
@@ -657,7 +657,7 @@ pdf_buffer_n(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "n\n");
+ fz_printf(state->ctx, state->out, "n\n");
}
static void
@@ -665,7 +665,7 @@ pdf_buffer_q(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "q\n");
+ fz_printf(state->ctx, state->out, "q\n");
}
static void
@@ -673,7 +673,7 @@ pdf_buffer_re(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f re\n", csi->stack[0],
+ fz_printf(state->ctx, state->out, "%f %f %f %f re\n", csi->stack[0],
csi->stack[1], csi->stack[2], csi->stack[3]);
}
@@ -682,7 +682,7 @@ pdf_buffer_rg(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f rg\n",
+ fz_printf(state->ctx, state->out, "%f %f %f rg\n",
csi->stack[0], csi->stack[1], csi->stack[2]);
}
@@ -691,7 +691,7 @@ pdf_buffer_ri(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s ri\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s ri\n", csi->name);
}
static void
@@ -699,7 +699,7 @@ pdf_buffer_s(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "s\n");
+ fz_printf(state->ctx, state->out, "s\n");
}
static void
@@ -709,8 +709,8 @@ pdf_buffer_sc(pdf_csi *csi, void *state_)
int i;
for (i = 0; i < csi->top; i++)
- fz_printf(state->out, "%f ", csi->stack[i]);
- fz_printf(state->out, "sc\n");
+ fz_printf(state->ctx, state->out, "%f ", csi->stack[i]);
+ fz_printf(state->ctx, state->out, "sc\n");
}
static void
@@ -720,10 +720,10 @@ pdf_buffer_scn(pdf_csi *csi, void *state_)
int i;
for (i = 0; i < csi->top; i++)
- fz_printf(state->out, "%f ", csi->stack[i]);
+ fz_printf(state->ctx, state->out, "%f ", csi->stack[i]);
if (csi->name[0])
- fz_printf(state->out, "/%s ", csi->name);
- fz_printf(state->out, "scn\n");
+ fz_printf(state->ctx, state->out, "/%s ", csi->name);
+ fz_printf(state->ctx, state->out, "scn\n");
}
static void
@@ -731,7 +731,7 @@ pdf_buffer_v(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f v\n", csi->stack[0],
+ fz_printf(state->ctx, state->out, "%f %f %f %f v\n", csi->stack[0],
csi->stack[1], csi->stack[2], csi->stack[3]);
}
@@ -740,7 +740,7 @@ pdf_buffer_w(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f w\n", csi->stack[0]);
+ fz_printf(state->ctx, state->out, "%f w\n", csi->stack[0]);
}
static void
@@ -748,7 +748,7 @@ pdf_buffer_y(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "%f %f %f %f y\n", csi->stack[0],
+ fz_printf(state->ctx, state->out, "%f %f %f %f y\n", csi->stack[0],
csi->stack[1], csi->stack[2], csi->stack[3]);
}
@@ -757,7 +757,7 @@ pdf_buffer_Do(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s Do\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s Do\n", csi->name);
}
static void
@@ -765,7 +765,7 @@ pdf_buffer_Tf(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s %f Tf\n", csi->name, csi->stack[0]);
+ fz_printf(state->ctx, state->out, "/%s %f Tf\n", csi->name, csi->stack[0]);
}
static void
@@ -773,7 +773,7 @@ pdf_buffer_gs(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s gs\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s gs\n", csi->name);
}
static void
@@ -781,27 +781,26 @@ pdf_buffer_sh(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_printf(state->out, "/%s sh\n", csi->name);
+ fz_printf(state->ctx, state->out, "/%s sh\n", csi->name);
}
static void
free_processor_buffer(pdf_csi *csi, void *state_)
{
pdf_buffer_state *state = (pdf_buffer_state *)state_;
- fz_context *ctx = state->ctx;
- fz_close_output(state->out);
- fz_free(ctx, state);
+ fz_drop_output(state->ctx, state->out);
+ fz_free(state->ctx, state);
}
static void
process_annot(pdf_csi *csi, void *state, pdf_obj *resources, pdf_annot *annot)
{
- fz_context *ctx = csi->doc->ctx;
+ fz_context *ctx = csi->ctx;
pdf_xobject *xobj = annot->ap;
/* Avoid infinite recursion */
- if (xobj == NULL || pdf_mark_obj(xobj->me))
+ if (xobj == NULL || pdf_mark_obj(ctx, xobj->me))
return;
fz_try(ctx)
@@ -813,7 +812,7 @@ process_annot(pdf_csi *csi, void *state, pdf_obj *resources, pdf_annot *annot)
}
fz_always(ctx)
{
- pdf_unmark_obj(xobj->me);
+ pdf_unmark_obj(ctx, xobj->me);
}
fz_catch(ctx)
{
@@ -914,7 +913,7 @@ static const pdf_processor pdf_processor_buffer =
process_contents
};
-pdf_process *pdf_process_buffer(pdf_process *process, fz_context *ctx, fz_buffer *buffer)
+pdf_process *pdf_init_process_buffer(fz_context *ctx, pdf_process *process, fz_buffer *buffer)
{
fz_output *out = fz_new_output_with_buffer(ctx, buffer);
pdf_buffer_state *p = NULL;
@@ -930,7 +929,7 @@ pdf_process *pdf_process_buffer(pdf_process *process, fz_context *ctx, fz_buffer
}
fz_catch(ctx)
{
- fz_close_output(out);
+ fz_drop_output(ctx, out);
fz_rethrow(ctx);
}