summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-field.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-field.c')
-rw-r--r--source/pdf/pdf-field.c47
1 files changed, 23 insertions, 24 deletions
diff --git a/source/pdf/pdf-field.c b/source/pdf/pdf-field.c
index e8f2508f..5105125a 100644
--- a/source/pdf/pdf-field.c
+++ b/source/pdf/pdf-field.c
@@ -1,23 +1,22 @@
#include "mupdf/pdf.h"
-pdf_obj *pdf_get_inheritable(pdf_document *doc, pdf_obj *obj, char *key)
+pdf_obj *pdf_get_inheritable(fz_context *ctx, pdf_document *doc, pdf_obj *obj, char *key)
{
pdf_obj *fobj = NULL;
while (!fobj && obj)
{
- fobj = pdf_dict_gets(obj, key);
+ fobj = pdf_dict_gets(ctx, obj, key);
if (!fobj)
- obj = pdf_dict_gets(obj, "Parent");
+ obj = pdf_dict_gets(ctx, obj, "Parent");
}
- return fobj ? fobj : pdf_dict_gets(pdf_dict_gets(pdf_dict_gets(pdf_trailer(doc), "Root"), "AcroForm"), key);
+ return fobj ? fobj : pdf_dict_gets(ctx, pdf_dict_gets(ctx, pdf_dict_gets(ctx, pdf_trailer(ctx, doc), "Root"), "AcroForm"), key);
}
-char *pdf_get_string_or_stream(pdf_document *doc, pdf_obj *obj)
+char *pdf_get_string_or_stream(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
{
- fz_context *ctx = doc->ctx;
int len = 0;
char *buf = NULL;
fz_buffer *strmbuf = NULL;
@@ -27,14 +26,14 @@ char *pdf_get_string_or_stream(pdf_document *doc, pdf_obj *obj)
fz_var(text);
fz_try(ctx)
{
- if (pdf_is_string(obj))
+ if (pdf_is_string(ctx, obj))
{
- len = pdf_to_str_len(obj);
- buf = pdf_to_str_buf(obj);
+ len = pdf_to_str_len(ctx, obj);
+ buf = pdf_to_str_buf(ctx, obj);
}
- else if (pdf_is_stream(doc, pdf_to_num(obj), pdf_to_gen(obj)))
+ else if (pdf_is_stream(ctx, doc, pdf_to_num(ctx, obj), pdf_to_gen(ctx, obj)))
{
- strmbuf = pdf_load_stream(doc, pdf_to_num(obj), pdf_to_gen(obj));
+ strmbuf = pdf_load_stream(ctx, doc, pdf_to_num(ctx, obj), pdf_to_gen(ctx, obj));
len = fz_buffer_storage(ctx, strmbuf, (unsigned char **)&buf);
}
@@ -58,25 +57,25 @@ char *pdf_get_string_or_stream(pdf_document *doc, pdf_obj *obj)
return text;
}
-char *pdf_field_value(pdf_document *doc, pdf_obj *field)
+char *pdf_field_value(fz_context *ctx, pdf_document *doc, pdf_obj *field)
{
- return pdf_get_string_or_stream(doc, pdf_get_inheritable(doc, field, "V"));
+ return pdf_get_string_or_stream(ctx, doc, pdf_get_inheritable(ctx, doc, field, "V"));
}
-int pdf_get_field_flags(pdf_document *doc, pdf_obj *obj)
+int pdf_get_field_flags(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
{
- return pdf_to_int(pdf_get_inheritable(doc, obj, "Ff"));
+ return pdf_to_int(ctx, pdf_get_inheritable(ctx, doc, obj, "Ff"));
}
-static char *get_field_type_name(pdf_document *doc, pdf_obj *obj)
+static char *get_field_type_name(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
{
- return pdf_to_name(pdf_get_inheritable(doc, obj, "FT"));
+ return pdf_to_name(ctx, pdf_get_inheritable(ctx, doc, obj, "FT"));
}
-int pdf_field_type(pdf_document *doc, pdf_obj *obj)
+int pdf_field_type(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
{
- char *type = get_field_type_name(doc, obj);
- int flags = pdf_get_field_flags(doc, obj);
+ char *type = get_field_type_name(ctx, doc, obj);
+ int flags = pdf_get_field_flags(ctx, doc, obj);
if (!strcmp(type, "Btn"))
{
@@ -102,7 +101,7 @@ int pdf_field_type(pdf_document *doc, pdf_obj *obj)
return PDF_WIDGET_TYPE_NOT_WIDGET;
}
-void pdf_set_field_type(pdf_document *doc, pdf_obj *obj, int type)
+void pdf_set_field_type(fz_context *ctx, pdf_document *doc, pdf_obj *obj, int type)
{
int setbits = 0;
int clearbits = 0;
@@ -140,13 +139,13 @@ void pdf_set_field_type(pdf_document *doc, pdf_obj *obj, int type)
}
if (typename)
- pdf_dict_puts_drop(obj, "FT", pdf_new_name(doc, typename));
+ pdf_dict_puts_drop(ctx, obj, "FT", pdf_new_name(ctx, doc, typename));
if (setbits != 0 || clearbits != 0)
{
- int bits = pdf_to_int(pdf_dict_gets(obj, "Ff"));
+ int bits = pdf_to_int(ctx, pdf_dict_gets(ctx, obj, "Ff"));
bits &= ~clearbits;
bits |= setbits;
- pdf_dict_puts_drop(obj, "Ff", pdf_new_int(doc, bits));
+ pdf_dict_puts_drop(ctx, obj, "Ff", pdf_new_int(ctx, doc, bits));
}
}