diff options
-rw-r--r-- | include/mupdf/pdf/object.h | 4 | ||||
-rw-r--r-- | source/pdf/pdf-object.c | 28 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/mupdf/pdf/object.h b/include/mupdf/pdf/object.h index cd9994dd..720d6443 100644 --- a/include/mupdf/pdf/object.h +++ b/include/mupdf/pdf/object.h @@ -138,6 +138,8 @@ void pdf_dict_put_string(fz_context *ctx, pdf_obj *dict, pdf_obj *key, const cha void pdf_dict_put_text_string(fz_context *ctx, pdf_obj *dict, pdf_obj *key, const char *x); void pdf_dict_put_rect(fz_context *ctx, pdf_obj *dict, pdf_obj *key, const fz_rect *x); void pdf_dict_put_matrix(fz_context *ctx, pdf_obj *dict, pdf_obj *key, const fz_matrix *x); +pdf_obj *pdf_dict_put_array(fz_context *ctx, pdf_obj *dict, pdf_obj *key, int initial); +pdf_obj *pdf_dict_put_dict(fz_context *ctx, pdf_obj *dict, pdf_obj *key, int initial); void pdf_array_push_bool(fz_context *ctx, pdf_obj *array, int x); void pdf_array_push_int(fz_context *ctx, pdf_obj *array, int64_t x); @@ -145,6 +147,8 @@ void pdf_array_push_real(fz_context *ctx, pdf_obj *array, double x); void pdf_array_push_name(fz_context *ctx, pdf_obj *array, const char *x); void pdf_array_push_string(fz_context *ctx, pdf_obj *array, const char *x, size_t n); void pdf_array_push_text_string(fz_context *ctx, pdf_obj *array, const char *x); +pdf_obj *pdf_array_push_array(fz_context *ctx, pdf_obj *array, int initial); +pdf_obj *pdf_array_push_dict(fz_context *ctx, pdf_obj *array, int initial); /* Recurse through the object structure setting the node's parent_num to num. diff --git a/source/pdf/pdf-object.c b/source/pdf/pdf-object.c index b7ba2e7a..9b1ef7b5 100644 --- a/source/pdf/pdf-object.c +++ b/source/pdf/pdf-object.c @@ -2225,6 +2225,20 @@ void pdf_dict_put_matrix(fz_context *ctx, pdf_obj *dict, pdf_obj *key, const fz_ pdf_dict_put_drop(ctx, dict, key, pdf_new_matrix(ctx, NULL, x)); } +pdf_obj *pdf_dict_put_array(fz_context *ctx, pdf_obj *dict, pdf_obj *key, int initial) +{ + pdf_obj *obj = pdf_new_array(ctx, pdf_get_bound_document(ctx, dict), initial); + pdf_dict_put_drop(ctx, dict, key, obj); + return obj; +} + +pdf_obj *pdf_dict_put_dict(fz_context *ctx, pdf_obj *dict, pdf_obj *key, int initial) +{ + pdf_obj *obj = pdf_new_dict(ctx, pdf_get_bound_document(ctx, dict), initial); + pdf_dict_put_drop(ctx, dict, key, obj); + return obj; +} + void pdf_array_push_bool(fz_context *ctx, pdf_obj *array, int x) { pdf_array_push_drop(ctx, array, pdf_new_bool(ctx, NULL, x)); @@ -2254,3 +2268,17 @@ void pdf_array_push_text_string(fz_context *ctx, pdf_obj *array, const char *x) { pdf_array_push_drop(ctx, array, pdf_new_text_string(ctx, NULL, x)); } + +pdf_obj *pdf_array_push_array(fz_context *ctx, pdf_obj *array, int initial) +{ + pdf_obj *obj = pdf_new_array(ctx, pdf_get_bound_document(ctx, array), initial); + pdf_array_push_drop(ctx, array, obj); + return obj; +} + +pdf_obj *pdf_array_push_dict(fz_context *ctx, pdf_obj *array, int initial) +{ + pdf_obj *obj = pdf_new_dict(ctx, pdf_get_bound_document(ctx, array), initial); + pdf_array_push_drop(ctx, array, obj); + return obj; +} |