# timer.h

Go to the documentation of this file.

    00001 /*
    00002   Copyright 1999-2008 ImageMagick Studio LLC, a non-profit organization
    00003   dedicated to making software imaging solutions freely available.
    00004
    00005   You may not use this file except in compliance with the License.
    00006   obtain a copy of the License at
    00007
    00008     http://www.wizards-toolkit.org/script/license.php
    00009
    00010   Unless required by applicable law or agreed to in writing, software
    00011   distributed under the License is distributed on an "AS IS" BASIS,
    00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013   See the License for the specific language governing permissions and
    00014   limitations under the License.
    00015
    00016   Wizard's Toolkit timer methods.
    00017 */
    00018 #ifndef _WIZARDS_TOOLKIT_TIMER_H
    00019 #define _WIZARDS_TOOLKIT_TIMER_H
    00020
    00021 #if defined(__cplusplus) || defined(c_plusplus)
    00022 extern "C" {
    00023 #endif
    00024
    00025 #define WizardEpsilon  1.0e-10
    00026
    00027 typedef enum
    00028 {
    00029   UndefinedTimerState,
    00030   StoppedTimerState,
    00031   RunningTimerState
    00032 } TimerState;
    00033
    00034 typedef struct _Timer
    00035 {
    00036   double
    00037     start,
    00038     stop,
    00039     total;
    00040 } Timer;
    00041
    00042 typedef struct _TimerInfo
    00043   TimerInfo;
    00044
    00045 extern WizardExport double
    00046   GetElapsedTime(TimerInfo *),
    00047   GetUserTime(TimerInfo *);
    00048
    00049 extern WizardExport TimerInfo
    00050   *AcquireTimerInfo(void),
    00051   *DestroyTimerInfo(TimerInfo *);
    00052
    00053 extern WizardExport WizardBooleanType
    00054   ContinueTimer(TimerInfo *);
    00055
    00056 extern WizardExport void
    00057   GetTimerInfo(TimerInfo *),
    00058   ResetTimer(TimerInfo *),
    00059   StartTimer(TimerInfo *,const WizardBooleanType);
    00060
    00061 #if defined(__cplusplus) || defined(c_plusplus)
    00062 }
    00063 #endif
    00064
    00065 #endif