OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkTime.h" | 8 #include "SkTime.h" |
9 | 9 |
10 #ifdef SK_BUILD_FOR_WIN | 10 #ifdef SK_BUILD_FOR_WIN |
(...skipping 10 matching lines...) Expand all Loading... |
21 t->fYear = SkToU16(syst.wYear); | 21 t->fYear = SkToU16(syst.wYear); |
22 t->fMonth = SkToU8(syst.wMonth); | 22 t->fMonth = SkToU8(syst.wMonth); |
23 t->fDayOfWeek = SkToU8(syst.wDayOfWeek); | 23 t->fDayOfWeek = SkToU8(syst.wDayOfWeek); |
24 t->fDay = SkToU8(syst.wDay); | 24 t->fDay = SkToU8(syst.wDay); |
25 t->fHour = SkToU8(syst.wHour); | 25 t->fHour = SkToU8(syst.wHour); |
26 t->fMinute = SkToU8(syst.wMinute); | 26 t->fMinute = SkToU8(syst.wMinute); |
27 t->fSecond = SkToU8(syst.wSecond); | 27 t->fSecond = SkToU8(syst.wSecond); |
28 } | 28 } |
29 } | 29 } |
30 | 30 |
31 SkMSec SkTime::GetMSecs() { | |
32 #ifdef SK_DEBUG | |
33 if (gForceTickCount != (SkMSec) -1) { | |
34 return gForceTickCount; | |
35 } | |
36 #endif | |
37 return ::GetTickCount(); | |
38 } | |
39 | |
40 #elif defined(xSK_BUILD_FOR_MAC) | 31 #elif defined(xSK_BUILD_FOR_MAC) |
41 | 32 |
42 #include <time.h> | 33 #include <time.h> |
43 | 34 |
44 void SkTime::GetDateTime(DateTime* t) { | 35 void SkTime::GetDateTime(DateTime* t) { |
45 if (t) { | 36 if (t) { |
46 tm syst; | 37 tm syst; |
47 time_t tm; | 38 time_t tm; |
48 | 39 |
49 time(&tm); | 40 time(&tm); |
50 localtime_r(&tm, &syst); | 41 localtime_r(&tm, &syst); |
51 t->fYear = SkToU16(syst.tm_year); | 42 t->fYear = SkToU16(syst.tm_year); |
52 t->fMonth = SkToU8(syst.tm_mon + 1); | 43 t->fMonth = SkToU8(syst.tm_mon + 1); |
53 t->fDayOfWeek = SkToU8(syst.tm_wday); | 44 t->fDayOfWeek = SkToU8(syst.tm_wday); |
54 t->fDay = SkToU8(syst.tm_mday); | 45 t->fDay = SkToU8(syst.tm_mday); |
55 t->fHour = SkToU8(syst.tm_hour); | 46 t->fHour = SkToU8(syst.tm_hour); |
56 t->fMinute = SkToU8(syst.tm_min); | 47 t->fMinute = SkToU8(syst.tm_min); |
57 t->fSecond = SkToU8(syst.tm_sec); | 48 t->fSecond = SkToU8(syst.tm_sec); |
58 } | 49 } |
59 } | 50 } |
60 | 51 |
61 SkMSec SkTime::GetMSecs() { | |
62 UnsignedWide wide; | |
63 ::Microseconds(&wide); | |
64 | |
65 int64_t s = ((int64_t)wide.hi << 32) | wide.lo; | |
66 s = (s + 500) / 1000; // rounded divide | |
67 return (SkMSec)s; | |
68 } | |
69 | |
70 #endif | 52 #endif |
OLD | NEW |