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

          Line data    Source code
       1             : /*
       2             :  * Copyright 2014 Google Inc.
       3             :  *
       4             :  * Use of this source code is governed by a BSD-style license that can be
       5             :  * found in the LICENSE file.
       6             :  */
       7             : 
       8             : #include "SkTDArray.h"
       9             : 
      10             : #ifndef GrTraceMarkerSet_DEFINED
      11             : #define GrTraceMarkerSet_DEFINED
      12             : 
      13             : class GrGpuTraceMarker {
      14             : public:
      15             :     GrGpuTraceMarker(const char* marker, int idCounter) : fMarker(marker), fID(idCounter) {}
      16             : 
      17           0 :     bool operator<(const GrGpuTraceMarker& rhs) const {
      18           0 :         return this->fMarker < rhs.fMarker || (this->fMarker == rhs.fMarker && this->fID < rhs.fID);
      19             :     }
      20             : 
      21           0 :     bool operator==(const GrGpuTraceMarker& rhs) const {
      22           0 :         return (this->fID == rhs.fID && this->fMarker == rhs.fMarker);
      23             :     }
      24             : 
      25             :     const char* fMarker;
      26             :     int fID;
      27             : };
      28             : 
      29             : ///////////////////////////////////////////////////////////////////////////////
      30             : 
      31             : class SkString;
      32             : 
      33             : class GrTraceMarkerSet {
      34             : public:
      35             :     GrTraceMarkerSet() {}
      36             : 
      37             :     GrTraceMarkerSet(const GrTraceMarkerSet& other);
      38             : 
      39             :     // Adds marker to the set.
      40             :     void add(const GrGpuTraceMarker& marker);
      41             :     // Adds all markers from one set into this set.
      42             :     void addSet(const GrTraceMarkerSet& markerSet);
      43             : 
      44             :     void remove(const GrGpuTraceMarker& marker);
      45             : 
      46             :     int count() const;
      47             : 
      48             :     /**
      49             :      * First sorts fMarkerArray and returns a string of the format
      50             :      * MarkerName1(#,#,...)%MarkerName2(#,#,...):... where MarkerName is the
      51             :      * marker string used in the TraceMarker and the (#,#,..) is a list of instance
      52             :      * id's for the the given marker string
      53             :      */
      54             :     SkString toString() const;
      55             : 
      56             :     SkString toStringLast() const;
      57             : 
      58             :     class Iter;
      59             : 
      60             :     Iter begin() const;
      61             : 
      62             :     Iter end() const;
      63             : 
      64             : private:
      65             :     mutable SkTDArray<GrGpuTraceMarker> fMarkerArray;
      66             : };
      67             : 
      68             : class GrTraceMarkerSet::Iter {
      69             : public:
      70             :     Iter() {}
      71             :     Iter& operator=(const Iter& i) {
      72             :         fCurrentIndex = i.fCurrentIndex;
      73             :         fMarkers = i.fMarkers;
      74             :         return *this;
      75             :     }
      76           0 :     bool operator==(const Iter& i) const {
      77           0 :         return fCurrentIndex == i.fCurrentIndex && fMarkers == i.fMarkers;
      78             :     }
      79           0 :     bool operator!=(const Iter& i) const { return !(*this == i); }
      80           0 :     const GrGpuTraceMarker& operator*() const { return fMarkers->fMarkerArray[fCurrentIndex]; }
      81           0 :     Iter& operator++() {
      82           0 :         SkASSERT(*this != fMarkers->end());
      83           0 :         ++fCurrentIndex;
      84           0 :         return *this;
      85             :     }
      86             : 
      87             : private:
      88             :     friend class GrTraceMarkerSet;
      89           0 :     Iter(const GrTraceMarkerSet* markers, int index)
      90           0 :             : fMarkers(markers), fCurrentIndex(index) {
      91           0 :         SkASSERT(markers);
      92           0 :     }
      93             : 
      94             :     const GrTraceMarkerSet* fMarkers;
      95             :     int fCurrentIndex;
      96             : };
      97             : 
      98             : #endif

Generated by: LCOV version 1.13