blob: 4ba685f10d62fbfbdd84435ead9006869ae326e4 [file] [log] [blame]
reed54dc4872016-09-13 08:09:45 -07001/*
2 * Copyright 2016 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 SkDeduper_DEFINED
9#define SkDeduper_DEFINED
10
Hal Canary6b20a552017-02-07 14:09:38 -050011#include "SkFlattenable.h"
reed54dc4872016-09-13 08:09:45 -070012
13class SkImage;
14class SkPicture;
15class SkTypeface;
16
17class SkDeduper {
18public:
19 virtual ~SkDeduper() {}
20
21 // These return 0 on failure
22
23 virtual int findOrDefineImage(SkImage*) = 0;
24 virtual int findOrDefinePicture(SkPicture*) = 0;
25 virtual int findOrDefineTypeface(SkTypeface*) = 0;
26 virtual int findOrDefineFactory(SkFlattenable*) = 0;
27};
28
29class SkInflator {
30public:
31 virtual ~SkInflator() {}
32
33 virtual SkImage* getImage(int) = 0;
34 virtual SkPicture* getPicture(int) = 0;
35 virtual SkTypeface* getTypeface(int) = 0;
36 virtual SkFlattenable::Factory getFactory(int) = 0;
37};
38
39#endif