Sha256: 8d865a7068668f88e2321bd638696f81cc0170fe1375a60146aba00c4d1544b2

Contents?: true

Size: 673 Bytes

Versions: 10

Compression:

Stored size: 673 Bytes

Contents

#include <Gosu/Timing.hpp>
#include <unistd.h>

void Gosu::sleep(unsigned milliseconds)
{
	usleep(milliseconds * 1000);
}

// Thanks to this blog for the unconvoluted code example:
// http://shiftedbits.org/2008/10/01/mach_absolute_time-on-the-iphone/

#include <boost/cstdint.hpp>
#include <mach/mach_time.h>

unsigned long Gosu::milliseconds()
{
    static boost::uint64_t firstTick = 0;
    static mach_timebase_info_data_t info;
    
    if (firstTick == 0)
    {
        mach_timebase_info(&info);
        firstTick = mach_absolute_time();
    }

    boost::uint64_t runtime = mach_absolute_time() - firstTick;
	return runtime * info.numer / info.denom / 1000000.0;
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
gosu-0.7.33 GosuImpl/TimingApple.cpp
gosu-0.7.32 GosuImpl/TimingApple.cpp
gosu-0.7.31 GosuImpl/TimingApple.cpp
gosu-0.7.30 GosuImpl/TimingApple.cpp
gosu-0.7.29 GosuImpl/TimingApple.cpp
gosu-0.7.28 GosuImpl/TimingApple.cpp
gosu-0.7.27.1 GosuImpl/TimingApple.cpp
gosu-0.7.27 GosuImpl/TimingApple.cpp
gosu-0.7.26.1 GosuImpl/TimingApple.cpp
gosu-0.7.26 GosuImpl/TimingApple.cpp