rectFor
Parameters
- self:*TextLayoutWidget
- *TextLayoutWidget
- id:dvui.Id
- dvui.Id
- min_size:Size
- Size
- e:Options.Expand
- Options.Expand
- g:Options.Gravity
- Options.Gravity
Source
Implementation
pub fn rectFor(self: *TextLayoutWidget, id: dvui.Id, min_size: Size, e: Options.Expand, g: Options.Gravity) Rect {
_ = id;
// For corner widgets, they might want to be closer to the border than the
// text, so fit them without padding, but then need to adjust origin
// because screenRectScale assumes we placed in the contentRect
var ret = dvui.placeIn(self.data().backgroundRect().justSize(), min_size, e, g);
ret.x -= self.data().options.paddingGet().x;
ret.y -= self.data().options.paddingGet().y;
const i: usize = if (g.y < 0.5) if (g.x < 0.5)
0 // upleft
else
1 // upright
else if (g.x < 0.5)
2 // downleft
else
3; // downright
self.corners[i] = ret;
self.corners_last_seen = @intCast(i);
return ret;
}