21TilesHighlight::Tile::Tile(
const int x,
const int y,
const int width,
const int height)
26uint64_t TilesHighlight::Tile::hash()
const
45 const Tile
tile(
x,
y, width, height);
51 const Tile
tile(
x,
y, width, height);
57 std::unique_lock
lock(mutex_);
59 highlighted_tiles_set_.add(
tile);
60 did_tiles_change_ =
true;
63void TilesHighlight::unhighlight_tile(
const Tile &
tile)
65 std::unique_lock
lock(mutex_);
67 highlighted_tiles_set_.remove(
tile);
68 did_tiles_change_ =
true;
73 std::unique_lock
lock(mutex_);
75 highlighted_tiles_set_.clear();
76 cached_highlighted_tiles_.clear_and_shrink();
81 std::unique_lock
lock(mutex_);
84 if (did_tiles_change_) {
85 if (highlighted_tiles_set_.is_empty()) {
86 cached_highlighted_tiles_.clear_and_shrink();
89 cached_highlighted_tiles_.reserve(highlighted_tiles_set_.size());
90 for (
const Tile &
tile : highlighted_tiles_set_) {
91 cached_highlighted_tiles_.append(
tile.rect);
95 did_tiles_change_ =
false;
98 return cached_highlighted_tiles_;
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
Read Guarded memory(de)allocation.
struct RenderResult RenderResult
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)
ccl_global const KernelWorkTile * tile
uint64_t get_default_hash(const T &v)
unsigned __int64 uint64_t