[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c,v
From: |
Adrian Robert |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c,v |
Date: |
Tue, 15 Jul 2008 13:04:03 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Adrian Robert <arobert> 08/07/15 13:04:01
Index: xdisp.c
===================================================================
RCS file: /sources/emacs/emacs/src/xdisp.c,v
retrieving revision 1.1231
retrieving revision 1.1232
diff -u -b -r1.1231 -r1.1232
--- xdisp.c 10 Jul 2008 23:47:00 -0000 1.1231
+++ xdisp.c 15 Jul 2008 13:04:00 -0000 1.1232
@@ -852,6 +852,25 @@
static struct glyph_slice null_glyph_slice = { 0, 0, 0, 0 };
+/* Platform-independent portion of hourglass implementation. */
+
+/* Non-zero means we're allowed to display a hourglass pointer. */
+int display_hourglass_p;
+
+/* Non-zero means an hourglass cursor is currently shown. */
+int hourglass_shown_p;
+
+/* If non-null, an asynchronous timer that, when it expires, displays
+ an hourglass cursor on all frames. */
+struct atimer *hourglass_atimer;
+
+/* Number of seconds to wait before displaying an hourglass cursor. */
+static Lisp_Object Vhourglass_delay;
+
+/* Default number of seconds to wait before displaying an hourglass
+ cursor. */
+#define DEFAULT_HOURGLASS_DELAY 1
+
/* Function prototypes. */
@@ -25143,6 +25162,18 @@
with fonts that specify an UNDERLINE_POSITION relatively close to the
baseline. The default value is 1. */);
underline_minimum_offset = 1;
+
+ DEFVAR_BOOL ("display-hourglass", &display_hourglass_p,
+ doc: /* Non-zero means Emacs displays an hourglass pointer on
window systems. */);
+ display_hourglass_p = 1;
+
+ DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay,
+ doc: /* *Seconds to wait before displaying an hourglass pointer.
+Value must be an integer or float. */);
+ Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY);
+
+ hourglass_atimer = NULL;
+ hourglass_shown_p = 0;
}
@@ -25198,6 +25229,64 @@
help_echo_showing_p = 0;
}
+/* Platform-independent portion of hourglass implementation. */
+
+/* Return non-zero if houglass timer has been started or hourglass is shown.
*/
+int
+hourglass_started ()
+{
+ return hourglass_shown_p || hourglass_atimer != NULL;
+}
+
+
+/* Cancel a currently active hourglass timer, and start a new one. */
+void
+start_hourglass ()
+{
+#if defined (HAVE_WINDOW_SYSTEM)
+ EMACS_TIME delay;
+ int secs, usecs = 0;
+
+ cancel_hourglass ();
+
+ if (INTEGERP (Vhourglass_delay)
+ && XINT (Vhourglass_delay) > 0)
+ secs = XFASTINT (Vhourglass_delay);
+ else if (FLOATP (Vhourglass_delay)
+ && XFLOAT_DATA (Vhourglass_delay) > 0)
+ {
+ Lisp_Object tem;
+ tem = Ftruncate (Vhourglass_delay, Qnil);
+ secs = XFASTINT (tem);
+ usecs = (XFLOAT_DATA (Vhourglass_delay) - secs) * 1000000;
+ }
+ else
+ secs = DEFAULT_HOURGLASS_DELAY;
+
+ EMACS_SET_SECS_USECS (delay, secs, usecs);
+ hourglass_atimer = start_atimer (ATIMER_RELATIVE, delay,
+ show_hourglass, NULL);
+#endif
+}
+
+
+/* Cancel the hourglass cursor timer if active, hide a busy cursor if
+ shown. */
+void
+cancel_hourglass ()
+{
+#if defined (HAVE_WINDOW_SYSTEM)
+ if (hourglass_atimer)
+ {
+ cancel_atimer (hourglass_atimer);
+ hourglass_atimer = NULL;
+ }
+
+ if (hourglass_shown_p)
+ hide_hourglass ();
+#endif
+}
+
/* arch-tag: eacc864d-bb6a-4b74-894a-1a4399a1358b
(do not change this comment) */
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Miles Bader, 2008/07/01
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Jason Rumney, 2008/07/02
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Chong Yidong, 2008/07/05
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Andreas Schwab, 2008/07/05
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Chong Yidong, 2008/07/05
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Chong Yidong, 2008/07/10
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v,
Adrian Robert <=
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Jason Rumney, 2008/07/15
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Adrian Robert, 2008/07/15
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Chong Yidong, 2008/07/16
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Adrian Robert, 2008/07/17
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Jason Rumney, 2008/07/23
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Dan Nicolaescu, 2008/07/27
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Andreas Schwab, 2008/07/28
- [Emacs-diffs] Changes to emacs/src/xdisp.c,v, Chong Yidong, 2008/07/28