diff options
author | Victor Kareh <[email protected]> | 2019-05-23 14:51:31 -0400 |
---|---|---|
committer | Victor Kareh <[email protected]> | 2019-06-05 10:49:37 -0400 |
commit | f194c1f102370081cdd35f7f873043fd27a4fb86 (patch) | |
tree | 60ab23a842a1287144055099c6e847ccaea810be /src/ui | |
parent | 75bc924c16dfd8d3b2c243fa028339e501ada83e (diff) | |
download | marco-f194c1f102370081cdd35f7f873043fd27a4fb86.tar.bz2 marco-f194c1f102370081cdd35f7f873043fd27a4fb86.tar.xz |
Fix scaling overcorrection when caching frame borders
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/frames.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/ui/frames.c b/src/ui/frames.c index 8fcdd9fa..3cd7b81c 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -2368,7 +2368,6 @@ populate_cache (MetaFrames *frames, MetaFrameBorders borders; int width, height; int frame_width, frame_height, screen_width, screen_height; - gint scale; CachedPixels *pixels; MetaFrameType frame_type; MetaFrameFlags frame_flags; @@ -2399,7 +2398,6 @@ populate_cache (MetaFrames *frames, &borders); pixels = get_cache (frames, frame); - scale = gdk_window_get_scale_factor (frame->window); /* Setup the rectangles for the four visible frame borders. First top, then * left, right and bottom. Top and bottom extend to the invisible borders @@ -2413,28 +2411,28 @@ populate_cache (MetaFrames *frames, * size without any border added. */ /* top */ - pixels->piece[0].rect.x = borders.invisible.left / scale; - pixels->piece[0].rect.y = borders.invisible.top / scale; - pixels->piece[0].rect.width = (width + borders.visible.left + borders.visible.right) * scale; - pixels->piece[0].rect.height = borders.visible.top * scale; + pixels->piece[0].rect.x = borders.invisible.left; + pixels->piece[0].rect.y = borders.invisible.top; + pixels->piece[0].rect.width = width + borders.visible.left + borders.visible.right; + pixels->piece[0].rect.height = borders.visible.top; /* left */ - pixels->piece[1].rect.x = borders.invisible.left / scale; - pixels->piece[1].rect.y = borders.total.top / scale; - pixels->piece[1].rect.width = borders.visible.left * scale; - pixels->piece[1].rect.height = height * scale; + pixels->piece[1].rect.x = borders.invisible.left; + pixels->piece[1].rect.y = borders.total.top; + pixels->piece[1].rect.width = borders.visible.left; + pixels->piece[1].rect.height = height; /* right */ - pixels->piece[2].rect.x = (borders.total.left + width) / scale; - pixels->piece[2].rect.y = borders.total.top / scale; - pixels->piece[2].rect.width = borders.visible.right * scale; - pixels->piece[2].rect.height = height * scale; + pixels->piece[2].rect.x = borders.total.left + width; + pixels->piece[2].rect.y = borders.total.top; + pixels->piece[2].rect.width = borders.visible.right; + pixels->piece[2].rect.height = height; /* bottom */ - pixels->piece[3].rect.x = borders.invisible.left / scale; - pixels->piece[3].rect.y = (borders.total.top + height) / scale; - pixels->piece[3].rect.width = (width + borders.visible.left + borders.visible.right) * scale; - pixels->piece[3].rect.height = borders.visible.bottom * scale; + pixels->piece[3].rect.x = borders.invisible.left; + pixels->piece[3].rect.y = borders.total.top + height; + pixels->piece[3].rect.width = width + borders.visible.left + borders.visible.right; + pixels->piece[3].rect.height = borders.visible.bottom; for (i = 0; i < 4; i++) { |