summaryrefslogtreecommitdiffstats
path: root/generic/tkInt.h
diff options
context:
space:
mode:
authorhobbs <hobbs>2002-06-17 20:09:01 (GMT)
committerhobbs <hobbs>2002-06-17 20:09:01 (GMT)
commit25f604e4d2e56721809b177202db73a38df2491e (patch)
tree2526b5918abac20b6e67ff9f285600bd7cf3d3f4 /generic/tkInt.h
parenta984d974f6b3123815d8116428afe8e51e025f31 (diff)
downloadtk-25f604e4d2e56721809b177202db73a38df2491e.zip
tk-25f604e4d2e56721809b177202db73a38df2491e.tar.gz
tk-25f604e4d2e56721809b177202db73a38df2491e.tar.bz2
* generic/tkCmds.c (Tk_TkObjCmd):
* generic/tkInt.h (struct TkCaret): * mac/tkMacXStubs.c (Tk_SetCaretPos): * unix/tkUnixKey.c (TkpGetString, Tk_SetCaretPos): * win/tkWinX.c (Tk_SetCaretPos): * tests/tk.test: Added 'tk caret' implementation of TIP#96 * doc/SetCaret.3 (new): which adds a TkCaret structure element to * doc/tk.n: TkDisplay for maintaining state.
Diffstat (limited to 'generic/tkInt.h')
-rw-r--r--generic/tkInt.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/generic/tkInt.h b/generic/tkInt.h
index e2a3eb6..f6576d8 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: $Id: tkInt.h,v 1.49 2002/06/15 02:15:51 hobbs Exp $
+ * RCS: $Id: tkInt.h,v 1.50 2002/06/17 20:09:01 hobbs Exp $
*/
#ifndef _TKINT
@@ -92,6 +92,21 @@ typedef struct TkCursor {
#endif
/*
+ * The following structure is kept one-per-TkDisplay to maintain information
+ * about the caret (cursor location) on this display. This is used to
+ * dictate global focus location (Windows Accessibility guidelines) and to
+ * position the IME or XIM over-the-spot window.
+ */
+
+typedef struct TkCaret {
+ struct TkWindow *winPtr; /* the window on which we requested caret
+ * placement */
+ int x; /* relative x coord of the caret */
+ int y; /* relative y coord of the caret */
+ int height; /* specified height of the window */
+} TkCaret;
+
+/*
* One of the following structures is maintained for each display
* containing a window managed by Tk. In part, the structure is
* used to store thread-specific data, since each thread will have
@@ -488,6 +503,8 @@ typedef struct TkDisplay {
long deletionEpoch; /* Incremented by window deletions */
unsigned int flags; /* Various flag values: these are all
* defined in below. */
+ TkCaret caret; /* information about the caret for this
+ * display. This is not a pointer. */
} TkDisplay;
/*