From 94ead35227de9796d681b056cf33c8395ac53545 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Wed, 23 Apr 2025 20:01:26 +0100 Subject: [PATCH] font: use PangoWeight enum No change in functionality. Suggested-by: @spl237 --- include/common/font.h | 18 ++---------------- src/common/font.c | 39 +-------------------------------------- src/config/rcxml.c | 26 +++++++++++++------------- src/osd.c | 2 +- 4 files changed, 17 insertions(+), 68 deletions(-) diff --git a/include/common/font.h b/include/common/font.h index 1712beca..c728d484 100644 --- a/include/common/font.h +++ b/include/common/font.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #ifndef LABWC_FONT_H #define LABWC_FONT_H +#include struct lab_data_buffer; @@ -10,26 +11,11 @@ enum font_slant { FONT_SLANT_OBLIQUE }; -enum font_weight { - FONT_WEIGHT_NORMAL = 0, - FONT_WEIGHT_THIN, - FONT_WEIGHT_ULTRALIGHT, - FONT_WEIGHT_LIGHT, - FONT_WEIGHT_SEMILIGHT, - FONT_WEIGHT_BOOK, - FONT_WEIGHT_MEDIUM, - FONT_WEIGHT_SEMIBOLD, - FONT_WEIGHT_BOLD, - FONT_WEIGHT_ULTRABOLD, - FONT_WEIGHT_HEAVY, - FONT_WEIGHT_ULTRAHEAVY -}; - struct font { char *name; int size; enum font_slant slant; - enum font_weight weight; + PangoWeight weight; }; struct _PangoFontDescription *font_to_pango_desc(struct font *font); diff --git a/src/common/font.c b/src/common/font.c index 33623a9a..5616c61b 100644 --- a/src/common/font.c +++ b/src/common/font.c @@ -23,44 +23,7 @@ font_to_pango_desc(struct font *font) if (font->slant == FONT_SLANT_OBLIQUE) { pango_font_description_set_style(desc, PANGO_STYLE_OBLIQUE); } - switch (font->weight) { - case FONT_WEIGHT_THIN: - pango_font_description_set_weight(desc, PANGO_WEIGHT_THIN); - break; - case FONT_WEIGHT_ULTRALIGHT: - pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRALIGHT); - break; - case FONT_WEIGHT_LIGHT: - pango_font_description_set_weight(desc, PANGO_WEIGHT_LIGHT); - break; - case FONT_WEIGHT_SEMILIGHT: - pango_font_description_set_weight(desc, PANGO_WEIGHT_SEMILIGHT); - break; - case FONT_WEIGHT_BOOK: - pango_font_description_set_weight(desc, PANGO_WEIGHT_BOOK); - break; - case FONT_WEIGHT_NORMAL: - pango_font_description_set_weight(desc, PANGO_WEIGHT_NORMAL); - break; - case FONT_WEIGHT_MEDIUM: - pango_font_description_set_weight(desc, PANGO_WEIGHT_MEDIUM); - break; - case FONT_WEIGHT_SEMIBOLD: - pango_font_description_set_weight(desc, PANGO_WEIGHT_SEMIBOLD); - break; - case FONT_WEIGHT_BOLD: - pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD); - break; - case FONT_WEIGHT_ULTRABOLD: - pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRABOLD); - break; - case FONT_WEIGHT_HEAVY: - pango_font_description_set_weight(desc, PANGO_WEIGHT_HEAVY); - break; - case FONT_WEIGHT_ULTRAHEAVY: - pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRAHEAVY); - break; - } + pango_font_description_set_weight(desc, font->weight); return desc; } diff --git a/src/config/rcxml.c b/src/config/rcxml.c index a92e84c5..1c72744a 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -863,29 +863,29 @@ set_font_attr(struct font *font, const char *nodename, const char *content) } } else if (!strcmp(nodename, "weight")) { if (!strcasecmp(content, "thin")) { - font->weight = FONT_WEIGHT_THIN; + font->weight = PANGO_WEIGHT_THIN; } else if (!strcasecmp(content, "ultralight")) { - font->weight = FONT_WEIGHT_ULTRALIGHT; + font->weight = PANGO_WEIGHT_ULTRALIGHT; } else if (!strcasecmp(content, "light")) { - font->weight = FONT_WEIGHT_LIGHT; + font->weight = PANGO_WEIGHT_LIGHT; } else if (!strcasecmp(content, "semilight")) { - font->weight = FONT_WEIGHT_SEMILIGHT; + font->weight = PANGO_WEIGHT_SEMILIGHT; } else if (!strcasecmp(content, "book")) { - font->weight = FONT_WEIGHT_BOOK; + font->weight = PANGO_WEIGHT_BOOK; } else if (!strcasecmp(content, "medium")) { - font->weight = FONT_WEIGHT_MEDIUM; + font->weight = PANGO_WEIGHT_MEDIUM; } else if (!strcasecmp(content, "semibold")) { - font->weight = FONT_WEIGHT_SEMIBOLD; + font->weight = PANGO_WEIGHT_SEMIBOLD; } else if (!strcasecmp(content, "bold")) { - font->weight = FONT_WEIGHT_BOLD; + font->weight = PANGO_WEIGHT_BOLD; } else if (!strcasecmp(content, "ultrabold")) { - font->weight = FONT_WEIGHT_ULTRABOLD; + font->weight = PANGO_WEIGHT_ULTRABOLD; } else if (!strcasecmp(content, "heavy")) { - font->weight = FONT_WEIGHT_HEAVY; + font->weight = PANGO_WEIGHT_HEAVY; } else if (!strcasecmp(content, "ultraheavy")) { - font->weight = FONT_WEIGHT_ULTRAHEAVY; + font->weight = PANGO_WEIGHT_ULTRAHEAVY; } else { - font->weight = FONT_WEIGHT_NORMAL; + font->weight = PANGO_WEIGHT_NORMAL; } } } @@ -1475,7 +1475,7 @@ init_font_defaults(struct font *font) { font->size = 10; font->slant = FONT_SLANT_NORMAL; - font->weight = FONT_WEIGHT_NORMAL; + font->weight = PANGO_WEIGHT_NORMAL; } static void diff --git a/src/osd.c b/src/osd.c index 2c4ce2b2..0f230024 100644 --- a/src/osd.c +++ b/src/osd.c @@ -297,7 +297,7 @@ create_osd_scene(struct output *output, struct wl_array *views) /* Draw workspace indicator */ if (show_workspace) { struct font font = rc.font_osd; - font.weight = FONT_WEIGHT_BOLD; + font.weight = PANGO_WEIGHT_BOLD; /* Center workspace indicator on the x axis */ int x = (w - font_width(&font, workspace_name)) / 2;