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)
fGammaSkDeviceProperties19         : fGamma(gamma)
20         , fPixelGeometry(SkSurfacePropsDefaultPixelGeometry())
21     {}
22 
23     SkDeviceProperties(SkPixelGeometry geo, float gamma = SK_GAMMA_EXPONENT)
fGammaSkDeviceProperties24         : fGamma(gamma)
25         , fPixelGeometry(geo)
26     {}
27 
pixelGeometrySkDeviceProperties28     SkPixelGeometry pixelGeometry() const { return fPixelGeometry; }
gammaSkDeviceProperties29     float gamma() const { return fGamma; }
30 
setPixelGeometrySkDeviceProperties31     void setPixelGeometry(SkPixelGeometry geo) {
32         fPixelGeometry = geo;
33     }
34 
35 private:
36     const float   fGamma;
37     SkPixelGeometry fPixelGeometry;
38 };
39 
40 #endif
41