Index: src/core/SkBruteBBH.cpp |
diff --git a/src/core/SkBruteBBH.cpp b/src/core/SkBruteBBH.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1380aeac78985c9b52ea3170e30456e0fb426ce4 |
--- /dev/null |
+++ b/src/core/SkBruteBBH.cpp |
@@ -0,0 +1,18 @@ |
+#include "SkBruteBBH.h" |
robertphillips
2014/10/29 20:48:11
header!
|
+ |
+SkBruteBBH::SkBruteBBH() : fBBs(NULL), fNumBBs(0) {} |
+ |
+SkBruteBBH::~SkBruteBBH() { sk_free(fBBs); } |
+ |
+void SkBruteBBH::insert(SkAutoTMalloc<SkRect>* bbs, int N) { |
+ fBBs = bbs->detach(); |
+ fNumBBs = N; |
+} |
+ |
+void SkBruteBBH::search(const SkRect& query, SkTDArray<unsigned>* results) const { |
+ for (int i = 0; i < fNumBBs; i++) { |
+ if (SkRect::Intersects(query, fBBs[i])) { |
+ results->push(i); |
+ } |
+ } |
+} |