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 non_exclusive_rect_rel = output.non_exclusive_rect_rel.get();
|
||||||
let (mut x, mut y) = non_exclusive_rect_rel.translate_inv(x, y);
|
let (mut x, mut y) = non_exclusive_rect_rel.translate_inv(x, y);
|
||||||
let bar_rect = output.bar_rect_rel.get();
|
let bar_rect = output.bar_rect_rel.get();
|
||||||
let bar_bg =
|
let bar_bg = bar_rect.move_(
|
||||||
bar_rect.move_(-non_exclusive_rect_rel.x1(), -non_exclusive_rect_rel.y1());
|
x - non_exclusive_rect_rel.x1(),
|
||||||
|
y - non_exclusive_rect_rel.y1(),
|
||||||
|
);
|
||||||
let bar_bg = self.base.scale_rect(bar_bg);
|
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();
|
let c = theme.colors.bar_background.get();
|
||||||
self.base
|
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();
|
self.base.sync();
|
||||||
let rd = output.render_data.borrow_mut();
|
let rd = output.render_data.borrow_mut();
|
||||||
if let Some(aw) = &rd.active_workspace {
|
if let Some(aw) = &rd.active_workspace {
|
||||||
|
|
@ -139,7 +137,7 @@ impl Renderer<'_> {
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
scale,
|
scale,
|
||||||
Some(&bar_bg_abs),
|
Some(&bar_bg),
|
||||||
None,
|
None,
|
||||||
AcquireSync::None,
|
AcquireSync::None,
|
||||||
ReleaseSync::None,
|
ReleaseSync::None,
|
||||||
|
|
@ -162,7 +160,7 @@ impl Renderer<'_> {
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
scale,
|
scale,
|
||||||
Some(&bar_bg_abs),
|
Some(&bar_bg),
|
||||||
None,
|
None,
|
||||||
AcquireSync::None,
|
AcquireSync::None,
|
||||||
ReleaseSync::None,
|
ReleaseSync::None,
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ impl RendererBase<'_> {
|
||||||
self.fill_boxes3(boxes, color, None, cd, dx, dy, false);
|
self.fill_boxes3(boxes, color, None, cd, dx, dy, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn fill_boxes3(
|
fn fill_boxes3(
|
||||||
&mut self,
|
&mut self,
|
||||||
boxes: &[Rect],
|
boxes: &[Rect],
|
||||||
color: &Color,
|
color: &Color,
|
||||||
|
|
@ -102,18 +102,18 @@ impl RendererBase<'_> {
|
||||||
if boxes.is_empty() || *color == Color::TRANSPARENT {
|
if boxes.is_empty() || *color == Color::TRANSPARENT {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let (dx, dy) = self.scale_point(dx, dy);
|
|
||||||
for bx in boxes {
|
for bx in boxes {
|
||||||
|
let bx = bx.move_(dx, dy);
|
||||||
let bx = match scaled {
|
let bx = match scaled {
|
||||||
false => self.scale_rect(*bx),
|
false => self.scale_rect(bx),
|
||||||
true => *bx,
|
true => bx,
|
||||||
};
|
};
|
||||||
self.ops.push(GfxApiOpt::FillRect(FillRect {
|
self.ops.push(GfxApiOpt::FillRect(FillRect {
|
||||||
rect: FramebufferRect::new(
|
rect: FramebufferRect::new(
|
||||||
(bx.x1() + dx) as f32,
|
bx.x1() as f32,
|
||||||
(bx.y1() + dy) as f32,
|
bx.y1() as f32,
|
||||||
(bx.x2() + dx) as f32,
|
bx.x2() as f32,
|
||||||
(bx.y2() + dy) as f32,
|
bx.y2() as f32,
|
||||||
self.transform,
|
self.transform,
|
||||||
self.fb_width,
|
self.fb_width,
|
||||||
self.fb_height,
|
self.fb_height,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue