1 
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3 
4 #ifndef __gnu_java_awt_peer_gtk_CairoGraphics2D__
5 #define __gnu_java_awt_peer_gtk_CairoGraphics2D__
6 
7 #pragma interface
8 
9 #include <java/awt/Graphics2D.h>
10 #include <gcj/array.h>
11 
12 extern "Java"
13 {
14   namespace gnu
15   {
16     namespace java
17     {
18       namespace awt
19       {
20         namespace peer
21         {
22           namespace gtk
23           {
24               class CairoGraphics2D;
25               class CairoSurface;
26               class GdkFontPeer;
27           }
28         }
29       }
30     }
31   }
32   namespace java
33   {
34     namespace awt
35     {
36         class BasicStroke;
37         class Color;
38         class Composite;
39         class CompositeContext;
40         class Font;
41         class FontMetrics;
42         class Graphics;
43         class GraphicsConfiguration;
44         class Image;
45         class Paint;
46         class Rectangle;
47         class RenderingHints;
48         class RenderingHints$Key;
49         class Shape;
50         class Stroke;
51       namespace font
52       {
53           class FontRenderContext;
54           class GlyphVector;
55       }
56       namespace geom
57       {
58           class AffineTransform;
59           class PathIterator;
60           class Rectangle2D;
61       }
62       namespace image
63       {
64           class BufferedImage;
65           class BufferedImageOp;
66           class ColorModel;
67           class ImageObserver;
68           class Raster;
69           class RenderedImage;
70         namespace renderable
71         {
72             class RenderableImage;
73         }
74       }
75     }
76     namespace text
77     {
78         class AttributedCharacterIterator;
79     }
80   }
81 }
82 
83 class gnu::java::awt::peer::gtk::CairoGraphics2D : public ::java::awt::Graphics2D
84 {
85 
86 public:
87   CairoGraphics2D();
88   virtual void setup(jlong);
89   virtual void copy(::gnu::java::awt::peer::gtk::CairoGraphics2D *, jlong);
90   virtual void finalize();
91   virtual void dispose();
92 public: // actually protected
93   virtual jlong init(jlong);
94 public:
95   virtual ::java::awt::Graphics * create() = 0;
96   virtual ::java::awt::GraphicsConfiguration * getDeviceConfiguration() = 0;
97 public: // actually protected
98   virtual void copyAreaImpl(jint, jint, jint, jint, jint, jint) = 0;
99   virtual ::java::awt::geom::Rectangle2D * getRealBounds() = 0;
100 public:
101   virtual void disposeNative(jlong);
102 public: // actually protected
103   virtual void drawPixels(jlong, JArray< jint > *, jint, jint, jint, JArray< jdouble > *, jdouble, jint);
104   virtual void setGradient(jlong, jdouble, jdouble, jdouble, jdouble, jint, jint, jint, jint, jint, jint, jint, jint, jboolean);
105   virtual void setPaintPixels(jlong, JArray< jint > *, jint, jint, jint, jboolean, jint, jint);
106   virtual void cairoSetMatrix(jlong, JArray< jdouble > *);
107   virtual void cairoScale(jlong, jdouble, jdouble);
108   virtual void cairoSetOperator(jlong, jint);
109   virtual void cairoSetRGBAColor(jlong, jdouble, jdouble, jdouble, jdouble);
110   virtual void cairoSetFillRule(jlong, jint);
111   virtual void cairoSetLine(jlong, jdouble, jint, jint, jdouble);
112   virtual void cairoSetDash(jlong, JArray< jdouble > *, jint, jdouble);
113   virtual void cairoDrawGlyphVector(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *, jfloat, jfloat, jint, JArray< jint > *, JArray< jfloat > *, JArray< jlong > *);
114   virtual void cairoSetFont(jlong, ::gnu::java::awt::peer::gtk::GdkFontPeer *);
115   virtual void cairoRectangle(jlong, jdouble, jdouble, jdouble, jdouble);
116   virtual void cairoArc(jlong, jdouble, jdouble, jdouble, jdouble, jdouble);
117   virtual void cairoSave(jlong);
118   virtual void cairoRestore(jlong);
119   virtual void cairoNewPath(jlong);
120   virtual void cairoClosePath(jlong);
121   virtual void cairoMoveTo(jlong, jdouble, jdouble);
122   virtual void cairoLineTo(jlong, jdouble, jdouble);
123   virtual void cairoCurveTo(jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
124   virtual void cairoStroke(jlong);
125   virtual void cairoFill(jlong, jdouble);
126   virtual void cairoClip(jlong);
127   virtual void cairoResetClip(jlong);
128   virtual void cairoSetAntialias(jlong, jboolean);
129 public:
130   virtual void setTransform(::java::awt::geom::AffineTransform *);
131 private:
132   void setTransformImpl(::java::awt::geom::AffineTransform *);
133 public:
134   virtual void transform(::java::awt::geom::AffineTransform *);
135   virtual void rotate(jdouble);
136   virtual void rotate(jdouble, jdouble, jdouble);
137   virtual void scale(jdouble, jdouble);
138   virtual void translate(jdouble, jdouble);
139   virtual void translate(jint, jint);
140   virtual void shear(jdouble, jdouble);
141   virtual void clip(::java::awt::Shape *);
142   virtual ::java::awt::Paint * getPaint();
143   virtual ::java::awt::geom::AffineTransform * getTransform();
144   virtual void setPaint(::java::awt::Paint *);
145 public: // actually protected
146   virtual void setCustomPaint(::java::awt::Rectangle *);
147 public:
148   virtual ::java::awt::Stroke * getStroke();
149   virtual void setStroke(::java::awt::Stroke *);
150 public: // actually protected
151   virtual ::java::awt::Rectangle * findStrokedBounds(::java::awt::Shape *);
152 public:
153   virtual void setPaintMode();
154   virtual void setXORMode(::java::awt::Color *);
155   virtual void setColor(::java::awt::Color *);
156 public: // actually package-private
157   virtual void updateColor();
158 public:
159   virtual ::java::awt::Color * getColor();
160   virtual void clipRect(jint, jint, jint, jint);
161   virtual ::java::awt::Shape * getClip();
162   virtual ::java::awt::Rectangle * getClipBounds();
163 public: // actually protected
164   virtual ::java::awt::geom::Rectangle2D * getClipInDevSpace();
165 public:
166   virtual void setClip(jint, jint, jint, jint);
167   virtual void setClip(::java::awt::Shape *);
168   virtual void setBackground(::java::awt::Color *);
169   virtual ::java::awt::Color * getBackground();
170   virtual ::java::awt::Composite * getComposite();
171   virtual void setComposite(::java::awt::Composite *);
172 public: // actually protected
173   virtual ::java::awt::image::ColorModel * getNativeCM() = 0;
174   virtual ::java::awt::image::ColorModel * getBufferCM();
175 public:
176   virtual void draw(::java::awt::Shape *);
177   virtual void fill(::java::awt::Shape *);
178 private:
179   void createPath(::java::awt::Shape *, jboolean);
180 public:
181   virtual void clearRect(jint, jint, jint, jint);
182   virtual void draw3DRect(jint, jint, jint, jint, jboolean);
183   virtual void drawArc(jint, jint, jint, jint, jint, jint);
184   virtual void drawLine(jint, jint, jint, jint);
185   virtual void drawRect(jint, jint, jint, jint);
186   virtual void fillArc(jint, jint, jint, jint, jint, jint);
187   virtual void fillRect(jint, jint, jint, jint);
188   virtual void fillPolygon(JArray< jint > *, JArray< jint > *, jint);
189   virtual void drawPolygon(JArray< jint > *, JArray< jint > *, jint);
190   virtual void drawPolyline(JArray< jint > *, JArray< jint > *, jint);
191   virtual void drawOval(jint, jint, jint, jint);
192   virtual void drawRoundRect(jint, jint, jint, jint, jint, jint);
193   virtual void fillOval(jint, jint, jint, jint);
194   virtual void fillRoundRect(jint, jint, jint, jint, jint, jint);
195   virtual void copyArea(jint, jint, jint, jint, jint, jint);
196   virtual void setRenderingHint(::java::awt::RenderingHints$Key *, ::java::lang::Object *);
197   virtual ::java::lang::Object * getRenderingHint(::java::awt::RenderingHints$Key *);
198   virtual void setRenderingHints(::java::util::Map *);
199   virtual void addRenderingHints(::java::util::Map *);
200   virtual ::java::awt::RenderingHints * getRenderingHints();
201 private:
202   jint getInterpolation();
203   void setAntialias(jboolean);
204 public: // actually protected
205   virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
206 public:
207   virtual void drawRenderedImage(::java::awt::image::RenderedImage *, ::java::awt::geom::AffineTransform *);
208   virtual void drawRenderableImage(::java::awt::image::renderable::RenderableImage *, ::java::awt::geom::AffineTransform *);
209   virtual jboolean drawImage(::java::awt::Image *, ::java::awt::geom::AffineTransform *, ::java::awt::image::ImageObserver *);
210   virtual void drawImage(::java::awt::image::BufferedImage *, ::java::awt::image::BufferedImageOp *, jint, jint);
211   virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::image::ImageObserver *);
212   virtual jboolean drawImage(::java::awt::Image *, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
213   virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
214   virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
215   virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::Color *, ::java::awt::image::ImageObserver *);
216   virtual jboolean drawImage(::java::awt::Image *, jint, jint, jint, jint, jint, jint, jint, jint, ::java::awt::image::ImageObserver *);
217 public: // actually protected
218   virtual void drawCairoSurface(::gnu::java::awt::peer::gtk::CairoSurface *, ::java::awt::geom::AffineTransform *, jdouble, jint);
219 public:
220   virtual void drawString(::java::lang::String *, jfloat, jfloat);
221   virtual void drawString(::java::lang::String *, jint, jint);
222   virtual void drawString(::java::text::AttributedCharacterIterator *, jint, jint);
223   virtual void drawGlyphVector(::java::awt::font::GlyphVector *, jfloat, jfloat);
224   virtual void drawString(::java::text::AttributedCharacterIterator *, jfloat, jfloat);
225   virtual ::java::awt::font::FontRenderContext * getFontRenderContext();
226   virtual ::java::awt::FontMetrics * getFontMetrics();
227   virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
228   virtual void setFont(::java::awt::Font *);
229   virtual ::java::awt::Font * getFont();
230   virtual jboolean hit(::java::awt::Rectangle *, ::java::awt::Shape *, jboolean);
231   virtual ::java::lang::String * toString();
232 private:
233   jboolean drawRaster(::java::awt::image::ColorModel *, ::java::awt::image::Raster *, ::java::awt::geom::AffineTransform *, ::java::awt::Color *);
234   jdouble shiftX(jdouble, jboolean);
235   jdouble shiftY(jdouble, jboolean);
236   void walkPath(::java::awt::geom::PathIterator *, jboolean);
237   ::java::util::Map * getDefaultHints();
238 public:
239   static JArray< jint > * findSimpleIntegerArray(::java::awt::image::ColorModel *, ::java::awt::image::Raster *);
240 private:
241   void updateClip(::java::awt::geom::AffineTransform *);
242   static ::java::awt::Rectangle * computeIntersection(jint, jint, jint, jint, ::java::awt::Rectangle *);
243 public: // actually package-private
244   static ::java::awt::geom::Rectangle2D * getTransformedBounds(::java::awt::geom::Rectangle2D *, ::java::awt::geom::AffineTransform *);
245   jlong __attribute__((aligned(__alignof__( ::java::awt::Graphics2D)))) nativePointer;
246   ::java::awt::Paint * paint;
247   jboolean customPaint;
248   ::java::awt::Stroke * stroke;
249   ::java::awt::Color * fg;
250   ::java::awt::Color * bg;
251   ::java::awt::Shape * clip__;
252   ::java::awt::geom::AffineTransform * transform__;
253   ::java::awt::Font * font;
254   ::java::awt::Composite * comp;
255   ::java::awt::CompositeContext * compCtx;
256 private:
257   ::java::awt::RenderingHints * hints;
258   jboolean antialias;
259   jboolean ignoreAA;
260 public: // actually protected
261   jboolean shiftDrawCalls;
262 private:
263   jboolean firstClip;
264   ::java::awt::Shape * originalClip;
265   static ::java::awt::BasicStroke * draw3DRectStroke;
266 public: // actually package-private
267   static ::java::awt::image::ColorModel * rgb32;
268   static ::java::awt::image::ColorModel * argb32;
269 public:
270   static const jint INTERPOLATION_NEAREST = 0;
271   static const jint INTERPOLATION_BILINEAR = 1;
272   static const jint INTERPOLATION_BICUBIC = 5;
273   static const jint ALPHA_INTERPOLATION_SPEED = 2;
274   static const jint ALPHA_INTERPOLATION_QUALITY = 3;
275   static const jint ALPHA_INTERPOLATION_DEFAULT = 4;
276   static ::java::lang::Class class$;
277 };
278 
279 #endif // __gnu_java_awt_peer_gtk_CairoGraphics2D__
280