pangocairo.pas 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. {
  2. Pango
  3. pangocairo.h:
  4. Copyright (C) 1999, 2004 Red Hat, Inc.
  5. This library is free software; you can redistribute it and/or
  6. modify it under the terms of the GNU Library General Public
  7. License as published by the Free Software Foundation; either
  8. version 2 of the License, or (at your option) any later version.
  9. This library is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. Library General Public License for more details.
  13. You should have received a copy of the GNU Library General Public
  14. License along with this library; if not, write to the
  15. Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  16. Boston, MA 02111-1301, USA.
  17. }
  18. unit pangocairo;
  19. {$IFDEF FPC}
  20. {$mode objfpc}
  21. {$ENDIF}
  22. {$IFDEF VER140}
  23. {$DEFINE KYLIX}
  24. {$ENDIF}
  25. interface
  26. uses glib2, pango, cairo;
  27. const
  28. {$ifdef windows}
  29. {$define pangowin}
  30. pangocairolib = 'libpangocairo-1.0-0.dll';
  31. {$IFDEF FPC}
  32. {$ifndef NO_SMART_LINK}
  33. {$smartlink on}
  34. {$endif}
  35. {$ENDIF}
  36. {$else}
  37. {$ifdef UseCustomLibs}
  38. pangocairolib = '';
  39. {$else}
  40. pangocairolib = 'libpangocairo-1.0.so.0';
  41. {$endif}
  42. {$endif}
  43. {$IFNDEF KYLIX}
  44. {$PACKRECORDS C}
  45. {$ELSE}
  46. {$ALIGN 4}
  47. {$WEAKPACKAGEUNIT}
  48. {$WARNINGS OFF}
  49. {$ENDIF}
  50. { $define HasPango1_22}
  51. Type
  52. PPangoCairoFont = pointer;
  53. PPangoCairoFontMap = pointer;
  54. PangoCairoShapeRendererFunc = procedure (cr:Pcairo_t; attr:PPangoAttrShape; do_path:gboolean; data:gpointer);cdecl;
  55. {$IFDEF FPC}
  56. {$PACKRECORDS C}
  57. {$ENDIF}
  58. function PANGO_TYPE_CAIRO_FONT : GType;
  59. function PANGO_CAIRO_FONT(objekt : pointer) : PPangoCairoFont;
  60. function PANGO_IS_CAIRO_FONT(objekt : pointer) : boolean;
  61. function PANGO_TYPE_CAIRO_FONT_MAP : GType;
  62. function PANGO_CAIRO_FONT_MAP(objekt : pointer) : PPangoCairoFontMap;
  63. function PANGO_IS_CAIRO_FONT_MAP(objekt : pointer) : boolean;
  64. function pango_cairo_font_map_get_type():GType;cdecl;external pangocairolib;
  65. function pango_cairo_font_map_new:PPangoFontMap;cdecl;external pangocairolib;
  66. function pango_cairo_font_map_new_for_font_type(fonttype:cairo_font_type_t):PPangoFontMap;cdecl;external pangocairolib;
  67. function pango_cairo_font_map_get_default:PPangoFontMap;cdecl;external pangocairolib;
  68. function pango_cairo_font_map_get_font_type(fontmap:PPangoCairoFontMap):cairo_font_type_t;cdecl;external pangocairolib;
  69. procedure pango_cairo_font_map_set_resolution(fontmap:PPangoCairoFontMap; dpi:double);cdecl;external pangocairolib;
  70. function pango_cairo_font_map_get_resolution(fontmap:PPangoCairoFontMap):double;cdecl;external pangocairolib;
  71. {$ifndef PANGO_DISABLE_DEPRECATED}
  72. function pango_cairo_font_map_create_context(fontmap:PPangoCairoFontMap):PPangoContext;cdecl;external pangocairolib;
  73. {$endif}
  74. function pango_cairo_font_get_type():GType;cdecl;external pangocairolib;
  75. function pango_cairo_font_get_scaled_font(font:PPangoCairoFont):Pcairo_scaled_font_t;cdecl;external pangocairolib;
  76. procedure pango_cairo_update_context(cr:Pcairo_t; context:PPangoContext);cdecl;external pangocairolib;
  77. procedure pango_cairo_context_set_font_options(context:PPangoContext; options:Pcairo_font_options_t);cdecl;external pangocairolib;
  78. function pango_cairo_context_get_font_options(context:PPangoContext):Pcairo_font_options_t;cdecl;external pangocairolib;
  79. procedure pango_cairo_context_set_resolution(context:PPangoContext; dpi:double);cdecl;external pangocairolib;
  80. function pango_cairo_context_get_resolution(context:PPangoContext):double;cdecl;external pangocairolib;
  81. procedure pango_cairo_context_set_shape_renderer(context:PPangoContext; func:PangoCairoShapeRendererFunc; data:gpointer; dnotify:GDestroyNotify);cdecl;external pangocairolib;
  82. function pango_cairo_context_get_shape_renderer(context:PPangoContext; data:Pgpointer):PangoCairoShapeRendererFunc;cdecl;external pangocairolib;
  83. function pango_cairo_create_layout(cr:Pcairo_t):PPangoLayout;cdecl;external pangocairolib;
  84. procedure pango_cairo_update_layout(cr:Pcairo_t; layout:PPangoLayout);cdecl;external pangocairolib;
  85. procedure pango_cairo_show_glyph_string(cr:Pcairo_t; font:PPangoFont; glyphs:PPangoGlyphString);cdecl;external pangocairolib;
  86. procedure pango_cairo_show_layout_line(cr:Pcairo_t; line:PPangoLayoutLine);cdecl;external pangocairolib;
  87. procedure pango_cairo_show_layout(cr:Pcairo_t; layout:PPangoLayout);cdecl;external pangocairolib;
  88. procedure pango_cairo_show_error_underline(cr:Pcairo_t; x:double; y:double; width:double; height:double);cdecl;external pangocairolib;
  89. procedure pango_cairo_glyph_string_path(cr:Pcairo_t; font:PPangoFont; glyphs:PPangoGlyphString);cdecl;external pangocairolib;
  90. procedure pango_cairo_layout_line_path(cr:Pcairo_t; line:PPangoLayoutLine);cdecl;external pangocairolib;
  91. procedure pango_cairo_layout_path(cr:Pcairo_t; layout:PPangoLayout);cdecl;external pangocairolib;
  92. procedure pango_cairo_error_underline_path(cr:Pcairo_t; x:double; y:double; width:double; height:double);cdecl;external pangocairolib;
  93. {$ifdef HasPango1_22}
  94. procedure pango_cairo_font_map_set_default(fontmap:PPangoCairoFontMap);cdecl;external pangocairolib;
  95. function pango_cairo_create_context(cr:Pcairo_t):PPangoContext;cdecl;external pangocairolib;
  96. procedure pango_cairo_show_glyph_item(cr:Pcairo_t; text:Pchar; glyph_item:PPangoGlyphItem);cdecl;external pangocairolib;
  97. {$endif}
  98. implementation
  99. function PANGO_TYPE_CAIRO_FONT : GType;
  100. begin
  101. PANGO_TYPE_CAIRO_FONT:=pango_cairo_font_get_type;
  102. end;
  103. function PANGO_CAIRO_FONT(objekt : pointer) : PPangoCairoFont;
  104. begin
  105. PANGO_CAIRO_FONT:=G_TYPE_CHECK_INSTANCE_CAST(objekt,PANGO_TYPE_CAIRO_FONT);
  106. end;
  107. function PANGO_IS_CAIRO_FONT(objekt : pointer) : boolean;
  108. begin
  109. PANGO_IS_CAIRO_FONT:=G_TYPE_CHECK_INSTANCE_TYPE(objekt,PANGO_TYPE_CAIRO_FONT);
  110. end;
  111. function PANGO_TYPE_CAIRO_FONT_MAP : GType;
  112. begin
  113. PANGO_TYPE_CAIRO_FONT_MAP:=pango_cairo_font_map_get_type;
  114. end;
  115. function PANGO_CAIRO_FONT_MAP(objekt : pointer) : PPangoCairoFontMap;
  116. begin
  117. PANGO_CAIRO_FONT_MAP:=G_TYPE_CHECK_INSTANCE_CAST(objekt,PANGO_TYPE_CAIRO_FONT_MAP);
  118. end;
  119. function PANGO_IS_CAIRO_FONT_MAP(objekt : pointer) : boolean;
  120. begin
  121. PANGO_IS_CAIRO_FONT_MAP:=G_TYPE_CHECK_INSTANCE_TYPE(objekt,PANGO_TYPE_CAIRO_FONT_MAP);
  122. end;
  123. end.