diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2004-01-05 20:26:19 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2004-01-05 20:26:19 +0000 |
commit | 258c929f64adc92812b7d966a07ef9712686e54a (patch) | |
tree | b61d46ba69aad98c6bcbab4e7eaea5648a41dc7e /byterun/rotatecursor.h | |
parent | b1b67be7ad15b951b0debb039304af2a8fb37ceb (diff) | |
download | ocaml-258c929f64adc92812b7d966a07ef9712686e54a.tar.gz |
PR#1914,PR#1956, suppression du portage Mac OS 9
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/rotatecursor.h')
-rw-r--r-- | byterun/rotatecursor.h | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/byterun/rotatecursor.h b/byterun/rotatecursor.h deleted file mode 100644 index 0fedabc67c..0000000000 --- a/byterun/rotatecursor.h +++ /dev/null @@ -1,124 +0,0 @@ -/***********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Damien Doligez, projet Para, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* $Id$ */ - -/* rotatecursor library, written by <Damien.Doligez@inria.fr> - This file is in the public domain. - - version 1.13 - - The goal of this library is to help implement cooperative multitasking - for MPW tools: to make sure that your program calls RotateCursor often - enough (about 20 times per second) but not too often (to avoid a big - slowdown). - It can also be used for applications with a little more work. - - - Simple usage for MPW tools: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 1. #include this file where appropriate - 2. Insert the following line in every loop of your program: - ROTATECURSOR_MAGIC (); - The overhead of this macro is only a few CPU cycles, so it can be - used without problem even in tight loops. - - - Simple usage for applications: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 1. Write a function with prototype: - pascal void myaction (long x); - This functions should get and handle all events until the event - queue is empty (i.e. until it gets a null event). It should also - animate the cursor. - 2. #include this file where appropriate - 3. Add this line to the init code of your program: - rotatecursor_options (NULL, 0, &myaction); - 4. Insert the following line in every loop of your program: - ROTATECURSOR_MAGIC (); - The overhead of this macro is only a few CPU cycles, so it can be - used without problem even in tight loops. - 5. If there is no function called RotateCursor in your libraries, you - will have to provide one that does nothing (it will not be called). - - See below for advanced options. -*/ - -#ifndef _rotatecursor_h_ -#define _rotatecursor_h_ - -extern int volatile rotatecursor_flag; -/* - [rotatecursor_flag] will be automagically set to 1 when the time comes - to call [rotatecursor_ticker]. -*/ - - -void rotatecursor_options (int volatile *p1, int period, - pascal void (*action) (long)); -/* - Use [rotatecursor_options] to change advanced parameters: - - 1. [p1] is a pointer to another variable that will be set to 1 when - the time is up, unless it is already nonzero. Typical use is when - you already have a variable in your program that is set - asynchronously for something else, and you want to avoid testing - two different variables in your inner loop. Pass [NULL] in this - argument if you don't need this feature. - - 2. [period] is the interval (in milliseconds) between calls to - RotateCursor. Reasonable values are between 10 and 200. - If you pass 0 in this argument, the default value (50) will - be used. This value is passed to PrimeTime, so a negative value - represents a delay in microseconds (not very useful here...) - - 3. [action] is the function that will be called at regular intervals - by [rotatecursor_ticker]. If you pass [NULL] in this argument, - the default function, [RotateCursor], will be called. -*/ - -int rotatecursor_rearm (void); -/* - [rotatecursor_rearm] resets [rotatecursor_flag] to 0 and rearms the - Time Manager task that will set [rotatecursor_flag] to 1 after the - appropriate delay. - You can use [rotatecursor_rearm] if some part of your program needs - to perform a periodic action that is not the normal one set up - with [rotatecursor_options]. - This function always returns 0. -*/ - -int rotatecursor_ticker (void); -/* - [rotatecursor_ticker] calls [rotatecursor_rearm] (see below) and your - [action] function (or [RotateCursor]). - This function always returns 0. It returns an int so you can use - it in an expression as well as a statement. - */ - -#define ROTATECURSOR_MAGIC() (rotatecursor_flag ? rotatecursor_ticker () : 0) -/* - [ROTATECURSOR_MAGIC] is a simple interface to [rotatecursor_flag] - and [rotatecursor_ticker]. Can be used as a statement (followed by - a semicolon) or in an expression (followed by a comma). -*/ - -void rotatecursor_final (void); -/* - [rotatecursor_final] is set up (with [atexit]) to be called before your - program finishes. If for any reason the [atexit] functions are not - called before your program exits, you should call this function by hand. - It is harmless to call [rotatecursor_final] twice. -*/ - -#endif /* _rotatecursor_h_ */ |