30 if (HasMeasuredGeometry(geo_result)) {
31 const auto& bounds = *geo_result;
34 .offset_y_tiles = bounds.min_y_tiles,
35 .width_tiles = std::max(1, bounds.width_tiles),
36 .height_tiles = std::max(1, bounds.height_tiles),
42 if (dim_table.IsLoaded()) {
43 auto sel = dim_table.GetSelectionBounds(obj.
id_, obj.
size_);
46 .offset_y_tiles = sel.offset_y,
47 .width_tiles = std::max(1, sel.width),
48 .height_tiles = std::max(1, sel.height),
54 int size_h = obj.
size_ & 0x0F;
55 int size_v = (obj.
size_ >> 4) & 0x0F;
59 .width_tiles = std::max(1, size_h + 1),
60 .height_tiles = std::max(1, size_v + 1),
73 if (HasMeasuredGeometry(geo_result)) {
74 const auto selection = geo_result->GetSelectionBounds();
75 return {obj.
x_ + selection.x_tiles, obj.
y_ + selection.y_tiles,
76 selection.width_tiles, selection.height_tiles};
80 return {obj.
x_ + result.offset_x_tiles, obj.
y_ + result.offset_y_tiles,
81 result.width_tiles, result.height_tiles};
87 if (HasMeasuredGeometry(geo_result)) {
88 const auto selection = geo_result->GetSelectionBounds();
89 int x_px = (obj.
x_ + selection.x_tiles) * 8;
90 int y_px = (obj.
y_ + selection.y_tiles) * 8;
91 return {x_px, y_px, selection.width_pixels(), selection.height_pixels()};
95 int x_px = (obj.
x_ + result.offset_x_tiles) * 8;
96 int y_px = (obj.
y_ + result.offset_y_tiles) * 8;
97 return {x_px, y_px, result.width_pixels(), result.height_pixels()};