18TilesHighlight::Tile::Tile(
const RenderResult *
result) : rect(
result->tilerect) {}
20TilesHighlight::Tile::Tile(
const int x,
const int y,
const int width,
const int height)
25uint64_t TilesHighlight::Tile::hash()
const
44 const Tile
tile(
x,
y, width, height);
50 const Tile
tile(
x,
y, width, height);
56 std::unique_lock
lock(mutex_);
58 highlighted_tiles_set_.add(
tile);
59 did_tiles_change_ =
true;
62void TilesHighlight::unhighlight_tile(
const Tile &
tile)
64 std::unique_lock
lock(mutex_);
66 highlighted_tiles_set_.remove(
tile);
67 did_tiles_change_ =
true;
72 std::unique_lock
lock(mutex_);
74 highlighted_tiles_set_.clear();
75 cached_highlighted_tiles_.clear_and_shrink();
80 std::unique_lock
lock(mutex_);
83 if (did_tiles_change_) {
84 if (highlighted_tiles_set_.is_empty()) {
85 cached_highlighted_tiles_.clear_and_shrink();
88 cached_highlighted_tiles_.reserve(highlighted_tiles_set_.size());
89 for (
const Tile &
tile : highlighted_tiles_set_) {
90 cached_highlighted_tiles_.append(
tile.rect);
94 did_tiles_change_ =
false;
97 return cached_highlighted_tiles_;
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
unsigned long long int uint64_t
void highlight_tile_for_result(const RenderResult *result)
void unhighlight_tile(int x, int y, int width, int height)
void unhighlight_tile_for_result(const RenderResult *result)
Span< rcti > get_all_highlighted_tiles() const
void highlight_tile(int x, int y, int width, int height)
const ccl_global KernelWorkTile * tile
uint64_t get_default_hash(const T &v, const Args &...args)