summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-device.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-01-09 16:54:09 +0100
committerTor Andersson <tor.andersson@artifex.com>2018-01-10 16:06:17 +0100
commitbec33a470ea600599d3ad9df472b815e7b46e824 (patch)
tree427f1a799d973a541e122c78207aaf76a7a98141 /source/pdf/pdf-device.c
parentb70eb93f6936c03d8af52040bbca4d4a7db39079 (diff)
downloadmupdf-bec33a470ea600599d3ad9df472b815e7b46e824.tar.xz
Add colorspace type enum and use it instead of hardcoded checks on N.
Diffstat (limited to 'source/pdf/pdf-device.c')
-rw-r--r--source/pdf/pdf-device.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c
index 314dc85e..c45dda40 100644
--- a/source/pdf/pdf-device.c
+++ b/source/pdf/pdf-device.c
@@ -567,19 +567,24 @@ pdf_dev_new_form(fz_context *ctx, pdf_obj **form_ref, pdf_device *pdev, const fz
group = pdf_new_dict(ctx, doc, 5);
fz_try(ctx)
{
- int n = fz_colorspace_n(ctx, colorspace);
pdf_dict_put_drop(ctx, group, PDF_NAME_Type, PDF_NAME_Group);
pdf_dict_put_drop(ctx, group, PDF_NAME_S, PDF_NAME_Transparency);
pdf_dict_put_drop(ctx, group, PDF_NAME_K, pdf_new_bool(ctx, doc, knockout));
pdf_dict_put_drop(ctx, group, PDF_NAME_I, pdf_new_bool(ctx, doc, isolated));
- if (n == 0)
- {}
- if (n == 1)
+ switch (fz_colorspace_type(ctx, colorspace))
+ {
+ case FZ_COLORSPACE_GRAY:
pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceGray);
- else if (n == 4)
- pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceCMYK);
- else
+ break;
+ case FZ_COLORSPACE_RGB:
pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceRGB);
+ break;
+ case FZ_COLORSPACE_CMYK:
+ pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceCMYK);
+ break;
+ default:
+ break;
+ }
group_ref = pdev->groups[num].ref = pdf_add_object(ctx, doc, group);
}
fz_always(ctx)