CanvTxtInfo.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: CanvTxtInfo.3,v 1.2 1998/09/14 18:22:46 stanton Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tk_CanvasTextInfo 3 4.0 Tk "Tk Library Procedures"
  11. .BS
  12. .SH NAME
  13. Tk_CanvasTextInfo - additional information for managing text items in canvases
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tk.h>fR
  17. .sp
  18. Tk_CanvasTextInfo *
  19. fBTk_CanvasGetTextInfofR(fIcanvasfR)
  20. .SH ARGUMENTS
  21. .AS Tk_Canvas canvas
  22. .AP Tk_Canvas canvas in
  23. A token that identifies a particular canvas widget.
  24. .BE
  25. .SH DESCRIPTION
  26. .PP
  27. Textual canvas items are somewhat more complicated to manage than
  28. other items, due to things like the selection and the input focus.
  29. fBTk_CanvasGetTextInfofR may be invoked by a type manager
  30. to obtain additional information needed for items that display text.
  31. The return value from fBTk_CanvasGetTextInfofR is a pointer to
  32. a structure that is shared between Tk and all the items that display
  33. text.
  34. The structure has the following form:
  35. .CS
  36. typedef struct Tk_CanvasTextInfo {
  37. Tk_3DBorder fIselBorderfR;
  38. int fIselBorderWidthfR;
  39. XColor *fIselFgColorPtrfR;
  40. Tk_Item *fIselItemPtrfR;
  41. int fIselectFirstfR;
  42. int fIselectLastfR;
  43. Tk_Item *fIanchorItemPtrfR;
  44. int fIselectAnchorfR;
  45. Tk_3DBorder fIinsertBorderfR;
  46. int fIinsertWidthfR;
  47. int fIinsertBorderWidthfR;
  48. Tk_Item *fIfocusItemPtrfR;
  49. int fIgotFocusfR;
  50. int fIcursorOnfR;
  51. } Tk_CanvasTextInfo;
  52. .CE
  53. The fBselBorderfR field identifies a Tk_3DBorder that should be
  54. used for drawing the background under selected text.
  55. fIselBorderWidthfR gives the width of the raised border around
  56. selected text, in pixels.
  57. fIselFgColorPtrfR points to an XColor that describes the foreground
  58. color to be used when drawing selected text.
  59. fIselItemPtrfR points to the item that is currently selected, or
  60. NULL if there is no item selected or if the canvas doesn't have the
  61. selection.
  62. fIselectFirstfR and fIselectLastfR give the indices of the first
  63. and last selected characters in fIselItemPtrfR, as returned by the
  64. fIindexProcfR for that item.
  65. fIanchorItemPtrfR points to the item that currently has the selection
  66. anchor;  this is not necessarily the same as fIselItemPtrfR.
  67. fIselectAnchorfR is an index that identifies the anchor position
  68. within fIanchorItemPtrfR.
  69. fIinsertBorderfR contains a Tk_3DBorder to use when drawing the
  70. insertion cursor;  fIinsertWidthfR gives the total width of the
  71. insertion cursor in pixels, and fIinsertBorderWidthfR gives the
  72. width of the raised  border around the insertion cursor.
  73. fIfocusItemPtrfR identifies the item that currently has the input
  74. focus, or NULL if there is no such item.
  75. fIgotFocusfR is 1 if the canvas widget has the input focus and
  76. 0 otherwise.
  77. fIcursorOnfR is 1 if the insertion cursor should be drawn in
  78. fIfocusItemPtrfR and 0 if it should not be drawn;  this field
  79. is toggled on and off by Tk to make the cursor blink.
  80. .PP
  81. The structure returned by fBTk_CanvasGetTextInfofR
  82. is shared between Tk and the type managers;  typically the type manager
  83. calls fBTk_CanvasGetTextInfofR once when an item is created and
  84. then saves the pointer in the item's record.
  85. Tk will update information in the Tk_CanvasTextInfo;  for example,
  86. a fBconfigurefR widget command might change the fIselBorderfR
  87. field, or a fBselectfR widget command might change the fIselectFirstfR
  88. field, or Tk might change fIcursorOnfR in order to make the insertion
  89. cursor flash on and off during successive redisplays.
  90. .PP
  91. Type managers should treat all of the fields of the Tk_CanvasTextInfo
  92. structure as read-only, except for fIselItemPtrfR, fIselectFirstfR,
  93. fIselectLastfR, and fIselectAnchorfR.
  94. Type managers may change fIselectFirstfR, fIselectLastfR, and
  95. fIselectAnchorfR to adjust for insertions and deletions in the
  96. item (but only if the item is the current owner of the selection or
  97. anchor, as determined by fIselItemPtrfR or fIanchorItemPtrfR).
  98. If all of the selected text in the item is deleted, the item should
  99. set fIselItemPtrfR to NULL to indicate that there is no longer a
  100. selection.
  101. .SH KEYWORDS
  102. canvas, focus, insertion cursor, selection, selection anchor, text