OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkPictureUtils_DEFINED | 8 #ifndef SkPictureUtils_DEFINED |
9 #define SkPictureUtils_DEFINED | 9 #define SkPictureUtils_DEFINED |
10 | 10 |
11 #include "SkPicture.h" | 11 #include "SkPicture.h" |
12 #include "SkTDArray.h" | 12 #include "SkTDArray.h" |
13 | 13 |
14 class SkData; | 14 class SkData; |
15 struct SkRect; | 15 struct SkRect; |
16 | 16 |
17 class SK_API SkPictureUtils { | 17 class SK_API SkPictureUtils { |
18 public: | 18 public: |
19 /** | 19 /** |
20 * Given a rectangular visible "window" into the picture, return an array | 20 * Given a rectangular visible "window" into the picture, return an array |
21 * of SkPixelRefs that might intersect that area. To keep the call fast, | 21 * of SkPixelRefs that might intersect that area. To keep the call fast, |
22 * the returned list is not guaranteed to be exact, so it may miss some, | 22 * the returned list is not guaranteed to be exact, so it may miss some, |
23 * and it may return false positives. | 23 * and it may return false positives. |
24 * | 24 * |
25 * The pixelrefs returned in the SkData are already owned by the picture, | 25 * The pixelrefs returned in the SkData are already owned by the picture, |
26 * so the returned pointers are only valid while the picture is in scope | 26 * so the returned pointers are only valid while the picture is in scope |
27 * and remains unchanged. | 27 * and remains unchanged. |
28 */ | 28 */ |
29 static SkData* GatherPixelRefs(SkPicture* pict, const SkRect& area); | 29 static SkData* GatherPixelRefs(const SkPicture* pict, const SkRect& area); |
30 | 30 |
31 /** | 31 /** |
32 * SkPixelRefContainer provides a base class for more elaborate pixel ref | 32 * SkPixelRefContainer provides a base class for more elaborate pixel ref |
33 * query structures (e.g., rtrees, quad-trees, etc.) | 33 * query structures (e.g., rtrees, quad-trees, etc.) |
34 */ | 34 */ |
35 class SkPixelRefContainer : public SkRefCnt { | 35 class SkPixelRefContainer : public SkRefCnt { |
36 public: | 36 public: |
37 virtual void add(SkPixelRef* pr, const SkRect& rect) = 0; | 37 virtual void add(SkPixelRef* pr, const SkRect& rect) = 0; |
38 | 38 |
39 // The returned array may contain duplicates | 39 // The returned array may contain duplicates |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 }; | 74 }; |
75 | 75 |
76 /** | 76 /** |
77 * Fill the provided pixel ref container with the picture's pixel ref | 77 * Fill the provided pixel ref container with the picture's pixel ref |
78 * and rect information. | 78 * and rect information. |
79 */ | 79 */ |
80 static void GatherPixelRefsAndRects(SkPicture* pict, SkPixelRefContainer* pr
Cont); | 80 static void GatherPixelRefsAndRects(SkPicture* pict, SkPixelRefContainer* pr
Cont); |
81 }; | 81 }; |
82 | 82 |
83 #endif | 83 #endif |
OLD | NEW |