aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-07-01 09:47:31 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-07-01 09:47:31 +0400
commit7b6fa1285475896ad8dbc2f4b11099b0c036e4b7 (patch)
tree4286d49c41e01e7813ce41fb0c4305bcb552dc01 /src/ui
parente7c201abba6fedaa57001639810af3b6bd9b852e (diff)
downloadniri-7b6fa1285475896ad8dbc2f4b11099b0c036e4b7.tar.gz
niri-7b6fa1285475896ad8dbc2f4b11099b0c036e4b7.tar.bz2
niri-7b6fa1285475896ad8dbc2f4b11099b0c036e4b7.zip
Enable subpixel glyph positioning in Pango
Makes things scale more smoothly.
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/config_error_notification.rs2
-rw-r--r--src/ui/exit_confirm_dialog.rs2
-rw-r--r--src/ui/hotkey_overlay.rs2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/ui/config_error_notification.rs b/src/ui/config_error_notification.rs
index b120f494..aa218c91 100644
--- a/src/ui/config_error_notification.rs
+++ b/src/ui/config_error_notification.rs
@@ -192,6 +192,7 @@ fn render(
let surface = ImageSurface::create(cairo::Format::ARgb32, 0, 0)?;
let cr = cairo::Context::new(&surface)?;
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
layout.set_markup(&text);
@@ -206,6 +207,7 @@ fn render(
cr.move_to(padding.into(), padding.into());
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
layout.set_markup(&text);
diff --git a/src/ui/exit_confirm_dialog.rs b/src/ui/exit_confirm_dialog.rs
index 9ffae3a7..6458558f 100644
--- a/src/ui/exit_confirm_dialog.rs
+++ b/src/ui/exit_confirm_dialog.rs
@@ -109,6 +109,7 @@ fn render(scale: f64) -> anyhow::Result<MemoryBuffer> {
let surface = ImageSurface::create(cairo::Format::ARgb32, 0, 0)?;
let cr = cairo::Context::new(&surface)?;
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
layout.set_alignment(Alignment::Center);
layout.set_markup(TEXT);
@@ -124,6 +125,7 @@ fn render(scale: f64) -> anyhow::Result<MemoryBuffer> {
cr.move_to(padding.into(), padding.into());
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
layout.set_alignment(Alignment::Center);
layout.set_markup(TEXT);
diff --git a/src/ui/hotkey_overlay.rs b/src/ui/hotkey_overlay.rs
index bc53d573..6e5f24fa 100644
--- a/src/ui/hotkey_overlay.rs
+++ b/src/ui/hotkey_overlay.rs
@@ -250,6 +250,7 @@ fn render(
let surface = ImageSurface::create(cairo::Format::ARgb32, 0, 0)?;
let cr = cairo::Context::new(&surface)?;
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
let bold = AttrList::new();
@@ -301,6 +302,7 @@ fn render(
cr.move_to(padding.into(), padding.into());
let layout = pangocairo::functions::create_layout(&cr);
+ layout.context().set_round_glyph_positions(false);
layout.set_font_description(Some(&font));
cr.set_source_rgb(1., 1., 1.);