aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/font/TextLayout.h
blob: f5c02bafd9bde1af47498b7853de34b9cfcbc758 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_font_TextLayout__
#define __java_awt_font_TextLayout__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Font;
        class Graphics2D;
        class Shape;
      namespace font
      {
          class FontRenderContext;
          class LineMetrics;
          class TextHitInfo;
          class TextLayout;
          class TextLayout$CaretPolicy;
          class TextLayout$Run;
      }
      namespace geom
      {
          class AffineTransform;
          class Rectangle2D;
      }
    }
    namespace text
    {
        class AttributedCharacterIterator;
        class Bidi;
    }
  }
}

class java::awt::font::TextLayout : public ::java::lang::Object
{

public:
  TextLayout(::java::lang::String *, ::java::awt::Font *, ::java::awt::font::FontRenderContext *);
  TextLayout(::java::lang::String *, ::java::util::Map *, ::java::awt::font::FontRenderContext *);
  TextLayout(::java::text::AttributedCharacterIterator *, ::java::awt::font::FontRenderContext *);
public: // actually package-private
  TextLayout(::java::awt::font::TextLayout *, jint, jint);
private:
  void setCharIndices();
  void setupMappings();
  static ::java::lang::String * getText(::java::text::AttributedCharacterIterator *);
  static ::java::awt::Font * getFont(::java::text::AttributedCharacterIterator *);
  void getStringProperties();
  void determineWhiteSpace();
public: // actually protected
  ::java::lang::Object * clone();
public:
  void draw(::java::awt::Graphics2D *, jfloat, jfloat);
  jboolean equals(::java::lang::Object *);
  jboolean equals(::java::awt::font::TextLayout *);
  jfloat getAdvance();
  jfloat getAscent();
  jbyte getBaseline();
  JArray< jfloat > * getBaselineOffsets();
  ::java::awt::Shape * getBlackBoxBounds(jint, jint);
  ::java::awt::geom::Rectangle2D * getBounds();
  JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *);
  JArray< jfloat > * getCaretInfo(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
  ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *);
  ::java::awt::Shape * getCaretShape(::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
  JArray< ::java::awt::Shape * > * getCaretShapes(jint);
  JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *);
  JArray< ::java::awt::Shape * > * getCaretShapes(jint, ::java::awt::geom::Rectangle2D *, ::java::awt::font::TextLayout$CaretPolicy *);
  jint getCharacterCount();
  jbyte getCharacterLevel(jint);
  jfloat getDescent();
  ::java::awt::font::TextLayout * getJustifiedLayout(jfloat);
  jfloat getLeading();
  ::java::awt::Shape * getLogicalHighlightShape(jint, jint);
  ::java::awt::Shape * getLogicalHighlightShape(jint, jint, ::java::awt::geom::Rectangle2D *);
  JArray< jint > * getLogicalRangesForVisualSelection(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *);
  ::java::awt::font::TextHitInfo * getNextLeftHit(jint);
  ::java::awt::font::TextHitInfo * getNextLeftHit(jint, ::java::awt::font::TextLayout$CaretPolicy *);
  ::java::awt::font::TextHitInfo * getNextLeftHit(::java::awt::font::TextHitInfo *);
  ::java::awt::font::TextHitInfo * getNextRightHit(jint);
  ::java::awt::font::TextHitInfo * getNextRightHit(jint, ::java::awt::font::TextLayout$CaretPolicy *);
  ::java::awt::font::TextHitInfo * getNextRightHit(::java::awt::font::TextHitInfo *);
  ::java::awt::Shape * getOutline(::java::awt::geom::AffineTransform *);
  jfloat getVisibleAdvance();
  ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *);
  ::java::awt::Shape * getVisualHighlightShape(::java::awt::font::TextHitInfo *, ::java::awt::font::TextHitInfo *, ::java::awt::geom::Rectangle2D *);
private:
  ::java::awt::Shape * left(::java::awt::geom::Rectangle2D *);
  ::java::awt::Shape * right(::java::awt::geom::Rectangle2D *);
public:
  ::java::awt::font::TextHitInfo * getVisualOtherHit(::java::awt::font::TextHitInfo *);
public: // actually protected
  void handleJustify(jfloat);
public:
  ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat);
  ::java::awt::font::TextHitInfo * hitTestChar(jfloat, jfloat, ::java::awt::geom::Rectangle2D *);
  jboolean isLeftToRight();
  jboolean isVertical();
  jint hashCode();
  ::java::lang::String * toString();
private:
  ::java::awt::geom::Rectangle2D * getNaturalBounds();
  void checkHitInfo(::java::awt::font::TextHitInfo *);
  jint hitToCaret(::java::awt::font::TextHitInfo *);
  ::java::awt::font::TextHitInfo * caretToHit(jint);
  jboolean isCharacterLTR(jint);
  ::java::awt::font::TextLayout$Run * findRunAtIndex(jint);
  void layoutRuns();
  JArray< ::java::awt::font::TextLayout$Run * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) runs;
  ::java::awt::font::FontRenderContext * frc;
  JArray< jchar > * string;
  jint offset;
  jint length;
  ::java::awt::geom::Rectangle2D * boundsCache;
  ::java::awt::font::LineMetrics * lm;
  jfloat totalAdvance;
  ::java::awt::geom::Rectangle2D * naturalBounds;
  JArray< JArray< jint > * > * charIndices;
  jboolean leftToRight;
  jboolean hasWhitespace;
  ::java::text::Bidi * bidi;
  JArray< jint > * logicalToVisual;
  JArray< jint > * visualToLogical;
  jint hash;
public:
  static ::java::awt::font::TextLayout$CaretPolicy * DEFAULT_CARET_POLICY;
  static ::java::lang::Class class$;
};

#endif // __java_awt_font_TextLayout__