| /* |
| * Copyright 2017 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef SkSurfaceCharacterization_DEFINED |
| #define SkSurfaceCharacterization_DEFINED |
| |
| #include "GrTypes.h" |
| |
| class SkSurface; |
| |
| // This class captures all the pertinent data about an SkSurface required |
| // to perform cpu-preprocessing for gpu-rendering. |
| class SkSurfaceCharacterization { |
| public: |
| SkSurfaceCharacterization() |
| : fOrigin(kBottomLeft_GrSurfaceOrigin) |
| , fWidth(0) |
| , fHeight(0) |
| , fConfig(kRGBA_8888_GrPixelConfig) |
| , fSampleCnt(0) { |
| } |
| |
| void set(GrSurfaceOrigin origin, |
| int width, int height, |
| GrPixelConfig config, |
| int sampleCnt) { |
| fOrigin = origin; |
| fWidth = width; |
| fHeight = height; |
| fConfig = config; |
| fSampleCnt = sampleCnt; |
| } |
| |
| GrSurfaceOrigin origin() const { return fOrigin; } |
| int width() const { return fWidth; } |
| int height() const { return fHeight; } |
| GrPixelConfig config() const { return fConfig; } |
| int sampleCount() const { return fSampleCnt; } |
| |
| private: |
| GrSurfaceOrigin fOrigin; |
| int fWidth; |
| int fHeight; |
| GrPixelConfig fConfig; |
| int fSampleCnt; |
| // TODO: need to include caps! |
| // Maybe use GrContextThreadSafeProxy (it has the caps & the unique Context ID already) |
| }; |
| |
| #endif |