diff options
author | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 13:04:01 +0000 |
---|---|---|
committer | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 13:04:01 +0000 |
commit | 1885ab29b707bfd00da64e6a12b5fb15b57609e8 (patch) | |
tree | c1eb94bf36b628f0b9665e198bbc3f05d4b3e554 /src/macfns.c | |
parent | f5ab8ccc33beedd222e3100453f956b0b3846d4d (diff) | |
download | emacs-1885ab29b707bfd00da64e6a12b5fb15b57609e8.tar.gz |
applying patch to consolidate non-GUI portion of hourglass implementation as posted at http://thread.gmane.org/gmane.emacs.devel/98341
Diffstat (limited to 'src/macfns.c')
-rw-r--r-- | src/macfns.c | 100 |
1 files changed, 2 insertions, 98 deletions
diff --git a/src/macfns.c b/src/macfns.c index 82153da8847..7bf50b3a684 100644 --- a/src/macfns.c +++ b/src/macfns.c @@ -57,10 +57,6 @@ static Lisp_Object Vmac_carbon_version_string; #endif /* TARGET_API_MAC_CARBON */ -/* Non-zero means we're allowed to display an hourglass cursor. */ - -int display_hourglass_p; - /* The background and shape of the mouse pointer, and shape when not over text or in the modeline. */ @@ -3420,89 +3416,6 @@ value. */) Busy cursor ***********************************************************************/ -/* If non-null, an asynchronous timer that, when it expires, displays - an hourglass cursor on all frames. */ - -static struct atimer *hourglass_atimer; - -/* Non-zero means an hourglass cursor is currently shown. */ - -static int hourglass_shown_p; - -/* 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. */ - -static void show_hourglass P_ ((struct atimer *)); -static void hide_hourglass P_ ((void)); - -/* 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 () -{ -#ifdef MAC_OSX - 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 /* MAC_OSX */ -} - - -/* Cancel the hourglass cursor timer if active, hide a busy cursor if - shown. */ - -void -cancel_hourglass () -{ -#ifdef MAC_OSX - if (hourglass_atimer) - { - cancel_atimer (hourglass_atimer); - hourglass_atimer = NULL; - } - - if (hourglass_shown_p) - hide_hourglass (); -#endif /* MAC_OSX */ -} - - /* Timer function of hourglass_atimer. TIMER is equal to hourglass_atimer. @@ -3510,7 +3423,7 @@ cancel_hourglass () arrows) at the upper-right corner of each frame instead of the hourglass pointer. */ -static void +void show_hourglass (timer) struct atimer *timer; { @@ -3545,7 +3458,7 @@ show_hourglass (timer) /* Hide the progress indicators on all frames, if it is currently shown. */ -static void +void hide_hourglass () { #if TARGET_API_MAC_CARBON @@ -4379,15 +4292,6 @@ This variable takes effect when you create a new frame or when you set the mouse color. */); Vx_hourglass_pointer_shape = Qnil; - 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); - #if 0 /* This doesn't really do anything. */ DEFVAR_LISP ("x-mode-pointer-shape", &Vx_mode_pointer_shape, doc: /* The shape of the pointer when over the mode line. |