]> git.mdlowis.com Git - proto/labwc.git/commitdiff
font: use PangoWeight enum
authorJohan Malm <jgm323@gmail.com>
Wed, 23 Apr 2025 19:01:26 +0000 (20:01 +0100)
committerJohan Malm <johanmalm@users.noreply.github.com>
Wed, 23 Apr 2025 19:20:29 +0000 (20:20 +0100)
No change in functionality.

Suggested-by: @spl237
include/common/font.h
src/common/font.c
src/config/rcxml.c
src/osd.c

index 1712becae74d102350a0ad0ff674ba0bcec35141..c728d484bd6d94f9c8c073b73e24ce9244b4f65b 100644 (file)
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LABWC_FONT_H
 #define LABWC_FONT_H
+#include <pango/pango-font.h>
 
 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);
index 33623a9a15077fe2fd33d13c79ff90bdf117188f..5616c61bc0a279d3e2cbda36f7e35b630f3de518 100644 (file)
@@ -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;
 }
 
index a92e84c548ccc9dfc3caab202010e52f959ec36d..1c72744aa27003f7e46167906af63ef85097b770 100644 (file)
@@ -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
index 2c4ce2b2e5180808184e8297978768ef8e07ccd4..0f230024c4ea8829c70c62d6eb604e24ad1397ef 100644 (file)
--- 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;