summaryrefslogtreecommitdiff
path: root/platform/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/java/src')
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/ColorParams.java51
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/NativeDevice.java17
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();