/* * 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