Line data Source code
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 0 : virtual ~SkBBHFactory() {}
22 : };
23 :
24 0 : 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
|