GdkFontPeer.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
  2. #ifndef __gnu_java_awt_peer_gtk_GdkFontPeer__
  3. #define __gnu_java_awt_peer_gtk_GdkFontPeer__
  4. #pragma interface
  5. #include <gnu/java/awt/peer/ClasspathFontPeer.h>
  6. #include <gcj/array.h>
  7. extern "Java"
  8. {
  9. namespace gnu
  10. {
  11. namespace classpath
  12. {
  13. class Pointer;
  14. }
  15. namespace java
  16. {
  17. namespace awt
  18. {
  19. namespace peer
  20. {
  21. namespace gtk
  22. {
  23. class GdkFontPeer;
  24. class GdkFontPeer$GdkFontMetrics;
  25. }
  26. }
  27. }
  28. }
  29. }
  30. namespace java
  31. {
  32. namespace awt
  33. {
  34. class Font;
  35. class FontMetrics;
  36. namespace font
  37. {
  38. class FontRenderContext;
  39. class GlyphMetrics;
  40. class GlyphVector;
  41. class LineMetrics;
  42. }
  43. namespace geom
  44. {
  45. class Rectangle2D;
  46. }
  47. }
  48. namespace nio
  49. {
  50. class ByteBuffer;
  51. }
  52. namespace text
  53. {
  54. class CharacterIterator;
  55. }
  56. }
  57. }
  58. class gnu::java::awt::peer::gtk::GdkFontPeer : public ::gnu::java::awt::peer::ClasspathFontPeer
  59. {
  60. public: // actually package-private
  61. static void initStaticState();
  62. private:
  63. void initState();
  64. void dispose();
  65. void setFont(::java::lang::String *, jint, jint);
  66. public: // actually package-private
  67. virtual void getFontMetrics(JArray< jdouble > *);
  68. virtual void getTextMetrics(::java::lang::String *, JArray< jdouble > *);
  69. virtual void releasePeerGraphicsResource();
  70. public: // actually protected
  71. virtual void finalize();
  72. private:
  73. ::java::lang::String * buildString(::java::text::CharacterIterator *);
  74. ::java::lang::String * buildString(::java::text::CharacterIterator *, jint, jint);
  75. ::java::lang::String * buildString(JArray< jchar > *, jint, jint);
  76. public:
  77. GdkFontPeer(::java::lang::String *, jint);
  78. GdkFontPeer(::java::lang::String *, jint, jint);
  79. GdkFontPeer(::java::lang::String *, ::java::util::Map *);
  80. public: // actually package-private
  81. static ::java::awt::Font * initFont(::java::awt::Font *);
  82. private:
  83. void setupMetrics();
  84. public:
  85. virtual ::java::lang::String * getSubFamilyName(::java::awt::Font *, ::java::util::Locale *);
  86. private:
  87. JArray< jbyte > * getTrueTypeTable(jbyte, jbyte, jbyte, jbyte);
  88. public:
  89. virtual ::java::lang::String * getPostScriptName(::java::awt::Font *);
  90. private:
  91. ::java::lang::String * getName(jint, ::java::util::Locale *);
  92. public:
  93. virtual jboolean canDisplay(::java::awt::Font *, jint);
  94. virtual jint canDisplayUpTo(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint);
  95. virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, ::java::text::CharacterIterator *);
  96. virtual ::java::awt::font::GlyphVector * createGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jint > *);
  97. virtual jbyte getBaselineFor(::java::awt::Font *, jchar);
  98. virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::text::CharacterIterator *, jint, jint, ::java::awt::font::FontRenderContext *);
  99. virtual ::java::awt::geom::Rectangle2D * getMaxCharBounds(::java::awt::Font *, ::java::awt::font::FontRenderContext *);
  100. virtual jint getMissingGlyphCode(::java::awt::Font *);
  101. virtual ::java::lang::String * getGlyphName(::java::awt::Font *, jint);
  102. virtual jint getNumGlyphs(::java::awt::Font *);
  103. virtual jboolean hasUniformLineMetrics(::java::awt::Font *);
  104. virtual ::java::awt::font::GlyphVector * layoutGlyphVector(::java::awt::Font *, ::java::awt::font::FontRenderContext *, JArray< jchar > *, jint, jint, jint);
  105. virtual ::java::awt::font::LineMetrics * getLineMetrics(::java::awt::Font *, ::java::lang::String *, ::java::awt::font::FontRenderContext *);
  106. virtual ::java::awt::FontMetrics * getFontMetrics(::java::awt::Font *);
  107. public: // actually package-private
  108. virtual ::java::awt::font::GlyphMetrics * getGlyphMetrics(jint);
  109. virtual void putGlyphMetrics(jint, ::java::awt::font::GlyphMetrics *);
  110. static ::java::awt::font::FontRenderContext * DEFAULT_CTX;
  111. ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::java::awt::peer::ClasspathFontPeer)))) textLayoutCache;
  112. private:
  113. jint native_state;
  114. ::java::util::HashMap * metricsCache;
  115. static const jint FONT_METRICS_ASCENT = 0;
  116. static const jint FONT_METRICS_MAX_ASCENT = 1;
  117. static const jint FONT_METRICS_DESCENT = 2;
  118. static const jint FONT_METRICS_MAX_DESCENT = 3;
  119. static const jint FONT_METRICS_MAX_ADVANCE = 4;
  120. static const jint FONT_METRICS_HEIGHT = 5;
  121. static const jint FONT_METRICS_UNDERLINE_OFFSET = 6;
  122. static const jint FONT_METRICS_UNDERLINE_THICKNESS = 7;
  123. public: // actually package-private
  124. jfloat ascent;
  125. jfloat descent;
  126. jfloat maxAscent;
  127. jfloat maxDescent;
  128. jfloat maxAdvance;
  129. jfloat height;
  130. jfloat underlineOffset;
  131. jfloat underlineThickness;
  132. ::gnu::java::awt::peer::gtk::GdkFontPeer$GdkFontMetrics * metrics;
  133. private:
  134. ::java::nio::ByteBuffer * nameTable;
  135. ::gnu::classpath::Pointer * nativeFont;
  136. public:
  137. static ::java::lang::Class class$;
  138. };
  139. #endif // __gnu_java_awt_peer_gtk_GdkFontPeer__