LCOV - code coverage report
Current view: top level - gfx/skia/skia/include/core - SkTime.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 1 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : 
       2             : /*
       3             :  * Copyright 2006 The Android Open Source Project
       4             :  *
       5             :  * Use of this source code is governed by a BSD-style license that can be
       6             :  * found in the LICENSE file.
       7             :  */
       8             : 
       9             : 
      10             : #ifndef SkTime_DEFINED
      11             : #define SkTime_DEFINED
      12             : 
      13             : #include "SkTypes.h"
      14             : 
      15             : class SkString;
      16             : 
      17             : /** \class SkTime
      18             :     Platform-implemented utilities to return time of day, and millisecond counter.
      19             : */
      20             : class SK_API SkTime {
      21             : public:
      22             :     struct DateTime {
      23             :         int16_t  fTimeZoneMinutes;  // The number of minutes that GetDateTime()
      24             :                                     // is ahead of or behind UTC.
      25             :         uint16_t fYear;          //!< e.g. 2005
      26             :         uint8_t  fMonth;         //!< 1..12
      27             :         uint8_t  fDayOfWeek;     //!< 0..6, 0==Sunday
      28             :         uint8_t  fDay;           //!< 1..31
      29             :         uint8_t  fHour;          //!< 0..23
      30             :         uint8_t  fMinute;        //!< 0..59
      31             :         uint8_t  fSecond;        //!< 0..59
      32             : 
      33             :         void toISO8601(SkString* dst) const;
      34             :     };
      35             :     static void GetDateTime(DateTime*);
      36             : 
      37             :     static double GetSecs() { return GetNSecs() * 1e-9; }
      38           0 :     static double GetMSecs() { return GetNSecs() * 1e-6; }
      39             :     static double GetNSecs();
      40             : };
      41             : 
      42             : ///////////////////////////////////////////////////////////////////////////////
      43             : 
      44             : class SkAutoTime {
      45             : public:
      46             :     // The label is not deep-copied, so its address must remain valid for the
      47             :     // lifetime of this object
      48             :     SkAutoTime(const char* label = nullptr)
      49             :         : fLabel(label)
      50             :         , fNow(SkTime::GetMSecs()) {}
      51             :     ~SkAutoTime() {
      52             :         uint64_t dur = static_cast<uint64_t>(SkTime::GetMSecs() - fNow);
      53             :         SkDebugf("%s %ld\n", fLabel ? fLabel : "", dur);
      54             :     }
      55             : private:
      56             :     const char* fLabel;
      57             :     double      fNow;
      58             : };
      59             : #define SkAutoTime(...) SK_REQUIRE_LOCAL_VAR(SkAutoTime)
      60             : 
      61             : #endif

Generated by: LCOV version 1.13