interpret "subpixel none" as CAIRO_ANTIALIAS_GRAY
See issue #5228. Currently, WL_OUTPUT_SUBPIXEL_NONE is ignored and CAIRO_ANTIALIAS_SUBPIXEL is still set. This commit checks if subpixel is set to none and if so, calls set_antialias with CAIRO_ANTIALIAS_GRAY. This mirrors the functionality in Mako's [PR261](https://github.com/emersion/mako/pull/261)
This commit is contained in:
parent
2b15cf453e
commit
276e0301e0
|
@ -459,8 +459,13 @@ static void update_title_texture(struct sway_container *con,
|
||||||
cairo_set_antialias(c, CAIRO_ANTIALIAS_BEST);
|
cairo_set_antialias(c, CAIRO_ANTIALIAS_BEST);
|
||||||
cairo_font_options_t *fo = cairo_font_options_create();
|
cairo_font_options_t *fo = cairo_font_options_create();
|
||||||
cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
|
cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
|
||||||
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL);
|
if (output->wlr_output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) {
|
||||||
cairo_font_options_set_subpixel_order(fo, to_cairo_subpixel_order(output->wlr_output->subpixel));
|
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY);
|
||||||
|
} else {
|
||||||
|
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL);
|
||||||
|
cairo_font_options_set_subpixel_order(fo,
|
||||||
|
to_cairo_subpixel_order(output->wlr_output->subpixel));
|
||||||
|
}
|
||||||
cairo_set_font_options(c, fo);
|
cairo_set_font_options(c, fo);
|
||||||
get_text_size(c, config->font, &width, NULL, NULL, scale,
|
get_text_size(c, config->font, &width, NULL, NULL, scale,
|
||||||
config->pango_markup, "%s", con->formatted_title);
|
config->pango_markup, "%s", con->formatted_title);
|
||||||
|
|
|
@ -698,8 +698,13 @@ void render_frame(struct swaybar_output *output) {
|
||||||
cairo_set_antialias(cairo, CAIRO_ANTIALIAS_BEST);
|
cairo_set_antialias(cairo, CAIRO_ANTIALIAS_BEST);
|
||||||
cairo_font_options_t *fo = cairo_font_options_create();
|
cairo_font_options_t *fo = cairo_font_options_create();
|
||||||
cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
|
cairo_font_options_set_hint_style(fo, CAIRO_HINT_STYLE_FULL);
|
||||||
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL);
|
if (output->subpixel == WL_OUTPUT_SUBPIXEL_NONE) {
|
||||||
cairo_font_options_set_subpixel_order(fo, to_cairo_subpixel_order(output->subpixel));
|
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_GRAY);
|
||||||
|
} else {
|
||||||
|
cairo_font_options_set_antialias(fo, CAIRO_ANTIALIAS_SUBPIXEL);
|
||||||
|
cairo_font_options_set_subpixel_order(fo,
|
||||||
|
to_cairo_subpixel_order(output->subpixel));
|
||||||
|
}
|
||||||
cairo_set_font_options(cairo, fo);
|
cairo_set_font_options(cairo, fo);
|
||||||
cairo_font_options_destroy(fo);
|
cairo_font_options_destroy(fo);
|
||||||
cairo_save(cairo);
|
cairo_save(cairo);
|
||||||
|
|
Loading…
Reference in a new issue