LCOV - code coverage report
Current view: top level - gfx/skia/skia/src/core - SkVertState.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 7 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             :  * 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             : #ifndef SkVertState_DEFINED
       9             : #define SkVertState_DEFINED
      10             : 
      11             : #include "SkVertices.h"
      12             : 
      13             : /** \struct VertState
      14             :     This is a helper for drawVertices(). It is used to iterate over the triangles
      15             :     that are to be rendered based on an SkCanvas::VertexMode and (optionally) an
      16             :     index array. It does not copy the index array and the client must ensure it
      17             :     remains valid for the lifetime of the VertState object.
      18             : */
      19             : 
      20             : struct VertState {
      21             :     int f0, f1, f2;
      22             : 
      23             :     /**
      24             :      *  Construct a VertState from a vertex count, index array, and index count.
      25             :      *  If the vertices are unindexed pass nullptr for indices.
      26             :      */
      27           0 :     VertState(int vCount, const uint16_t indices[], int indexCount)
      28           0 :             : fIndices(indices) {
      29           0 :         fCurrIndex = 0;
      30           0 :         if (indices) {
      31           0 :             fCount = indexCount;
      32             :         } else {
      33           0 :             fCount = vCount;
      34             :         }
      35           0 :     }
      36             : 
      37             :     typedef bool (*Proc)(VertState*);
      38             : 
      39             :     /**
      40             :      *  Choose an appropriate function to traverse the vertices.
      41             :      *  @param mode    Specifies the SkCanvas::VertexMode.
      42             :      */
      43             :     Proc chooseProc(SkVertices::VertexMode mode);
      44             : 
      45             : private:
      46             :     int             fCount;
      47             :     int             fCurrIndex;
      48             :     const uint16_t* fIndices;
      49             : 
      50             :     static bool Triangles(VertState*);
      51             :     static bool TrianglesX(VertState*);
      52             :     static bool TriangleStrip(VertState*);
      53             :     static bool TriangleStripX(VertState*);
      54             :     static bool TriangleFan(VertState*);
      55             :     static bool TriangleFanX(VertState*);
      56             : };
      57             : 
      58             : #endif

Generated by: LCOV version 1.13