diff options
Diffstat (limited to 'source/pdf/pdf-op-run.c')
-rw-r--r-- | source/pdf/pdf-op-run.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c index c51bb535..355e94d2 100644 --- a/source/pdf/pdf-op-run.c +++ b/source/pdf/pdf-op-run.c @@ -1987,14 +1987,34 @@ static void pdf_run_DP(fz_context *ctx, pdf_processor *proc, const char *tag, pd static void pdf_run_BMC(fz_context *ctx, pdf_processor *proc, const char *tag) { + pdf_run_processor *pr = (pdf_run_processor *)proc; + + if (!tag) + tag = "UnnamedLayer"; + + fz_begin_layer(ctx, pr->dev, tag); } static void pdf_run_BDC(fz_context *ctx, pdf_processor *proc, const char *tag, pdf_obj *raw, pdf_obj *cooked) { + pdf_run_processor *pr = (pdf_run_processor *)proc; + const char *str; + + if (!tag || strcmp(tag, "OC")) + return; + + str = pdf_to_str_buf(ctx, pdf_dict_get(ctx, cooked, PDF_NAME_Name)); + if (str == NULL) + str = "UnnamedLayer"; + + fz_begin_layer(ctx, pr->dev, str); } static void pdf_run_EMC(fz_context *ctx, pdf_processor *proc) { + pdf_run_processor *pr = (pdf_run_processor *)proc; + + fz_end_layer(ctx, pr->dev); } /* compatibility */ |