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

          Line data    Source code
       1             : /*
       2             :  * Copyright 2015 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 GrSamplerParams_DEFINED
       9             : #define GrSamplerParams_DEFINED
      10             : 
      11             : #include "GrTypes.h"
      12             : #include "SkShader.h"
      13             : 
      14             : /**
      15             :  * Represents the filtering and tile modes used to access a texture.
      16             :  */
      17             : class GrSamplerParams {
      18             : public:
      19           0 :     static const GrSamplerParams& ClampNoFilter() {
      20           0 :         static const GrSamplerParams gParams;
      21           0 :         return gParams;
      22             :     }
      23             :     static const GrSamplerParams& ClampBilerp() {
      24             :         static const GrSamplerParams gParams(SkShader::kClamp_TileMode, kBilerp_FilterMode);
      25             :         return gParams;
      26             :     }
      27             : 
      28           0 :     GrSamplerParams() {
      29           0 :         this->reset();
      30           0 :     }
      31             : 
      32             :     enum FilterMode {
      33             :         kNone_FilterMode,
      34             :         kBilerp_FilterMode,
      35             :         kMipMap_FilterMode
      36             :     };
      37             : 
      38           0 :     GrSamplerParams(SkShader::TileMode tileXAndY, FilterMode filterMode) {
      39           0 :         this->reset(tileXAndY, filterMode);
      40           0 :     }
      41             : 
      42           0 :     GrSamplerParams(const SkShader::TileMode tileModes[2], FilterMode filterMode) {
      43           0 :         this->reset(tileModes, filterMode);
      44           0 :     }
      45             : 
      46             :     GrSamplerParams(const GrSamplerParams& params) {
      47             :         *this = params;
      48             :     }
      49             : 
      50           0 :     GrSamplerParams& operator= (const GrSamplerParams& params) {
      51           0 :         fTileModes[0] = params.fTileModes[0];
      52           0 :         fTileModes[1] = params.fTileModes[1];
      53           0 :         fFilterMode = params.fFilterMode;
      54           0 :         return *this;
      55             :     }
      56             : 
      57           0 :     void reset() {
      58           0 :         this->reset(SkShader::kClamp_TileMode, kNone_FilterMode);
      59           0 :     }
      60             : 
      61           0 :     void reset(SkShader::TileMode tileXAndY, FilterMode filterMode) {
      62           0 :         fTileModes[0] = fTileModes[1] = tileXAndY;
      63           0 :         fFilterMode = filterMode;
      64           0 :     }
      65             : 
      66           0 :     void reset(const SkShader::TileMode tileModes[2], FilterMode filterMode) {
      67           0 :         fTileModes[0] = tileModes[0];
      68           0 :         fTileModes[1] = tileModes[1];
      69           0 :         fFilterMode = filterMode;
      70           0 :     }
      71             : 
      72             :     void setClampNoFilter() {
      73             :         fTileModes[0] = fTileModes[1] = SkShader::kClamp_TileMode;
      74             :         fFilterMode = kNone_FilterMode;
      75             :     }
      76             : 
      77             :     void setClamp() {
      78             :         fTileModes[0] = fTileModes[1] = SkShader::kClamp_TileMode;
      79             :     }
      80             : 
      81           0 :     void setFilterMode(FilterMode filterMode) { fFilterMode = filterMode; }
      82             : 
      83           0 :     void setTileModeX(const SkShader::TileMode tm) { fTileModes[0] = tm; }
      84             :     void setTileModeY(const SkShader::TileMode tm) { fTileModes[1] = tm; }
      85             :     void setTileModeXAndY(const SkShader::TileMode tm) { fTileModes[0] = fTileModes[1] = tm; }
      86             : 
      87           0 :     SkShader::TileMode getTileModeX() const { return fTileModes[0]; }
      88             : 
      89           0 :     SkShader::TileMode getTileModeY() const { return fTileModes[1]; }
      90             : 
      91           0 :     bool isTiled() const {
      92           0 :         return SkShader::kClamp_TileMode != fTileModes[0] ||
      93           0 :                SkShader::kClamp_TileMode != fTileModes[1];
      94             :     }
      95             : 
      96           0 :     FilterMode filterMode() const { return fFilterMode; }
      97             : 
      98           0 :     bool operator== (const GrSamplerParams& other) const {
      99           0 :         return fTileModes[0] == other.fTileModes[0] &&
     100           0 :                fTileModes[1] == other.fTileModes[1] &&
     101           0 :                fFilterMode == other.fFilterMode;
     102             :     }
     103             : 
     104             :     bool operator!= (const GrSamplerParams& other) const { return !(*this == other); }
     105             : 
     106             : private:
     107             :     SkShader::TileMode fTileModes[2];
     108             :     FilterMode         fFilterMode;
     109             : };
     110             : #endif

Generated by: LCOV version 1.13