pango-layout.inc 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. // included by pango.pp
  2. {$IFDEF read_interface_types}
  3. PPangoAlignment = ^TPangoAlignment;
  4. TPangoAlignment = (
  5. PANGO_ALIGN_LEFT,
  6. PANGO_ALIGN_CENTER,
  7. PANGO_ALIGN_RIGHT
  8. );
  9. PPangoWrapMode = ^TPangoWrapMode;
  10. TPangoWrapMode = (PANGO_WRAP_WORD,PANGO_WRAP_CHAR);
  11. { start of line as byte index into layout->text }
  12. { length of line in bytes }
  13. PPangoLayoutLine = ^TPangoLayoutLine;
  14. TPangoLayoutLine = record
  15. layout : PPangoLayout;
  16. start_index : gint;
  17. length : gint;
  18. runs : PGSList;
  19. end;
  20. PPangoLayoutRun = ^TPangoLayoutRun;
  21. TPangoLayoutRun = record
  22. item : PPangoItem;
  23. glyphs : PPangoGlyphString;
  24. end;
  25. {$ENDIF read_interface_types}
  26. //------------------------------------------------------------------------------
  27. {$IFDEF read_interface_functions}
  28. function PANGO_TYPE_LAYOUT : GType;
  29. function PANGO_LAYOUT(anObject : pointer) : PPangoLayout;
  30. function PANGO_LAYOUT_CLASS(klass : pointer) : PPangoLayoutClass;
  31. function PANGO_IS_LAYOUT(anObject : pointer) : boolean;
  32. function PANGO_IS_LAYOUT_CLASS(klass : pointer) : boolean;
  33. function PANGO_LAYOUT_GET_CLASS(obj : PPangoLayout) : PPangoLayoutClass;
  34. { The PangoLayout and PangoLayoutClass structs are private; if you
  35. need to create a subclass of these, mail [email protected]
  36. }
  37. function pango_layout_get_type:GType; cdecl; external pangolib;
  38. function pango_layout_new(context:PPangoContext):PPangoLayout; cdecl; external pangolib;
  39. function pango_layout_copy(src:PPangoLayout):PPangoLayout; cdecl; external pangolib;
  40. function pango_layout_get_context(layout:PPangoLayout):PPangoContext; cdecl; external pangolib;
  41. procedure pango_layout_set_attributes(layout:PPangoLayout; attrs:PPangoAttrList); cdecl; external pangolib;
  42. function pango_layout_get_attributes(layout:PPangoLayout):PPangoAttrList; cdecl; external pangolib;
  43. procedure pango_layout_set_text(layout:PPangoLayout; text:Pchar; length:longint); cdecl; external pangolib;
  44. function pango_layout_get_text(layout:PPangoLayout):Pchar; cdecl; external pangolib;
  45. procedure pango_layout_set_markup(layout:PPangoLayout; markup:Pchar; length:longint); cdecl; external pangolib;
  46. procedure pango_layout_set_markup_with_accel(layout:PPangoLayout; markup:Pchar; length:longint; accel_marker:gunichar; accel_char:Pgunichar); cdecl; external pangolib;
  47. procedure pango_layout_set_font_description(layout:PPangoLayout; desc:PPangoFontDescription); cdecl; external pangolib;
  48. procedure pango_layout_set_width(layout:PPangoLayout; width:longint); cdecl; external pangolib;
  49. function pango_layout_get_width(layout:PPangoLayout):longint; cdecl; external pangolib;
  50. procedure pango_layout_set_wrap(layout:PPangoLayout; wrap:TPangoWrapMode); cdecl; external pangolib;
  51. function pango_layout_get_wrap(layout:PPangoLayout):TPangoWrapMode; cdecl; external pangolib;
  52. procedure pango_layout_set_indent(layout:PPangoLayout; indent:longint); cdecl; external pangolib;
  53. function pango_layout_get_indent(layout:PPangoLayout):longint; cdecl; external pangolib;
  54. procedure pango_layout_set_spacing(layout:PPangoLayout; spacing:longint); cdecl; external pangolib;
  55. function pango_layout_get_spacing(layout:PPangoLayout):longint; cdecl; external pangolib;
  56. procedure pango_layout_set_justify(layout:PPangoLayout; justify:gboolean); cdecl; external pangolib;
  57. function pango_layout_get_justify(layout:PPangoLayout):gboolean; cdecl; external pangolib;
  58. procedure pango_layout_set_alignment(layout:PPangoLayout; alignment:TPangoAlignment); cdecl; external pangolib;
  59. function pango_layout_get_alignment(layout:PPangoLayout):TPangoAlignment; cdecl; external pangolib;
  60. procedure pango_layout_set_tabs(layout:PPangoLayout; tabs:PPangoTabArray); cdecl; external pangolib;
  61. function pango_layout_get_tabs(layout:PPangoLayout):PPangoTabArray; cdecl; external pangolib;
  62. procedure pango_layout_set_single_paragraph_mode(layout:PPangoLayout; setting:gboolean); cdecl; external pangolib;
  63. function pango_layout_get_single_paragraph_mode(layout:PPangoLayout):gboolean; cdecl; external pangolib;
  64. procedure pango_layout_context_changed(layout:PPangoLayout); cdecl; external pangolib;
  65. procedure pango_layout_get_log_attrs(layout:PPangoLayout; var attrs:PPangoLogAttr; n_attrs:Pgint); cdecl; external pangolib;
  66. procedure pango_layout_index_to_pos(layout:PPangoLayout; index:longint; pos:PPangoRectangle); cdecl; external pangolib;
  67. procedure pango_layout_get_cursor_pos(layout:PPangoLayout; index:longint; strong_pos:PPangoRectangle; weak_pos:PPangoRectangle); cdecl; external pangolib;
  68. procedure pango_layout_move_cursor_visually(layout:PPangoLayout; strong:gboolean; old_index:longint; old_trailing:longint; direction:longint;
  69. new_index:Plongint; new_trailing:Plongint); cdecl; external pangolib;
  70. function pango_layout_xy_to_index(layout:PPangoLayout; x:longint; y:longint; index:Plongint; trailing:Plongint):gboolean; cdecl; external pangolib;
  71. procedure pango_layout_get_extents(layout:PPangoLayout; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  72. procedure pango_layout_get_pixel_extents(layout:PPangoLayout; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  73. procedure pango_layout_get_size(layout:PPangoLayout; width:Plongint; height:Plongint); cdecl; external pangolib;
  74. procedure pango_layout_get_pixel_size(layout:PPangoLayout; width:Plongint; height:Plongint); cdecl; external pangolib;
  75. function pango_layout_get_line_count(layout:PPangoLayout):longint; cdecl; external pangolib;
  76. function pango_layout_get_line(layout:PPangoLayout; line:longint):PPangoLayoutLine; cdecl; external pangolib;
  77. function pango_layout_get_lines(layout:PPangoLayout):PGSList; cdecl; external pangolib;
  78. procedure pango_layout_line_ref(line:PPangoLayoutLine); cdecl; external pangolib;
  79. procedure pango_layout_line_unref(line:PPangoLayoutLine); cdecl; external pangolib;
  80. function pango_layout_line_x_to_index(line:PPangoLayoutLine; x_pos:longint; index:Plongint; trailing:Plongint):gboolean; cdecl; external pangolib;
  81. procedure pango_layout_line_index_to_x(line:PPangoLayoutLine; index:longint; trailing:gboolean; x_pos:Plongint); cdecl; external pangolib;
  82. procedure pango_layout_line_get_x_ranges(line:PPangoLayoutLine; start_index:longint; end_index:longint; var ranges:Plongint; n_ranges:Plongint); cdecl; external pangolib;
  83. procedure pango_layout_line_get_extents(line:PPangoLayoutLine; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  84. procedure pango_layout_line_get_pixel_extents(layout_line:PPangoLayoutLine; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  85. function pango_layout_get_iter(layout:PPangoLayout):PPangoLayoutIter; cdecl; external pangolib;
  86. procedure pango_layout_iter_free(iter:PPangoLayoutIter); cdecl; external pangolib;
  87. function pango_layout_iter_get_index(iter:PPangoLayoutIter):longint; cdecl; external pangolib;
  88. function pango_layout_iter_get_run(iter:PPangoLayoutIter):PPangoLayoutRun; cdecl; external pangolib;
  89. function pango_layout_iter_get_line(iter:PPangoLayoutIter):PPangoLayoutLine; cdecl; external pangolib;
  90. function pango_layout_iter_at_last_line(iter:PPangoLayoutIter):gboolean; cdecl; external pangolib;
  91. function pango_layout_iter_next_char(iter:PPangoLayoutIter):gboolean; cdecl; external pangolib;
  92. function pango_layout_iter_next_cluster(iter:PPangoLayoutIter):gboolean; cdecl; external pangolib;
  93. function pango_layout_iter_next_run(iter:PPangoLayoutIter):gboolean; cdecl; external pangolib;
  94. function pango_layout_iter_next_line(iter:PPangoLayoutIter):gboolean; cdecl; external pangolib;
  95. procedure pango_layout_iter_get_char_extents(iter:PPangoLayoutIter; logical_rect:PPangoRectangle); cdecl; external pangolib;
  96. procedure pango_layout_iter_get_cluster_extents(iter:PPangoLayoutIter; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  97. procedure pango_layout_iter_get_run_extents(iter:PPangoLayoutIter; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  98. procedure pango_layout_iter_get_line_extents(iter:PPangoLayoutIter; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  99. { All the yranges meet, unlike the logical_rect's (i.e. the yranges
  100. assign between-line spacing to the nearest line)
  101. }
  102. procedure pango_layout_iter_get_line_yrange(iter:PPangoLayoutIter; y0:Plongint; y1:Plongint); cdecl; external pangolib;
  103. procedure pango_layout_iter_get_layout_extents(iter:PPangoLayoutIter; ink_rect:PPangoRectangle; logical_rect:PPangoRectangle); cdecl; external pangolib;
  104. function pango_layout_iter_get_baseline(iter:PPangoLayoutIter):longint; cdecl; external pangolib;
  105. {$endif read_interface_functions}
  106. //------------------------------------------------------------------------------
  107. {$IFDEF read_implementation}
  108. function PANGO_TYPE_LAYOUT : GType;
  109. begin
  110. PANGO_TYPE_LAYOUT:=pango_layout_get_type;
  111. end;
  112. function PANGO_LAYOUT(anObject : pointer) : PPangoLayout;
  113. begin
  114. PANGO_LAYOUT:=PPangoLayout(G_TYPE_CHECK_INSTANCE_CAST(anObject,
  115. PANGO_TYPE_LAYOUT));
  116. end;
  117. function PANGO_LAYOUT_CLASS(klass : pointer) : PPangoLayoutClass;
  118. begin
  119. PANGO_LAYOUT_CLASS:=PPangoLayoutClass(G_TYPE_CHECK_CLASS_CAST(klass,
  120. PANGO_TYPE_LAYOUT));
  121. end;
  122. function PANGO_IS_LAYOUT(anObject : pointer) : boolean;
  123. begin
  124. PANGO_IS_LAYOUT:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,PANGO_TYPE_LAYOUT);
  125. end;
  126. function PANGO_IS_LAYOUT_CLASS(klass : pointer) : boolean;
  127. begin
  128. PANGO_IS_LAYOUT_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,PANGO_TYPE_LAYOUT);
  129. end;
  130. function PANGO_LAYOUT_GET_CLASS(obj : PPangoLayout) : PPangoLayoutClass;
  131. begin
  132. PANGO_LAYOUT_GET_CLASS:=PPangoLayoutClass(G_TYPE_INSTANCE_GET_CLASS(obj,
  133. PANGO_TYPE_LAYOUT));
  134. end;
  135. {$ENDIF}