OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / libjava / java / awt / font / TextLayout.h
1
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3
4 #ifndef __java_awt_font_TextLayout__
5 #define __java_awt_font_TextLayout__
6
7 #pragma interface
8
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
11
12 extern "Java"
13 {
14   namespace java
15   {
16     namespace awt
17     {
18         class Font;
19         class Graphics2D;
20         class Shape;
21       namespace font
22       {
23           class FontRenderContext;
24           class LineMetrics;
25           class TextHitInfo;
26           class TextLayout;
27           class TextLayout$CaretPolicy;
28           class TextLayout$Run;
29       }
30       namespace geom
31       {
32           class AffineTransform;
33           class Rectangle2D;
34       }
35     }
36     namespace text
37     {
38         class AttributedCharacterIterator;
39         class Bidi;
40     }
41   }
42 }
43
44 class java::awt::font::TextLayout : public ::java::lang::Object
45 {
46
47 public:
48   TextLayout(::java::lang::String *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *);
49   TextLayout(::java::lang::String *, ::java::util::Map *, ::java::awt::font::FontRenderContext *);
50   TextLayout(::java::text::AttributedCharacterIterator *, ::java::awt::font::FontRenderContext *);
51 public: // actually package-private
52   TextLayout(::java::awt::font::TextLayout *, jint, jint);
53 private:
54   void setCharIndices();
55   void setupMappings();
56   static ::java::lang::String * getText(::java::text::AttributedCharacterIterator *);
57   static ::java::awt::Font * getFont(::java::text::AttributedCharacterIterator *);
58   void getStringProperties();
59   void determineWhiteSpace();
60 public: // actually protected
61   ::java::lang::Object * clone();
62 public:
63   void draw(::java::awt::Graphics2D *, jfloat, jfloat);
64   jboolean equals(::java::lang::Object *);
65   jboolean equals(::java::awt::font::TextLayout *);
66   jfloat getAdvance();
67   jfloat getAscent();
68   jbyte getBaseline();
69   JArray< jfloat > * getBaselineOffsets();
70   ::java::awt::Shape * getBlackBoxBounds(jint, jint);
71   ::java::awt::geom::Rectangle2D * getBounds();
72   JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *);
73   JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
74   ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *);
75   ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
76   JArray< ::java::awt::Shape * > * getCaretShapes(jint);
77   JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *);
78   JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *, ::java::awt::font::TextLayout$CaretPolicy *);
79   jint getCharacterCount();
80   jbyte getCharacterLevel(jint);
81   jfloat getDescent();
82   ::java::awt::font::TextLayout * getJustifiedLayout(jfloat);
83   jfloat getLeading();
84   ::java::awt::Shape * getLogicalHighlightShape(jint, jint);
85   ::java::awt::Shape * getLogicalHighlightShape(jint, jint, ::java::awt::geom::Rectangle2D *);
86   JArray< jint > * getLogicalRangesForVisualSelection(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *);
87   ::java::awt::font::TextHitInfo * getNextLeftHit(jint);
88   ::java::awt::font::TextHitInfo * getNextLeftHit(jint, ::java::awt::font::TextLayout$CaretPolicy *);
89   ::java::awt::font::TextHitInfo * getNextLeftHit(::java::awt::font::TextHitInfo *);
90   ::java::awt::font::TextHitInfo * getNextRightHit(jint);
91   ::java::awt::font::TextHitInfo * getNextRightHit(jint, ::java::awt::font::TextLayout$CaretPolicy *);
92   ::java::awt::font::TextHitInfo * getNextRightHit(::java::awt::font::TextHitInfo *);
93   ::java::awt::Shape * getOutline(::java::awt::geom::AffineTransform *);
94   jfloat getVisibleAdvance();
95   ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *);
96   ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
97 private:
98   ::java::awt::Shape * left(::java::awt::geom::Rectangle2D *);
99   ::java::awt::Shape * right(::java::awt::geom::Rectangle2D *);
100 public:
101   ::java::awt::font::TextHitInfo * getVisualOtherHit(::java::awt::font::TextHitInfo *);
102 public: // actually protected
103   void handleJustify(jfloat);
104 public:
105   ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat);
106   ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat, ::java::awt::geom::Rectangle2D *);
107   jboolean isLeftToRight();
108   jboolean isVertical();
109   jint hashCode();
110   ::java::lang::String * toString();
111 private:
112   ::java::awt::geom::Rectangle2D * getNaturalBounds();
113   void checkHitInfo(::java::awt::font::TextHitInfo *);
114   jint hitToCaret(::java::awt::font::TextHitInfo *);
115   ::java::awt::font::TextHitInfo * caretToHit(jint);
116   jboolean isCharacterLTR(jint);
117   ::java::awt::font::TextLayout$Run * findRunAtIndex(jint);
118   void layoutRuns();
119   JArray< ::java::awt::font::TextLayout$Run * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) runs;
120   ::java::awt::font::FontRenderContext * frc;
121   JArray< jchar > * string;
122   jint offset;
123   jint length;
124   ::java::awt::geom::Rectangle2D * boundsCache;
125   ::java::awt::font::LineMetrics * lm;
126   jfloat totalAdvance;
127   ::java::awt::geom::Rectangle2D * naturalBounds;
128   JArray< JArray< jint > * > * charIndices;
129   jboolean leftToRight;
130   jboolean hasWhitespace;
131   ::java::text::Bidi * bidi;
132   JArray< jint > * logicalToVisual;
133   JArray< jint > * visualToLogical;
134   jint hash;
135 public:
136   static ::java::awt::font::TextLayout$CaretPolicy * DEFAULT_CARET_POLICY;
137   static ::java::lang::Class class$;
138 };
139
140 #endif // __java_awt_font_TextLayout__