summaryrefslogtreecommitdiff
path: root/platform/java/src/com/artifex/mupdf/fitz/PDFAnnotation.java
blob: 93c564b6e50c493f23a1059278790aa73b705f58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.artifex.mupdf.fitz;

import java.util.Date;

public class PDFAnnotation extends Annotation
{
	static {
		Context.init();
	}

	private PDFAnnotation(long p) { super(p); }

	/* IMPORTANT: Keep in sync with mupdf/pdf/annot.h */
	public static final int TYPE_TEXT = 0;
	public static final int TYPE_LINK = 1;
	public static final int TYPE_FREE_TEXT = 2;
	public static final int TYPE_LINE = 3;
	public static final int TYPE_SQUARE = 4;
	public static final int TYPE_CIRCLE = 5;
	public static final int TYPE_POLYGON = 6;
	public static final int TYPE_POLY_LINE = 7;
	public static final int TYPE_HIGHLIGHT = 8;
	public static final int TYPE_UNDERLINE = 9;
	public static final int TYPE_SQUIGGLY = 10;
	public static final int TYPE_STRIKE_OUT = 11;
	public static final int TYPE_STAMP = 12;
	public static final int TYPE_CARET = 13;
	public static final int TYPE_INK = 14;
	public static final int TYPE_POPUP = 15;
	public static final int TYPE_FILE_ATTACHMENT = 16;
	public static final int TYPE_SOUND = 17;
	public static final int TYPE_MOVIE = 18;
	public static final int TYPE_WIDGET = 19;
	public static final int TYPE_SCREEN = 20;
	public static final int TYPE_PRINTER_MARK = 21;
	public static final int TYPE_TRAP_NET = 22;
	public static final int TYPE_WATERMARK = 23;
	public static final int TYPE_3D = 24;
	public static final int TYPE_UNKNOWN = -1;

	public static final int LINE_ENDING_NONE = 0;
	public static final int LINE_ENDING_SQUARE = 1;
	public static final int LINE_ENDING_CIRCLE = 2;
	public static final int LINE_ENDING_DIAMOND = 3;
	public static final int LINE_ENDING_OPEN_ARROW = 4;
	public static final int LINE_ENDING_CLOSED_ARROW = 5;
	public static final int LINE_ENDING_BUTT = 6;
	public static final int LINE_ENDING_R_OPEN_ARROW = 7;
	public static final int LINE_ENDING_R_CLOSED_ARROW = 8;
	public static final int LINE_ENDING_SLASH = 9;

	public native int getType();
	public native int getFlags();
	public native void setFlags(int flags);
	public native String getContents();
	public native void setContents(String contents);
	public native Rect getRect();
	public native void setRect(Rect rect);
	public native float getBorder();
	public native void setBorder(float width);
	public native float[] getColor();
	public native void setColor(float[] color);
	public native float[] getInteriorColor();
	public native void setInteriorColor(float[] color);
	public native String getAuthor();
	public native void setAuthor(String author);
	protected native long getModificationDateNative();
	protected native void setModificationDate(long time);
	public Date getModificationDate() {
		return new Date(getModificationDateNative());
	}
	public void setModificationDate(Date date) {
		setModificationDate(date.getTime());
	}

	public native int[] getLineEndingStyles();
	public native void setLineEndingStyles(int startStyle, int endStyle);
	public void setLineEndingStyles(int[] styles) {
		setLineEndingStyles(styles[0], styles[1]);
	}

	public native float[] getVertices();
	public native void setVertices(float[] vertices);
	public native float[][] getQuadPoints();
	public native void setQuadPoints(float[][] quadPoints);
	public native float[][] getInkList();
	public native void setInkList(float[][] inkList);

	public native String getIcon();
	public native void setIcon(String icon);
	public native boolean isOpen();
	public native void setIsOpen(boolean open);

	public native void updateAppearance();

	public native boolean update();
}