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
13struct 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
35private:
36    const float   fGamma;
37    SkPixelGeometry fPixelGeometry;
38};
39
40#endif
41