| Irrlicht 3D Engine |

ITimer.h
Go to the documentation of this file.

    00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_TIMER_H_INCLUDED__
    00006 #define __I_TIMER_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009
    00010 namespace irr
    00011 {
    00012
    00014 class ITimer : public virtual IReferenceCounted
    00015 {
    00016 public:
    00018
    00022     virtual u32 getRealTime() const = 0;
    00023
    00024     enum EWeekday
    00025     {
    00026         EWD_SUNDAY=0,
    00027         EWD_MONDAY,
    00028         EWD_TUESDAY,
    00029         EWD_WEDNESDAY,
    00030         EWD_THURSDAY,
    00031         EWD_FRIDAY,
    00032         EWD_SATURDAY
    00033     };
    00034
    00035     struct RealTimeDate
    00036     {
    00037         // Hour of the day, from 0 to 23
    00038         u32 Hour;
    00039         // Minute of the hour, from 0 to 59
    00040         u32 Minute;
    00041         // Second of the minute, due to extra seconds from 0 to 61
    00042         u32 Second;
    00043         // Year of the gregorian calender
    00044         s32 Year;
    00045         // Month of the year, from 1 to 12
    00046         u32 Month;
    00047         // Day of the month, from 1 to 31
    00048         u32 Day;
    00049         // Weekday for the current day
    00050         EWeekday Weekday;
    00051         // Day of the year, from 1 to 366
    00052         u32 Yearday;
    00053         // Whether daylight saving is on
    00054         bool IsDST;
    00055     };
    00056
    00057     virtual RealTimeDate getRealTimeAndDate() const = 0;
    00058
    00060
    00064     virtual u32 getTime() const = 0;
    00065
    00067     virtual void setTime(u32 time) = 0;
    00068
    00070
    00073     virtual void stop() = 0;
    00074
    00076
    00079     virtual void start() = 0;
    00080
    00082
    00084     virtual void setSpeed(f32 speed = 1.0f) = 0;
    00085
    00087
    00089     virtual f32 getSpeed() const = 0;
    00090
    00092     virtual bool isStopped() const = 0;
    00093
    00095
    00098     virtual void tick() = 0;
    00099 };
    00100
    00101 } // end namespace irr
    00102
    00103 #endif