/* * Copyright 2014 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkBBHFactory_DEFINED #define SkBBHFactory_DEFINED #include "SkRect.h" class SkBBoxHierarchy; class SK_API SkBBHFactory { public: /** * Allocate a new SkBBoxHierarchy. Return NULL on failure. */ virtual SkBBoxHierarchy* operator()(const SkRect& bounds) const = 0; virtual ~SkBBHFactory() {}; }; class SK_API SkRTreeFactory : public SkBBHFactory { public: SkBBoxHierarchy* operator()(const SkRect& bounds) const override; private: typedef SkBBHFactory INHERITED; }; #endif