pangoft2.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /* Pango
  2. * pangoft2.h:
  3. *
  4. * Copyright (C) 1999 Red Hat Software
  5. * Copyright (C) 2000 Tor Lillqvist
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Library General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Library General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Library General Public
  18. * License along with this library; if not, write to the
  19. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  20. * Boston, MA 02111-1307, USA.
  21. */
  22. #ifndef __PANGOFT2_H__
  23. #define __PANGOFT2_H__
  24. #include <fontconfig/fontconfig.h>
  25. #include <pango/pango-layout.h>
  26. #include <pango/pangofc-font.h>
  27. G_BEGIN_DECLS
  28. #ifndef PANGO_DISABLE_DEPRECATED
  29. /**
  30. * PANGO_RENDER_TYPE_FT2:
  31. *
  32. * A string constant that was used to identify shape engines that work
  33. * with the FreeType backend. See %PANGO_RENDER_TYPE_FC for the replacement.
  34. */
  35. #define PANGO_RENDER_TYPE_FT2 "PangoRenderFT2"
  36. #endif
  37. #define PANGO_TYPE_FT2_FONT_MAP (pango_ft2_font_map_get_type ())
  38. #define PANGO_FT2_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT_MAP, PangoFT2FontMap))
  39. #define PANGO_FT2_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT_MAP))
  40. typedef struct _PangoFT2FontMap PangoFT2FontMap;
  41. /**
  42. * PangoFT2SubstituteFunc:
  43. * @pattern: the <type>FcPattern</type> to tweak.
  44. * @data: user data.
  45. *
  46. * Function type for doing final config tweaking on prepared FcPatterns.
  47. */
  48. typedef void (*PangoFT2SubstituteFunc) (FcPattern *pattern,
  49. gpointer data);
  50. /* Calls for applications */
  51. void pango_ft2_render (FT_Bitmap *bitmap,
  52. PangoFont *font,
  53. PangoGlyphString *glyphs,
  54. gint x,
  55. gint y);
  56. void pango_ft2_render_transformed (FT_Bitmap *bitmap,
  57. const PangoMatrix *matrix,
  58. PangoFont *font,
  59. PangoGlyphString *glyphs,
  60. int x,
  61. int y);
  62. void pango_ft2_render_layout_line (FT_Bitmap *bitmap,
  63. PangoLayoutLine *line,
  64. int x,
  65. int y);
  66. void pango_ft2_render_layout_line_subpixel (FT_Bitmap *bitmap,
  67. PangoLayoutLine *line,
  68. int x,
  69. int y);
  70. void pango_ft2_render_layout (FT_Bitmap *bitmap,
  71. PangoLayout *layout,
  72. int x,
  73. int y);
  74. void pango_ft2_render_layout_subpixel (FT_Bitmap *bitmap,
  75. PangoLayout *layout,
  76. int x,
  77. int y);
  78. GType pango_ft2_font_map_get_type (void) G_GNUC_CONST;
  79. PangoFontMap *pango_ft2_font_map_new (void);
  80. void pango_ft2_font_map_set_resolution (PangoFT2FontMap *fontmap,
  81. double dpi_x,
  82. double dpi_y);
  83. void pango_ft2_font_map_set_default_substitute (PangoFT2FontMap *fontmap,
  84. PangoFT2SubstituteFunc func,
  85. gpointer data,
  86. GDestroyNotify notify);
  87. void pango_ft2_font_map_substitute_changed (PangoFT2FontMap *fontmap);
  88. #ifndef PANGO_DISABLE_DEPRECATED
  89. G_DEPRECATED_FOR(pango_font_map_create_context)
  90. PangoContext *pango_ft2_font_map_create_context (PangoFT2FontMap *fontmap);
  91. #endif
  92. /* API for rendering modules
  93. */
  94. #ifndef PANGO_DISABLE_DEPRECATED
  95. G_DEPRECATED_FOR(pango_font_map_create_context)
  96. PangoContext *pango_ft2_get_context (double dpi_x,
  97. double dpi_y);
  98. G_DEPRECATED_FOR(pango_ft2_font_map_new)
  99. PangoFontMap *pango_ft2_font_map_for_display (void);
  100. G_DEPRECATED
  101. void pango_ft2_shutdown_display (void);
  102. G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
  103. PangoGlyph pango_ft2_get_unknown_glyph (PangoFont *font);
  104. G_DEPRECATED_FOR(pango_fc_font_kern_glyphs)
  105. int pango_ft2_font_get_kerning (PangoFont *font,
  106. PangoGlyph left,
  107. PangoGlyph right);
  108. G_DEPRECATED_FOR(pango_fc_font_lock_face)
  109. FT_Face pango_ft2_font_get_face (PangoFont *font);
  110. G_DEPRECATED_FOR(pango_font_get_coverage)
  111. PangoCoverage *pango_ft2_font_get_coverage (PangoFont *font,
  112. PangoLanguage *language);
  113. #endif /* PANGO_DISABLE_DEPRECATED */
  114. G_END_DECLS
  115. #endif /* __PANGOFT2_H__ */