gtktextview.inc 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. // internal type
  7. PGtkTextWindow = pointer;
  8. // internal type
  9. PGtkTextPendingScroll = pointer;
  10. PGtkTextWindowType = ^TGtkTextWindowType;
  11. TGtkTextWindowType = (
  12. GTK_TEXT_WINDOW_PRIVATE,
  13. GTK_TEXT_WINDOW_WIDGET,
  14. GTK_TEXT_WINDOW_TEXT,
  15. GTK_TEXT_WINDOW_LEFT,
  16. GTK_TEXT_WINDOW_RIGHT,
  17. GTK_TEXT_WINDOW_TOP,
  18. GTK_TEXT_WINDOW_BOTTOM
  19. );
  20. { Internal private types. }
  21. { Default style settings }
  22. { If we have reset the IM since the last character entered }
  23. { just selected a word or line via double/triple click }
  24. { disable scrolling to cursor on focus }
  25. { debug flag - means that we've validated onscreen since the
  26. last "invalidate" signal from the layout
  27. }
  28. { Offsets between widget coordinates and buffer coordinates }
  29. { Width and height of the buffer }
  30. { The virtual cursor position is normally the same as the
  31. actual (strong) cursor position, except in two circumstances:
  32. a) When the cursor is moved vertically with the keyboard
  33. b) When the text view is scrolled with the keyboard
  34. In case a), virtual_cursor_x is preserved, but not virtual_cursor_y
  35. In case b), both virtual_cursor_x and virtual_cursor_y are preserved.
  36. }
  37. { -1 means use actual cursor position }
  38. { -1 means use actual cursor position }
  39. { Mark at the beginning of the first onscreen paragraph }
  40. { Offset of top of screen in the first onscreen paragraph }
  41. { Idle to revalidate onscreen portion, runs before resize }
  42. { Idle to revalidate offscreen portions, runs after redraw }
  43. PGtkTextView = ^TGtkTextView;
  44. TGtkTextView = record
  45. parent_instance : TGtkContainer;
  46. layout : PGtkTextLayout;
  47. buffer : PGtkTextBuffer;
  48. selection_drag_handler : guint;
  49. scroll_timeout : guint;
  50. pixels_above_lines : gint;
  51. pixels_below_lines : gint;
  52. pixels_inside_wrap : gint;
  53. wrap_mode : TGtkWrapMode;
  54. justify : TGtkJustification;
  55. left_margin : gint;
  56. right_margin : gint;
  57. indent : gint;
  58. tabs : PPangoTabArray;
  59. flag0 : word;
  60. text_window : PGtkTextWindow;
  61. left_window : PGtkTextWindow;
  62. right_window : PGtkTextWindow;
  63. top_window : PGtkTextWindow;
  64. bottom_window : PGtkTextWindow;
  65. hadjustment : PGtkAdjustment;
  66. vadjustment : PGtkAdjustment;
  67. xoffset : gint;
  68. yoffset : gint;
  69. width : gint;
  70. height : gint;
  71. virtual_cursor_x : gint;
  72. virtual_cursor_y : gint;
  73. first_para_mark : PGtkTextMark;
  74. first_para_pixels : gint;
  75. dnd_mark : PGtkTextMark;
  76. blink_timeout : guint;
  77. first_validate_idle : guint;
  78. incremental_validate_idle : guint;
  79. im_context : PGtkIMContext;
  80. popup_menu : PGtkWidget;
  81. drag_start_x : gint;
  82. drag_start_y : gint;
  83. children : PGSList;
  84. pending_scroll : PGtkTextPendingScroll;
  85. pending_place_cursor_button : gint;
  86. end;
  87. { These are all RUN_ACTION signals for keybindings }
  88. { move insertion point }
  89. { FIXME should be deprecated in favor of adding GTK_MOVEMENT_HORIZONTAL_PAGES
  90. or something in GTK 2.2, was put in to avoid adding enum values during
  91. the freeze.
  92. }
  93. { move the "anchor" (what Emacs calls the mark) to the cursor position }
  94. { Edits }
  95. { cut copy paste }
  96. { overwrite }
  97. { propagates to GtkWindow move_focus }
  98. { Padding for future expansion }
  99. PGtkTextViewClass = ^TGtkTextViewClass;
  100. TGtkTextViewClass = record
  101. parent_class : TGtkContainerClass;
  102. set_scroll_adjustments : procedure (text_view:PGtkTextView; hadjustment:PGtkAdjustment; vadjustment:PGtkAdjustment); cdecl;
  103. populate_popup : procedure (text_view:PGtkTextView; menu:PGtkMenu); cdecl;
  104. move_cursor : procedure (text_view:PGtkTextView; step:TGtkMovementStep; count:gint; extend_selection:gboolean); cdecl;
  105. page_horizontally : procedure (text_view:PGtkTextView; count:gint; extend_selection:gboolean); cdecl;
  106. set_anchor : procedure (text_view:PGtkTextView); cdecl;
  107. insert_at_cursor : procedure (text_view:PGtkTextView; str:Pgchar); cdecl;
  108. delete_from_cursor : procedure (text_view:PGtkTextView; _type:TGtkDeleteType; count:gint); cdecl;
  109. cut_clipboard : procedure (text_view:PGtkTextView); cdecl;
  110. copy_clipboard : procedure (text_view:PGtkTextView); cdecl;
  111. paste_clipboard : procedure (text_view:PGtkTextView); cdecl;
  112. toggle_overwrite : procedure (text_view:PGtkTextView); cdecl;
  113. move_focus : procedure (text_view:PGtkTextView; direction:TGtkDirectionType); cdecl;
  114. _gtk_reserved1 : procedure ; cdecl;
  115. _gtk_reserved2 : procedure ; cdecl;
  116. _gtk_reserved3 : procedure ; cdecl;
  117. _gtk_reserved4 : procedure ; cdecl;
  118. _gtk_reserved5 : procedure ; cdecl;
  119. _gtk_reserved6 : procedure ; cdecl;
  120. _gtk_reserved7 : procedure ; cdecl;
  121. _gtk_reserved8 : procedure ; cdecl;
  122. end;
  123. {$ENDIF read_interface_types}
  124. //------------------------------------------------------------------------------
  125. {$IFDEF read_interface_rest}
  126. const
  127. GTK_TEXT_VIEW_PRIORITY_VALIDATE = GDK_PRIORITY_REDRAW + 5;
  128. bm_TGtkTextView_editable = $1;
  129. bp_TGtkTextView_editable = 0;
  130. bm_TGtkTextView_overwrite_mode = $2;
  131. bp_TGtkTextView_overwrite_mode = 1;
  132. bm_TGtkTextView_cursor_visible = $4;
  133. bp_TGtkTextView_cursor_visible = 2;
  134. bm_TGtkTextView_need_im_reset = $8;
  135. bp_TGtkTextView_need_im_reset = 3;
  136. bm_TGtkTextView_just_selected_element = $10;
  137. bp_TGtkTextView_just_selected_element = 4;
  138. bm_TGtkTextView_disable_scroll_on_focus = $20;
  139. bp_TGtkTextView_disable_scroll_on_focus = 5;
  140. bm_TGtkTextView_onscreen_validated = $40;
  141. bp_TGtkTextView_onscreen_validated = 6;
  142. bm_TGtkTextView_mouse_cursor_obscured = $80;
  143. bp_TGtkTextView_mouse_cursor_obscured = 7;
  144. function GTK_TYPE_TEXT_VIEW : GType;
  145. function GTK_TEXT_VIEW(obj: pointer) : PGtkTextView;
  146. function GTK_TEXT_VIEW_CLASS(klass: pointer) : PGtkTextViewClass;
  147. function GTK_IS_TEXT_VIEW(obj: pointer) : boolean;
  148. function GTK_IS_TEXT_VIEW_CLASS(klass: pointer) : boolean;
  149. function GTK_TEXT_VIEW_GET_CLASS(obj: pointer) : PGtkTextViewClass;
  150. function editable(var a : TGtkTextView) : guint; overload;
  151. procedure set_editable(var a : TGtkTextView; __editable : guint); overload;
  152. function overwrite_mode(var a : TGtkTextView) : guint; overload;
  153. procedure set_overwrite_mode(var a : TGtkTextView; __overwrite_mode : guint); overload;
  154. function cursor_visible(var a : TGtkTextView) : guint; overload;
  155. procedure set_cursor_visible(var a : TGtkTextView; __cursor_visible : guint); overload;
  156. function need_im_reset(var a : TGtkTextView) : guint; overload;
  157. procedure set_need_im_reset(var a : TGtkTextView; __need_im_reset : guint); overload;
  158. function just_selected_element(var a : TGtkTextView) : guint;
  159. procedure set_just_selected_element(var a : TGtkTextView; __just_selected_element : guint);
  160. function disable_scroll_on_focus(var a : TGtkTextView) : guint;
  161. procedure set_disable_scroll_on_focus(var a : TGtkTextView; __disable_scroll_on_focus : guint);
  162. function onscreen_validated(var a : TGtkTextView) : guint;
  163. procedure set_onscreen_validated(var a : TGtkTextView; __onscreen_validated : guint);
  164. function mouse_cursor_obscured(var a : TGtkTextView) : guint; overload;
  165. procedure set_mouse_cursor_obscured(var a : TGtkTextView; __mouse_cursor_obscured : guint); overload;
  166. function gtk_text_view_get_type:TGtkType; cdecl; external gtklib;
  167. function gtk_text_view_new:PGtkWidget; cdecl; external gtklib;
  168. function gtk_text_view_new_with_buffer(buffer:PGtkTextBuffer):PGtkWidget; cdecl; external gtklib;
  169. procedure gtk_text_view_set_buffer(text_view:PGtkTextView; buffer:PGtkTextBuffer); cdecl; external gtklib;
  170. function gtk_text_view_get_buffer(text_view:PGtkTextView):PGtkTextBuffer; cdecl; external gtklib;
  171. function gtk_text_view_scroll_to_iter(text_view:PGtkTextView; iter:PGtkTextIter; within_margin:gdouble; use_align:gboolean; xalign:gdouble;
  172. yalign:gdouble):gboolean; cdecl; external gtklib;
  173. procedure gtk_text_view_scroll_to_mark(text_view:PGtkTextView; mark:PGtkTextMark; within_margin:gdouble; use_align:gboolean; xalign:gdouble;
  174. yalign:gdouble); cdecl; external gtklib;
  175. procedure gtk_text_view_scroll_mark_onscreen(text_view:PGtkTextView; mark:PGtkTextMark); cdecl; external gtklib;
  176. function gtk_text_view_move_mark_onscreen(text_view:PGtkTextView; mark:PGtkTextMark):gboolean; cdecl; external gtklib;
  177. function gtk_text_view_place_cursor_onscreen(text_view:PGtkTextView):gboolean; cdecl; external gtklib;
  178. procedure gtk_text_view_get_visible_rect(text_view:PGtkTextView; visible_rect:PGdkRectangle); cdecl; external gtklib;
  179. procedure gtk_text_view_set_cursor_visible(text_view:PGtkTextView; setting:gboolean); cdecl; external gtklib;
  180. function gtk_text_view_get_cursor_visible(text_view:PGtkTextView):gboolean; cdecl; external gtklib;
  181. procedure gtk_text_view_get_iter_location(text_view:PGtkTextView; iter:PGtkTextIter; location:PGdkRectangle); cdecl; external gtklib;
  182. procedure gtk_text_view_get_iter_at_location(text_view:PGtkTextView; iter:PGtkTextIter; x:gint; y:gint); cdecl; external gtklib;
  183. procedure gtk_text_view_get_line_yrange(text_view:PGtkTextView; iter:PGtkTextIter; y:Pgint; height:Pgint); cdecl; external gtklib;
  184. procedure gtk_text_view_get_line_at_y(text_view:PGtkTextView; target_iter:PGtkTextIter; y:gint; line_top:Pgint); cdecl; external gtklib;
  185. procedure gtk_text_view_buffer_to_window_coords(text_view:PGtkTextView; win:TGtkTextWindowType; buffer_x:gint; buffer_y:gint; window_x:Pgint;
  186. window_y:Pgint); cdecl; external gtklib;
  187. procedure gtk_text_view_window_to_buffer_coords(text_view:PGtkTextView; win:TGtkTextWindowType; window_x:gint; window_y:gint; buffer_x:Pgint;
  188. buffer_y:Pgint); cdecl; external gtklib;
  189. function gtk_text_view_get_window(text_view:PGtkTextView; win:TGtkTextWindowType):PGdkWindow; cdecl; external gtklib;
  190. function gtk_text_view_get_window_type(text_view:PGtkTextView; window:PGdkWindow):TGtkTextWindowType; cdecl; external gtklib;
  191. procedure gtk_text_view_set_border_window_size(text_view:PGtkTextView; _type:TGtkTextWindowType; size:gint); cdecl; external gtklib;
  192. function gtk_text_view_get_border_window_size(text_view:PGtkTextView; _type:TGtkTextWindowType):gint; cdecl; external gtklib;
  193. function gtk_text_view_forward_display_line(text_view:PGtkTextView; iter:PGtkTextIter):gboolean; cdecl; external gtklib;
  194. function gtk_text_view_backward_display_line(text_view:PGtkTextView; iter:PGtkTextIter):gboolean; cdecl; external gtklib;
  195. function gtk_text_view_forward_display_line_end(text_view:PGtkTextView; iter:PGtkTextIter):gboolean; cdecl; external gtklib;
  196. function gtk_text_view_backward_display_line_start(text_view:PGtkTextView; iter:PGtkTextIter):gboolean; cdecl; external gtklib;
  197. function gtk_text_view_starts_display_line(text_view:PGtkTextView; iter:PGtkTextIter):gboolean; cdecl; external gtklib;
  198. function gtk_text_view_move_visually(text_view:PGtkTextView; iter:PGtkTextIter; count:gint):gboolean; cdecl; external gtklib;
  199. { Adding child widgets }
  200. procedure gtk_text_view_add_child_at_anchor(text_view:PGtkTextView; child:PGtkWidget; anchor:PGtkTextChildAnchor); cdecl; external gtklib;
  201. { window coordinates }
  202. procedure gtk_text_view_add_child_in_window(text_view:PGtkTextView; child:PGtkWidget; which_window:TGtkTextWindowType; xpos:gint; ypos:gint); cdecl; external gtklib;
  203. { window coordinates }
  204. procedure gtk_text_view_move_child(text_view:PGtkTextView; child:PGtkWidget; xpos:gint; ypos:gint); cdecl; external gtklib;
  205. { Default style settings (fallbacks if no tag affects the property) }
  206. procedure gtk_text_view_set_wrap_mode(text_view:PGtkTextView; wrap_mode:TGtkWrapMode); cdecl; external gtklib;
  207. function gtk_text_view_get_wrap_mode(text_view:PGtkTextView):TGtkWrapMode; cdecl; external gtklib;
  208. procedure gtk_text_view_set_editable(text_view:PGtkTextView; setting:gboolean); cdecl; external gtklib;
  209. function gtk_text_view_get_editable(text_view:PGtkTextView):gboolean; cdecl; external gtklib;
  210. procedure gtk_text_view_set_pixels_above_lines(text_view:PGtkTextView; pixels_above_lines:gint); cdecl; external gtklib;
  211. function gtk_text_view_get_pixels_above_lines(text_view:PGtkTextView):gint; cdecl; external gtklib;
  212. procedure gtk_text_view_set_pixels_below_lines(text_view:PGtkTextView; pixels_below_lines:gint); cdecl; external gtklib;
  213. function gtk_text_view_get_pixels_below_lines(text_view:PGtkTextView):gint; cdecl; external gtklib;
  214. procedure gtk_text_view_set_pixels_inside_wrap(text_view:PGtkTextView; pixels_inside_wrap:gint); cdecl; external gtklib;
  215. function gtk_text_view_get_pixels_inside_wrap(text_view:PGtkTextView):gint; cdecl; external gtklib;
  216. procedure gtk_text_view_set_justification(text_view:PGtkTextView; justification:TGtkJustification); cdecl; external gtklib;
  217. function gtk_text_view_get_justification(text_view:PGtkTextView):TGtkJustification; cdecl; external gtklib;
  218. procedure gtk_text_view_set_left_margin(text_view:PGtkTextView; left_margin:gint); cdecl; external gtklib;
  219. function gtk_text_view_get_left_margin(text_view:PGtkTextView):gint; cdecl; external gtklib;
  220. procedure gtk_text_view_set_right_margin(text_view:PGtkTextView; right_margin:gint); cdecl; external gtklib;
  221. function gtk_text_view_get_right_margin(text_view:PGtkTextView):gint; cdecl; external gtklib;
  222. procedure gtk_text_view_set_indent(text_view:PGtkTextView; indent:gint); cdecl; external gtklib;
  223. function gtk_text_view_get_indent(text_view:PGtkTextView):gint; cdecl; external gtklib;
  224. procedure gtk_text_view_set_tabs(text_view:PGtkTextView; tabs:PPangoTabArray); cdecl; external gtklib;
  225. function gtk_text_view_get_tabs(text_view:PGtkTextView):PPangoTabArray; cdecl; external gtklib;
  226. { note that the return value of this changes with the theme }
  227. function gtk_text_view_get_default_attributes(text_view:PGtkTextView):PGtkTextAttributes; cdecl; external gtklib;
  228. {$IFDEF HasGTK2_4}
  229. procedure gtk_text_view_set_overwrite(text_view: PGtkTextView; overwrite: gboolean ); cdecl; external gtklib;
  230. function gtk_text_view_get_overwrite(text_view: PGtkTextView):gboolean; cdecl; external gtklib;
  231. procedure gtk_text_view_set_accepts_tab(text_view: PGtkTextView; accepts_tab: gboolean ); cdecl; external gtklib;
  232. function gtk_text_view_get_accepts_tab(text_view: PGtkTextView): gboolean; cdecl; external gtklib;
  233. {$ENDIF HasGTK2_4}
  234. {$ENDIF read_interface_rest}
  235. //------------------------------------------------------------------------------
  236. {$IFDEF read_implementation}
  237. function GTK_TYPE_TEXT_VIEW : GType;
  238. begin
  239. GTK_TYPE_TEXT_VIEW:=gtk_text_view_get_type;
  240. end;
  241. function GTK_TEXT_VIEW(obj: pointer) : PGtkTextView;
  242. begin
  243. GTK_TEXT_VIEW:=PGtkTextView(GTK_CHECK_CAST(obj,GTK_TYPE_TEXT_VIEW));
  244. end;
  245. function GTK_TEXT_VIEW_CLASS(klass: pointer) : PGtkTextViewClass;
  246. begin
  247. GTK_TEXT_VIEW_CLASS:=PGtkTextViewClass(GTK_CHECK_CLASS_CAST(klass,GTK_TYPE_TEXT_VIEW));
  248. end;
  249. function GTK_IS_TEXT_VIEW(obj: pointer) : boolean;
  250. begin
  251. GTK_IS_TEXT_VIEW:=GTK_CHECK_TYPE(obj,GTK_TYPE_TEXT_VIEW);
  252. end;
  253. function GTK_IS_TEXT_VIEW_CLASS(klass: pointer) : boolean;
  254. begin
  255. GTK_IS_TEXT_VIEW_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GTK_TYPE_TEXT_VIEW);
  256. end;
  257. function GTK_TEXT_VIEW_GET_CLASS(obj: pointer) : PGtkTextViewClass;
  258. begin
  259. GTK_TEXT_VIEW_GET_CLASS:=PGtkTextViewClass(GTK_CHECK_GET_CLASS(obj,GTK_TYPE_TEXT_VIEW));
  260. end;
  261. function editable(var a : TGtkTextView) : guint;
  262. begin
  263. editable:=(a.flag0 and bm_TGtkTextView_editable) shr bp_TGtkTextView_editable;
  264. end;
  265. procedure set_editable(var a : TGtkTextView; __editable : guint);
  266. begin
  267. a.flag0:=a.flag0 or ((__editable shl bp_TGtkTextView_editable) and bm_TGtkTextView_editable);
  268. end;
  269. function overwrite_mode(var a : TGtkTextView) : guint;
  270. begin
  271. overwrite_mode:=(a.flag0 and bm_TGtkTextView_overwrite_mode) shr bp_TGtkTextView_overwrite_mode;
  272. end;
  273. procedure set_overwrite_mode(var a : TGtkTextView; __overwrite_mode : guint);
  274. begin
  275. a.flag0:=a.flag0 or ((__overwrite_mode shl bp_TGtkTextView_overwrite_mode) and bm_TGtkTextView_overwrite_mode);
  276. end;
  277. function cursor_visible(var a : TGtkTextView) : guint;
  278. begin
  279. cursor_visible:=(a.flag0 and bm_TGtkTextView_cursor_visible) shr bp_TGtkTextView_cursor_visible;
  280. end;
  281. procedure set_cursor_visible(var a : TGtkTextView; __cursor_visible : guint);
  282. begin
  283. a.flag0:=a.flag0 or ((__cursor_visible shl bp_TGtkTextView_cursor_visible) and bm_TGtkTextView_cursor_visible);
  284. end;
  285. function need_im_reset(var a : TGtkTextView) : guint;
  286. begin
  287. need_im_reset:=(a.flag0 and bm_TGtkTextView_need_im_reset) shr bp_TGtkTextView_need_im_reset;
  288. end;
  289. procedure set_need_im_reset(var a : TGtkTextView; __need_im_reset : guint);
  290. begin
  291. a.flag0:=a.flag0 or ((__need_im_reset shl bp_TGtkTextView_need_im_reset) and bm_TGtkTextView_need_im_reset);
  292. end;
  293. function just_selected_element(var a : TGtkTextView) : guint;
  294. begin
  295. just_selected_element:=(a.flag0 and bm_TGtkTextView_just_selected_element) shr bp_TGtkTextView_just_selected_element;
  296. end;
  297. procedure set_just_selected_element(var a : TGtkTextView; __just_selected_element : guint);
  298. begin
  299. a.flag0:=a.flag0 or ((__just_selected_element shl bp_TGtkTextView_just_selected_element) and bm_TGtkTextView_just_selected_element);
  300. end;
  301. function disable_scroll_on_focus(var a : TGtkTextView) : guint;
  302. begin
  303. disable_scroll_on_focus:=(a.flag0 and bm_TGtkTextView_disable_scroll_on_focus) shr bp_TGtkTextView_disable_scroll_on_focus;
  304. end;
  305. procedure set_disable_scroll_on_focus(var a : TGtkTextView; __disable_scroll_on_focus : guint);
  306. begin
  307. a.flag0:=a.flag0 or ((__disable_scroll_on_focus shl bp_TGtkTextView_disable_scroll_on_focus) and bm_TGtkTextView_disable_scroll_on_focus);
  308. end;
  309. function onscreen_validated(var a : TGtkTextView) : guint;
  310. begin
  311. onscreen_validated:=(a.flag0 and bm_TGtkTextView_onscreen_validated) shr bp_TGtkTextView_onscreen_validated;
  312. end;
  313. procedure set_onscreen_validated(var a : TGtkTextView; __onscreen_validated : guint);
  314. begin
  315. a.flag0:=a.flag0 or ((__onscreen_validated shl bp_TGtkTextView_onscreen_validated) and bm_TGtkTextView_onscreen_validated);
  316. end;
  317. function mouse_cursor_obscured(var a : TGtkTextView) : guint;
  318. begin
  319. mouse_cursor_obscured:=(a.flag0 and bm_TGtkTextView_mouse_cursor_obscured) shr bp_TGtkTextView_mouse_cursor_obscured;
  320. end;
  321. procedure set_mouse_cursor_obscured(var a : TGtkTextView; __mouse_cursor_obscured : guint);
  322. begin
  323. a.flag0:=a.flag0 or ((__mouse_cursor_obscured shl bp_TGtkTextView_mouse_cursor_obscured) and bm_TGtkTextView_mouse_cursor_obscured);
  324. end;
  325. {$ENDIF read_implementation}
  326. // included by gtk2.pas