diff options
Diffstat (limited to 'platform/java/src')
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/ColorParams.java | 51 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java | 17 |
2 files changed, 60 insertions, 8 deletions
diff --git a/platform/java/src/com/artifex/mupdf/fitz/ColorParams.java b/platform/java/src/com/artifex/mupdf/fitz/ColorParams.java new file mode 100644 index 00000000..2a8d781b --- /dev/null +++ b/platform/java/src/com/artifex/mupdf/fitz/ColorParams.java @@ -0,0 +1,51 @@ +package com.artifex.mupdf.fitz; + +public final class ColorParams +{ + public enum RenderingIntent { + PERCEPTUAL, + RELATIVE_COLORIMETRIC, + SATURATION, + ABSOLUTE_COLORIMETRIC + } + public static final int BP = 32; + public static final int OP = 64; + public static final int OPM = 128; + + public static RenderingIntent RI(int flags) { + switch (flags>>3) { + default: + case 0: return RenderingIntent.PERCEPTUAL; + case 1: return RenderingIntent.RELATIVE_COLORIMETRIC; + case 2: return RenderingIntent.SATURATION; + case 3: return RenderingIntent.ABSOLUTE_COLORIMETRIC; + } + } + + public static boolean BP(int flags) { + return (flags & BP) != 0; + } + + public static boolean OP(int flags) { + return (flags & OP) != 0; + } + + public static boolean OPM(int flags) { + return (flags & OPM) != 0; + } + + public static int pack(RenderingIntent ri, boolean bp, boolean op, boolean opm) { + int flags; + switch (ri) { + default: + case PERCEPTUAL: flags = 0; break; + case RELATIVE_COLORIMETRIC: flags = 1; break; + case SATURATION: flags = 2; break; + case ABSOLUTE_COLORIMETRIC: flags = 3; break; + } + if (bp) flags |= BP; + if (op) flags |= OP; + if (opm) flags |= OPM; + return flags; + } +} diff --git a/platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java b/platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java index 0d2b9159..910b8ec8 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java +++ b/platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java @@ -19,25 +19,26 @@ public class NativeDevice extends Device public native final void close(); - public native final void fillPath(Path path, boolean evenOdd, Matrix ctm, ColorSpace cs, float color[], float alpha); - public native final void strokePath(Path path, StrokeState stroke, Matrix ctm, ColorSpace cs, float color[], float alpha); + public native final void fillPath(Path path, boolean evenOdd, Matrix ctm, ColorSpace cs, float color[], float alpha, int cp); + public native final void strokePath(Path path, StrokeState stroke, Matrix ctm, ColorSpace cs, float color[], float alpha, int cp); public native final void clipPath(Path path, boolean evenOdd, Matrix ctm); public native final void clipStrokePath(Path path, StrokeState stroke, Matrix ctm); - public native final void fillText(Text text, Matrix ctm, ColorSpace cs, float color[], float alpha); - public native final void strokeText(Text text, StrokeState stroke, Matrix ctm, ColorSpace cs, float color[], float alpha); + public native final void fillText(Text text, Matrix ctm, ColorSpace cs, float color[], float alpha, int cp); + public native final void strokeText(Text text, StrokeState stroke, Matrix ctm, ColorSpace cs, float color[], float alpha, int cp); public native final void clipText(Text text, Matrix ctm); public native final void clipStrokeText(Text text, StrokeState stroke, Matrix ctm); public native final void ignoreText(Text text, Matrix ctm); - public native final void fillShade(Shade shd, Matrix ctm, float alpha); - public native final void fillImage(Image img, Matrix ctm, float alpha); - public native final void fillImageMask(Image img, Matrix ctm, ColorSpace cs, float color[], float alpha); + public native final void fillShade(Shade shd, Matrix ctm, float alpha, int cp); + public native final void fillImage(Image img, Matrix ctm, float alpha, int cp); + public native final void fillImageMask(Image img, Matrix ctm, ColorSpace cs, float color[], float alpha, int cp); + /* FIXME: Why no scissor? */ public native final void clipImageMask(Image img, Matrix ctm); public native final void popClip(); - public native final void beginMask(Rect rect, boolean luminosity, ColorSpace cs, float bc[]); + public native final void beginMask(Rect rect, boolean luminosity, ColorSpace cs, float bc[], int cp); public native final void endMask(); public native final void beginGroup(Rect rect, boolean isolated, boolean knockout, int blendmode, float alpha); public native final void endGroup(); |