annotate man/lispref/mouse.texi @ 800:a5954632b187

[xemacs-hg @ 2002-03-31 08:27:14 by ben] more fixes, first crack at finishing behavior implementation TODO.ben-mule-21-5: Update. configure.in: Fix for new error-checking types. make-mswin-unicode.pl: Don't be fucked up by CRLF. Output code to force errors when nonintercepted Windows calls issued. behavior.el, dumped-lisp.el, menubar-items.el: Add support for saving using custom. Load into a dumped XEmacs. Correct :title to :short-doc in accordance with behavior-defs.el. Add a submenu under Options for turning on/off behaviors. cl-macs.el: Properly document `loop'. Fix a minor bug in keymap iteration and add support for bit-vector iteration. lisp-mode.el: Rearrange and add items for macro expanding. menubar-items.el: Document connection between these two functions. window.el: Port stuff from GNU 21.1. config.inc.samp, xemacs.mak: Separate out and add new variable for controlling error-checking. s/windowsnt.h: Use new ERROR_CHECK_ALL; not related to DEBUG_XEMACS. alloc.c, backtrace.h, buffer.c, buffer.h, bytecode.c, callproc.c, casetab.c, charset.h, chartab.c, cmdloop.c, config.h.in, console-msw.c, console-stream.c, console-tty.c, console.c, console.h, data.c, device-msw.c, device.c, device.h, dired-msw.c, dired.c, dumper.c, editfns.c, eldap.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, file-coding.h, fileio.c, frame-msw.c, frame.c, frame.h, glyphs-gtk.c, glyphs-msw.c, glyphs-shared.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, insdel.c, intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, intl-win32.c, keymap.c, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-x.c, menubar.c, mule-coding.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, opaque.c, print.c, process-nt.c, process-unix.c, process.c, rangetab.c, redisplay-msw.c, redisplay-output.c, redisplay.c, regex.c, scrollbar-msw.c, select-msw.c, signal.c, specifier.c, specifier.h, symbols.c, sysdep.c, syswindows.h, text.c, text.h, toolbar-msw.c, tooltalk.c, ui-gtk.c, unicode.c, window.c: Redo error-checking macros: ERROR_CHECK_TYPECHECK -> ERROR_CHECK_TYPES, ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add ERROR_CHECK_DISPLAY, ERROR_CHECK_STRUCTURES. Document these in config.h.in. Fix code to follow docs. Fix *_checking_assert() in accordance with new names. Attempt to fix periodic redisplay crash freeing display line structures. Add first implementation of sledgehammer redisplay check. Redo print_*() to use write_fmt_string(), write_fmt_string_lisp(). Fix bug in md5 handling. Rename character-to-unicode to char-to-unicode; same for unicode-to-char{acter}. Move chartab documentation to `make-char-table'. Some header cleanup. Clean up remaining places where nonintercepted Windows calls are being used. automated/mule-tests.el: Fix for new Unicode support.
author ben
date Sun, 31 Mar 2002 08:30:17 +0000 (2002-03-31)
parents 576fb035e263
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @c This is part of the XEmacs Lisp Reference Manual.
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
3 @c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @c See the file lispref.texi for copying conditions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @setfilename ../../info/mouse.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @node Mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @chapter The Mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @cindex mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 * Mouse Position:: Asking where the mouse is, or moving it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @ignore @c Not in XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @node Mouse Tracking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @section Mouse Tracking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @cindex mouse tracking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @cindex tracking the mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 (deleted)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 @c These are not implemented yet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 These functions change the screen appearance instantaneously. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 effect is transient, only until the next ordinary XEmacs redisplay. That
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 is ok for mouse tracking, since it doesn't make sense for mouse tracking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 to change the text, and the body of @code{track-mouse} normally reads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 the events itself and does not do redisplay.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
30 @defun x-contour-region window start end
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
31 This function draws lines to make a box around the text from @var{start}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 to @var{end}, in window @var{window}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
35 @defun x-uncontour-region window start end
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 This function erases the lines that would make a box around the text
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 0
diff changeset
37 from @var{start} to @var{end}, in window @var{window}. Use it to remove
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 a contour that you previously made by calling @code{x-contour-region}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @defun x-draw-rectangle frame left top right bottom
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 This function draws a hollow rectangle on frame @var{frame} with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 specified edge coordinates, all measured in pixels from the inside top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 left corner. It uses the cursor color, the one used for indicating the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 location of point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @defun x-erase-rectangle frame left top right bottom
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 This function erases a hollow rectangle on frame @var{frame} with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 specified edge coordinates, all measured in pixels from the inside top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 left corner. Erasure means redrawing the text and background that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 normally belong in the specified rectangle.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 @node Mouse Position
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @section Mouse Position
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 @cindex mouse position
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 @cindex position of mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 The functions @code{mouse-position}, @code{mouse-pixel-position},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @code{set-mouse-position} and @code{set-mouse-pixel-position} give
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 access to the current position of the mouse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 @defun mouse-position &optional device
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 This function returns a list (@var{window} @var{x} . @var{y}) giving the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 current mouse window and position. The position is given in character
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 cells, where @samp{(0, 0)} is the upper-left corner.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 @var{device} specifies the device on which to read the mouse position,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 and defaults to the selected device. If the device is a mouseless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 terminal or XEmacs hasn't been programmed to read its mouse position, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 returns the device's selected window for @var{window} and @code{nil} for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 @var{x} and @var{y}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 @defun mouse-pixel-position &optional device
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 This function returns a list (@var{window} @var{x} . @var{y}) giving the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 current mouse window and position. The position is given in pixel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 units, where @samp{(0, 0)} is the upper-left corner.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 @var{device} specifies the device on which to read the mouse position,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 and defaults to the selected device. If the device is a mouseless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 terminal or XEmacs hasn't been programmed to read its mouse position, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 returns the device's selected window for @var{window} and @code{nil} for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 @var{x} and @var{y}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 @defun set-mouse-position window x y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 This function @dfn{warps the mouse} to the center of character position
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @var{x}, @var{y} in frame @var{window}. The arguments @var{x} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 @var{y} are integers, giving the position in characters relative to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 the top left corner of @var{window}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 @cindex warping the mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 @cindex mouse warping
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 Warping the mouse means changing the screen position of the mouse as if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 the user had moved the physical mouse---thus simulating the effect of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 actual mouse motion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 @end defun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 @defun set-mouse-pixel-position window x y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 This function @dfn{warps the mouse} to pixel position @var{x}, @var{y}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 in frame @var{window}. The arguments @var{x} and @var{y} are integers,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 giving the position in pixels relative to the top left corner of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 @var{window}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 @end defun