Merge pull request #796 from mahkoh/jorth/scale-after-move
renderer: move boxes before scaling them
This commit is contained in:
commit
f289eb8424
2 changed files with 15 additions and 17 deletions
|
|
@ -90,16 +90,14 @@ impl Renderer<'_> {
|
|||
let non_exclusive_rect_rel = output.non_exclusive_rect_rel.get();
|
||||
let (mut x, mut y) = non_exclusive_rect_rel.translate_inv(x, y);
|
||||
let bar_rect = output.bar_rect_rel.get();
|
||||
let bar_bg =
|
||||
bar_rect.move_(-non_exclusive_rect_rel.x1(), -non_exclusive_rect_rel.y1());
|
||||
let bar_bg = bar_rect.move_(
|
||||
x - non_exclusive_rect_rel.x1(),
|
||||
y - non_exclusive_rect_rel.y1(),
|
||||
);
|
||||
let bar_bg = self.base.scale_rect(bar_bg);
|
||||
let bar_bg_abs = {
|
||||
let (x, y) = self.base.scale_point(x, y);
|
||||
bar_bg.move_(x, y)
|
||||
};
|
||||
let c = theme.colors.bar_background.get();
|
||||
self.base
|
||||
.fill_boxes3(slice::from_ref(&bar_bg), &c, None, srgb, x, y, true);
|
||||
.fill_scaled_boxes(slice::from_ref(&bar_bg), &c, None, srgb);
|
||||
self.base.sync();
|
||||
let rd = output.render_data.borrow_mut();
|
||||
if let Some(aw) = &rd.active_workspace {
|
||||
|
|
@ -139,7 +137,7 @@ impl Renderer<'_> {
|
|||
None,
|
||||
None,
|
||||
scale,
|
||||
Some(&bar_bg_abs),
|
||||
Some(&bar_bg),
|
||||
None,
|
||||
AcquireSync::None,
|
||||
ReleaseSync::None,
|
||||
|
|
@ -162,7 +160,7 @@ impl Renderer<'_> {
|
|||
None,
|
||||
None,
|
||||
scale,
|
||||
Some(&bar_bg_abs),
|
||||
Some(&bar_bg),
|
||||
None,
|
||||
AcquireSync::None,
|
||||
ReleaseSync::None,
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ impl RendererBase<'_> {
|
|||
self.fill_boxes3(boxes, color, None, cd, dx, dy, false);
|
||||
}
|
||||
|
||||
pub fn fill_boxes3(
|
||||
fn fill_boxes3(
|
||||
&mut self,
|
||||
boxes: &[Rect],
|
||||
color: &Color,
|
||||
|
|
@ -102,18 +102,18 @@ impl RendererBase<'_> {
|
|||
if boxes.is_empty() || *color == Color::TRANSPARENT {
|
||||
return;
|
||||
}
|
||||
let (dx, dy) = self.scale_point(dx, dy);
|
||||
for bx in boxes {
|
||||
let bx = bx.move_(dx, dy);
|
||||
let bx = match scaled {
|
||||
false => self.scale_rect(*bx),
|
||||
true => *bx,
|
||||
false => self.scale_rect(bx),
|
||||
true => bx,
|
||||
};
|
||||
self.ops.push(GfxApiOpt::FillRect(FillRect {
|
||||
rect: FramebufferRect::new(
|
||||
(bx.x1() + dx) as f32,
|
||||
(bx.y1() + dy) as f32,
|
||||
(bx.x2() + dx) as f32,
|
||||
(bx.y2() + dy) as f32,
|
||||
bx.x1() as f32,
|
||||
bx.y1() as f32,
|
||||
bx.x2() as f32,
|
||||
bx.y2() as f32,
|
||||
self.transform,
|
||||
self.fb_width,
|
||||
self.fb_height,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue