| /* |
| * 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 SkDeferredDisplayList_DEFINED |
| #define SkDeferredDisplayList_DEFINED |
| |
| #include "SkSurfaceCharacterization.h" |
| |
| class SkImage; // TODO: rm this |
| |
| /* |
| * This class contains pre-processed gpu operations that can be replayed into |
| * an SkSurface via draw(SkDeferredDisplayList*). |
| * |
| * TODO: we probably need to expose this class so users can query it for memory usage. |
| */ |
| class SkDeferredDisplayList { |
| public: |
| SkDeferredDisplayList(const SkSurfaceCharacterization& characterization, |
| sk_sp<SkImage> image) // TODO rm this parameter |
| : fCharacterization(characterization) |
| , fImage(std::move(image)) { |
| } |
| |
| const SkSurfaceCharacterization& characterization() const { |
| return fCharacterization; |
| } |
| |
| // TODO: remove this. It is just scaffolding to get something up & running |
| void draw(SkSurface*); |
| |
| private: |
| SkSurfaceCharacterization fCharacterization; |
| |
| // TODO: actually store the GPU opLists |
| sk_sp<SkImage> fImage; |
| }; |
| |
| #endif |