1:
37:
38:
39: package ;
40:
41: import ;
42: import ;
43: import ;
44:
45: public class RenderContext implements Cloneable
46: {
47: private AffineTransform xform;
48: private Shape aoi;
49: private RenderingHints hints;
50:
51: public RenderContext(AffineTransform xform, Shape aoi, RenderingHints hints)
52: {
53: this.xform = xform;
54: this.aoi = aoi;
55: this.hints = hints;
56: }
57:
58: public RenderContext(AffineTransform xform)
59: {
60: this(xform, null, null);
61: }
62:
63: public RenderContext(AffineTransform xform, RenderingHints hints)
64: {
65: this(xform, null, hints);
66: }
67:
68: public RenderContext(AffineTransform xform, Shape aoi)
69: {
70: this(xform, aoi, null);
71: }
72:
73: public RenderingHints getRenderingHints()
74: {
75: return hints;
76: }
77:
78: public void setRenderingHints(RenderingHints hints)
79: {
80: this.hints = hints;
81: }
82:
83: public void setTransform(AffineTransform xform)
84: {
85: this.xform = xform;
86: }
87:
88: public void preConcatenateTransform(AffineTransform pre)
89: {
90: preConcetenateTransform (pre);
91: }
92:
93:
94: public void preConcetenateTransform(AffineTransform pre)
95: {
96: xform.preConcatenate (pre);
97: }
98:
99: public void concatenateTransform(AffineTransform post)
100: {
101: concetenateTransform (post);
102: }
103:
104:
105: public void concetenateTransform(AffineTransform post)
106: {
107: xform.concatenate (post);
108: }
109:
110: public AffineTransform getTransform()
111: {
112: return xform;
113: }
114:
115: public void setAreaOfInterest(Shape aoi)
116: {
117: this.aoi = aoi;
118: }
119:
120: public Shape getAreaOfInterest()
121: {
122: return aoi;
123: }
124:
125: public Object clone()
126: {
127: try
128: {
129: RenderContext copy = (RenderContext) super.clone();
130: if (xform != null)
131: copy.xform = (AffineTransform) xform.clone();
132: if (hints != null)
133: copy.hints = (RenderingHints) hints.clone();
134: return copy;
135: }
136: catch (CloneNotSupportedException e)
137: {
138: throw (Error) new InternalError().initCause(e);
139: }
140: }
141: }