LCOV - code coverage report
Current view: top level - gfx/skia/skia/src/core - SkPerspIter.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             :  * Copyright 2006 The Android Open Source Project
       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             : 
       9             : #ifndef SkPerspIter_DEFINED
      10             : #define SkPerspIter_DEFINED
      11             : 
      12             : #include "SkFixed.h"
      13             : #include "SkMatrix.h"
      14             : 
      15             : class SkPerspIter {
      16             : public:
      17             :     /** Iterate a line through the matrix [x,y] ... [x+count-1, y].
      18             :         @param m    The matrix we will be iterating a line through
      19             :         @param x    The initial X coordinate to be mapped through the matrix
      20             :         @param y    The initial Y coordinate to be mapped through the matrix
      21             :         @param count The number of points (x,y) (x+1,y) (x+2,y) ... we will eventually map
      22             :     */
      23             :     SkPerspIter(const SkMatrix& m, SkScalar x, SkScalar y, int count);
      24             : 
      25             :     /** Return the buffer of [x,y] fixed point values we will be filling.
      26             :         This always returns the same value, so it can be saved across calls to
      27             :         next().
      28             :     */
      29           0 :     const SkFixed* getXY() const { return fStorage; }
      30             : 
      31             :     /** Return the number of [x,y] pairs that have been filled in the getXY() buffer.
      32             :         When this returns 0, the iterator is finished.
      33             :     */
      34             :     int next();
      35             : 
      36             : private:
      37             :     enum {
      38             :         kShift  = 4,
      39             :         kCount  = (1 << kShift)
      40             :     };
      41             :     const SkMatrix& fMatrix;
      42             :     SkFixed         fStorage[kCount * 2];
      43             :     SkFixed         fX, fY;
      44             :     SkScalar        fSX, fSY;
      45             :     int             fCount;
      46             : };
      47             : 
      48             : #endif

Generated by: LCOV version 1.13