Home | History | Annotate | Download | only in core
      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 "SkTypes.h"
     12 class SkBBoxHierarchy;
     13 struct SkRect;
     14 
     15 class SK_API SkBBHFactory {
     16 public:
     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 
     24 class SK_API SkRTreeFactory : public SkBBHFactory {
     25 public:
     26     SkBBoxHierarchy* operator()(const SkRect& bounds) const override;
     27 private:
     28     typedef SkBBHFactory INHERITED;
     29 };
     30 
     31 #endif
     32