From ca2e3eff6772f6fb2153ff61687764d6d1444be4 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Thu, 14 Oct 2010 15:53:27 +0200 Subject: [PATCH 1/2] Add frame-pointer-visible-p Signed-off-by: Julien Danjou --- doc/lispref/frames.texi | 7 +++++++ src/ChangeLog | 5 +++++ src/frame.c | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 0 deletions(-) diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index d27010d..854e7b0 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1748,6 +1748,13 @@ If @var{frame} is not visible, this function does nothing. The return value is not significant. @end defun +@defun frame-pointer-visible-p &opt frame +This function return the current visibility status of the mouse +pointer in @var{frame}. This is useful when +@code{make-pointer-invisible} is set to @code{t}: it allows to know if +the pointer has been hidden. +@end defun + @need 3000 @node Pop-Up Menus diff --git a/src/ChangeLog b/src/ChangeLog index da344a4..95d4ad3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -27,6 +27,11 @@ * font.c (Ffont_variation_glyphs): * ccl.c (Fccl_execute_on_string): Fix typo in docstring. +2010-10-14 Julien Danjou + + * frame.c (Fframe_pointer_visible_p): Add + `frame-pointer-visible-p' to get the pointer visibility. + 2010-10-14 Juanma Barranquero * w32fns.c (w32_wnd_proc, file_dialog_callback): diff --git a/src/frame.c b/src/frame.c index 04cc1ca..92c6925 100644 --- a/src/frame.c +++ b/src/frame.c @@ -4314,6 +4314,19 @@ frame_make_pointer_visible (void) } } +DEFUN ("frame-pointer-visible-p", Fframe_pointer_visible_p, + Sframe_pointer_visible_p, 0, 1, 0, + doc: /* Return FRAME pointer visibility status. +This is useful when `make-pointer-invisible' is set. */) + (Lisp_Object frame) +{ + if (NILP (frame)) + frame = selected_frame; + + CHECK_FRAME (frame); + + return (XFRAME (frame)->pointer_invisible ? Qnil : Qt); +} /*********************************************************************** @@ -4623,6 +4636,7 @@ automatically. See also `mouse-autoselect-window'. */); defsubr (&Sset_frame_width); defsubr (&Sset_frame_size); defsubr (&Sset_frame_position); + defsubr (&Sframe_pointer_visible_p); #ifdef HAVE_WINDOW_SYSTEM defsubr (&Sx_get_resource); -- 1.7.1