5#ifndef FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_RTREE_H_
6#define FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_RTREE_H_
11#include "third_party/skia/include/core/SkBBHFactory.h"
12#include "third_party/skia/include/core/SkTypes.h"
21class RTree :
public SkBBoxHierarchy {
25 void insert(
const SkRect[],
26 const SkBBoxHierarchy::Metadata[],
28 void insert(
const SkRect[],
int N)
override;
29 void search(
const SkRect& query, std::vector<int>* results)
const override;
41 int getCount()
const {
return all_ops_count_; }
46 std::map<int, SkRect> draw_op_;
47 sk_sp<SkBBoxHierarchy> bbh_;
57 sk_sp<SkBBoxHierarchy>
operator()()
const override;
sk_sp< RTree > getInstance()
sk_sp< SkBBoxHierarchy > operator()() const override
std::list< SkRect > searchNonOverlappingDrawnRects(const SkRect &query) const
size_t bytesUsed() const override
void insert(const SkRect[], const SkBBoxHierarchy::Metadata[], int N) override
void search(const SkRect &query, std::vector< int > *results) const override