aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDeduper.h
diff options
context:
space:
mode:
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