diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-10-29 19:19:31 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-01-28 09:03:03 -0500 |
commit | 5fd63d21e97e512b81b678b01ae3a8b6245d783c (patch) | |
tree | 48af0296f9c6c55b30458b09b29ff9998eb0c7b5 /pango/pango-hbfont-private.h | |
parent | 25dead66ee992a529660f30b5fa692da345b7991 (diff) | |
download | pango-5fd63d21e97e512b81b678b01ae3a8b6245d783c.tar.gz |
Add PangoHbFont
This is a simple wrapper around hb_font_t.
This is an attempt to make a font backend that does
not depend on platform specifics and can be used in
tests.
Diffstat (limited to 'pango/pango-hbfont-private.h')
-rw-r--r-- | pango/pango-hbfont-private.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pango/pango-hbfont-private.h b/pango/pango-hbfont-private.h new file mode 100644 index 00000000..fea6162f --- /dev/null +++ b/pango/pango-hbfont-private.h @@ -0,0 +1,56 @@ +/* Pango + * + * Copyright (C) 2021 Matthias Clasen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#pragma once + +#include "pango-hbfont.h" +#include "pango-hbface.h" +#include <hb.h> + +typedef struct _HexBoxInfo HexBoxInfo; +struct _HexBoxInfo +{ + PangoFont *font; + int rows; + double digit_width; + double digit_height; + double pad_x; + double pad_y; + double line_width; + double box_descent; + double box_height; +}; + +struct _PangoHbFont +{ + PangoFont parent_instance; + + PangoHbFace *face; + int size; /* point size, scaled by PANGO_SCALE */ + float dpi; + hb_feature_t *features; + unsigned int n_features; + hb_variation_t *variations; + unsigned int n_variations; + PangoGravity gravity; + PangoMatrix matrix; + + HexBoxInfo *hex_box_info; +}; |