Sha256: 67334c26d16641dd16ed786ec725ee82c3a22aa8bcc7ac0b0744b715086da1cc

Contents?: true

Size: 668 Bytes

Versions: 22

Compression:

Stored size: 668 Bytes

Contents

#include <Gosu/Platform.hpp>
#if defined(GOSU_IS_MAC)

#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 <mach/mach_time.h>

unsigned long Gosu::milliseconds()
{
    static mach_timebase_info_data_t info;
    static uint64_t first_tick = [] {
        mach_timebase_info(&info);
        return mach_absolute_time();
    }();
    
    uint64_t runtime = mach_absolute_time() - first_tick;
    return runtime * info.numer / info.denom / 1000000;
}

#endif

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
gosu-1.4.1 src/TimingApple.cpp
gosu-1.4.0 src/TimingApple.cpp
gosu-1.3.0 src/TimingApple.cpp
gosu-1.2.0 src/TimingApple.cpp
gosu-1.1.1.1 src/TimingApple.cpp
gosu-1.1.0 src/TimingApple.cpp
gosu-1.1.0.pre2 src/TimingApple.cpp
gosu-1.1.0.pre1 src/TimingApple.cpp
gosu-1.0.0 src/TimingApple.cpp
gosu-1.0.0.pre2 src/TimingApple.cpp
gosu-1.0.0.pre1 src/TimingApple.cpp
gosu-0.15.2 src/TimingApple.cpp
gosu-0.15.1 src/TimingApple.cpp
gosu-0.15.0 src/TimingApple.cpp
gosu-0.14.6.pre1 src/TimingApple.cpp
gosu-0.14.5 src/TimingApple.cpp
gosu-0.14.4 src/TimingApple.cpp
gosu-0.14.4.pre2 src/TimingApple.cpp
gosu-0.14.3.pre1 src/TimingApple.cpp
gosu-0.14.3 src/TimingApple.cpp