annotate man/lispref/mouse.texi @ 5044:e84a30b0e4a2

remove duplicative code in change_frame_size() -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-15 Ben Wing <ben@xemacs.org> * frame.c (change_frame_size_1): Simplify the logic in this function. (1) Don't allow 0 as the value of height or width. The old code that tried to allow this was totally broken, anyway, so obviously this never happens any more. (2) Don't duplicate the code in frame_conversion_internal() that converts displayable pixel size to total pixel size -- just call that function.
author Ben Wing <ben@xemacs.org>
date Mon, 15 Feb 2010 22:58:10 -0600
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