Home | History | Annotate | Download | only in core
      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 SkDeviceProperties_DEFINED
      9 #define SkDeviceProperties_DEFINED
     10 
     11 #include "SkSurfacePriv.h"
     12 
     13 struct SkDeviceProperties {
     14     enum InitType {
     15         kLegacyLCD_InitType
     16     };
     17 
     18     SkDeviceProperties(InitType, float gamma = SK_GAMMA_EXPONENT)
     19         : fGamma(gamma)
     20         , fPixelGeometry(SkSurfacePropsDefaultPixelGeometry())
     21     {}
     22 
     23     SkDeviceProperties(SkPixelGeometry geo, float gamma = SK_GAMMA_EXPONENT)
     24         : fGamma(gamma)
     25         , fPixelGeometry(geo)
     26     {}
     27 
     28     SkPixelGeometry pixelGeometry() const { return fPixelGeometry; }
     29     float gamma() const { return fGamma; }
     30 
     31     void setPixelGeometry(SkPixelGeometry geo) {
     32         fPixelGeometry = geo;
     33     }
     34 
     35 private:
     36     const float   fGamma;
     37     SkPixelGeometry fPixelGeometry;
     38 };
     39 
     40 #endif
     41