aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDeduper.h
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-09-13 08:09:45 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-13 08:09:45 -0700
commit54dc4878b02765efea39e68b218df1e4bfff4b88 (patch)
tree296347d73c08b8b1d0a0b244ca062434ac48caa1 /src/core/SkDeduper.h
parent5f1d0f61ea182829826d9d76cb85346d3e23305d (diff)
add pipecanvas
Diffstat (limited to 'src/core/SkDeduper.h')
-rw-r--r--src/core/SkDeduper.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/core/SkDeduper.h b/src/core/SkDeduper.h
new file mode 100644
index 0000000000..f82f4fd8c2
--- /dev/null
+++ b/src/core/SkDeduper.h
@@ -0,0 +1,39 @@
+/*
+ * 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 "SkTypes.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