1/* 2 * Copyright 2014 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 SkBBHFactory_DEFINED 9#define SkBBHFactory_DEFINED 10 11#include "SkRect.h" 12 13class SkBBoxHierarchy; 14 15class SK_API SkBBHFactory { 16public: 17 /** 18 * Allocate a new SkBBoxHierarchy. Return NULL on failure. 19 */ 20 virtual SkBBoxHierarchy* operator()(const SkRect& bounds) const = 0; 21 virtual ~SkBBHFactory() {}; 22}; 23 24class SK_API SkRTreeFactory : public SkBBHFactory { 25public: 26 SkBBoxHierarchy* operator()(const SkRect& bounds) const override; 27private: 28 typedef SkBBHFactory INHERITED; 29}; 30 31#endif 32