Sha256: 7416cc607b76a33b87a084369c5a7df087562565238c782f750b0fff1edfb01c

Contents?: true

Size: 699 Bytes

Versions: 16

Compression:

Stored size: 699 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 uint64_t first_tick = 0;
    static mach_timebase_info_data_t info;
    
    if (first_tick == 0) {
        mach_timebase_info(&info);
        first_tick = mach_absolute_time();
    }

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

#endif

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
gosu-0.13.3 src/TimingApple.cpp
gosu-0.13.2 src/TimingApple.cpp
gosu-0.13.1 src/TimingApple.cpp
gosu-0.13.0 src/TimingApple.cpp
gosu-0.12.1 src/TimingApple.cpp
gosu-0.12.0 src/TimingApple.cpp
gosu-0.11.4.pre3 src/TimingApple.cpp
gosu-0.11.4.pre2 src/TimingApple.cpp
gosu-0.11.4.pre1 src/TimingApple.cpp
gosu-0.11.3.1 src/TimingApple.cpp
gosu-0.11.3 src/TimingApple.cpp
gosu-0.11.3.pre1 src/TimingApple.cpp
gosu-0.11.2 src/TimingApple.cpp
gosu-0.11.1 src/TimingApple.cpp
gosu-0.11.1.pre1 src/TimingApple.cpp
gosu-0.11.0 src/TimingApple.cpp