CanvTxtInfo.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
- '"
- '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
- '"
- '" See the file "license.terms" for information on usage and redistribution
- '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- '"
- '" RCS: @(#) $Id: CanvTxtInfo.3,v 1.2 1998/09/14 18:22:46 stanton Exp $
- '"
- .so man.macros
- .TH Tk_CanvasTextInfo 3 4.0 Tk "Tk Library Procedures"
- .BS
- .SH NAME
- Tk_CanvasTextInfo - additional information for managing text items in canvases
- .SH SYNOPSIS
- .nf
- fB#include <tk.h>fR
- .sp
- Tk_CanvasTextInfo *
- fBTk_CanvasGetTextInfofR(fIcanvasfR)
- .SH ARGUMENTS
- .AS Tk_Canvas canvas
- .AP Tk_Canvas canvas in
- A token that identifies a particular canvas widget.
- .BE
- .SH DESCRIPTION
- .PP
- Textual canvas items are somewhat more complicated to manage than
- other items, due to things like the selection and the input focus.
- fBTk_CanvasGetTextInfofR may be invoked by a type manager
- to obtain additional information needed for items that display text.
- The return value from fBTk_CanvasGetTextInfofR is a pointer to
- a structure that is shared between Tk and all the items that display
- text.
- The structure has the following form:
- .CS
- typedef struct Tk_CanvasTextInfo {
- Tk_3DBorder fIselBorderfR;
- int fIselBorderWidthfR;
- XColor *fIselFgColorPtrfR;
- Tk_Item *fIselItemPtrfR;
- int fIselectFirstfR;
- int fIselectLastfR;
- Tk_Item *fIanchorItemPtrfR;
- int fIselectAnchorfR;
- Tk_3DBorder fIinsertBorderfR;
- int fIinsertWidthfR;
- int fIinsertBorderWidthfR;
- Tk_Item *fIfocusItemPtrfR;
- int fIgotFocusfR;
- int fIcursorOnfR;
- } Tk_CanvasTextInfo;
- .CE
- The fBselBorderfR field identifies a Tk_3DBorder that should be
- used for drawing the background under selected text.
- fIselBorderWidthfR gives the width of the raised border around
- selected text, in pixels.
- fIselFgColorPtrfR points to an XColor that describes the foreground
- color to be used when drawing selected text.
- fIselItemPtrfR points to the item that is currently selected, or
- NULL if there is no item selected or if the canvas doesn't have the
- selection.
- fIselectFirstfR and fIselectLastfR give the indices of the first
- and last selected characters in fIselItemPtrfR, as returned by the
- fIindexProcfR for that item.
- fIanchorItemPtrfR points to the item that currently has the selection
- anchor; this is not necessarily the same as fIselItemPtrfR.
- fIselectAnchorfR is an index that identifies the anchor position
- within fIanchorItemPtrfR.
- fIinsertBorderfR contains a Tk_3DBorder to use when drawing the
- insertion cursor; fIinsertWidthfR gives the total width of the
- insertion cursor in pixels, and fIinsertBorderWidthfR gives the
- width of the raised border around the insertion cursor.
- fIfocusItemPtrfR identifies the item that currently has the input
- focus, or NULL if there is no such item.
- fIgotFocusfR is 1 if the canvas widget has the input focus and
- 0 otherwise.
- fIcursorOnfR is 1 if the insertion cursor should be drawn in
- fIfocusItemPtrfR and 0 if it should not be drawn; this field
- is toggled on and off by Tk to make the cursor blink.
- .PP
- The structure returned by fBTk_CanvasGetTextInfofR
- is shared between Tk and the type managers; typically the type manager
- calls fBTk_CanvasGetTextInfofR once when an item is created and
- then saves the pointer in the item's record.
- Tk will update information in the Tk_CanvasTextInfo; for example,
- a fBconfigurefR widget command might change the fIselBorderfR
- field, or a fBselectfR widget command might change the fIselectFirstfR
- field, or Tk might change fIcursorOnfR in order to make the insertion
- cursor flash on and off during successive redisplays.
- .PP
- Type managers should treat all of the fields of the Tk_CanvasTextInfo
- structure as read-only, except for fIselItemPtrfR, fIselectFirstfR,
- fIselectLastfR, and fIselectAnchorfR.
- Type managers may change fIselectFirstfR, fIselectLastfR, and
- fIselectAnchorfR to adjust for insertions and deletions in the
- item (but only if the item is the current owner of the selection or
- anchor, as determined by fIselItemPtrfR or fIanchorItemPtrfR).
- If all of the selected text in the item is deleted, the item should
- set fIselItemPtrfR to NULL to indicate that there is no longer a
- selection.
- .SH KEYWORDS
- canvas, focus, insertion cursor, selection, selection anchor, text