| /* |
| * Copyright 2016 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef SkDeduper_DEFINED |
| #define SkDeduper_DEFINED |
| |
| #include "SkFlattenable.h" |
| |
| class SkImage; |
| class SkPicture; |
| class SkTypeface; |
| |
| class SkDeduper { |
| public: |
| virtual ~SkDeduper() {} |
| |
| // These return 0 on failure |
| |
| virtual int findOrDefineImage(SkImage*) = 0; |
| virtual int findOrDefinePicture(SkPicture*) = 0; |
| virtual int findOrDefineTypeface(SkTypeface*) = 0; |
| virtual int findOrDefineFactory(SkFlattenable*) = 0; |
| }; |
| |
| class SkInflator { |
| public: |
| virtual ~SkInflator() {} |
| |
| virtual SkImage* getImage(int) = 0; |
| virtual SkPicture* getPicture(int) = 0; |
| virtual SkTypeface* getTypeface(int) = 0; |
| virtual SkFlattenable::Factory getFactory(int) = 0; |
| }; |
| |
| #endif |