blob: 5194b028cbbd80f838f806c7f5d430e679694840 [file] [log] [blame]
senorblanco@chromium.org92727612009-11-04 20:51:06 +00001/* libs/graphics/ports/SkTime_Unix.cpp
2**
3** Copyright 2009, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9** http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18#include "SkTime.h"
19
20void SkTime::GetDateTime(DateTime* dt)
21{
22 if (dt)
23 {
24 SYSTEMTIME st;
25 GetSystemTime(&st);
26
27 dt->fYear = st.wYear;
28 dt->fMonth = SkToU8(st.wMonth + 1);
29 dt->fDayOfWeek = SkToU8(st.wDayOfWeek);
30 dt->fDay = SkToU8(st.wDay);
31 dt->fHour = SkToU8(st.wHour);
32 dt->fMinute = SkToU8(st.wMinute);
33 dt->fSecond = SkToU8(st.wSecond);
34 }
35}
36
37SkMSec SkTime::GetMSecs()
38{
39 FILETIME ft;
40 LARGE_INTEGER li;
41 GetSystemTimeAsFileTime(&ft);
42 li.LowPart = ft.dwLowDateTime;
43 li.HighPart = ft.dwHighDateTime;
44 __int64 t = li.QuadPart; /* In 100-nanosecond intervals */
45 return t / 10000; /* In milliseconds */
46}