748d2020aa7791af6e83055e80cbdfbb239826b8
1 #ifndef SEEN_LIBNRTYPE_FONT_STYLE_H
2 #define SEEN_LIBNRTYPE_FONT_STYLE_H
4 #include <libnr/nr-matrix.h>
5 #include <livarot/LivarotDefs.h>
6 #include <livarot/livarot-forward.h>
8 // structure that holds data describing how to render glyphs of a font
10 // Different raster styles.
11 struct font_style {
12 NR::Matrix transform; // the ctm. contains the font-size
13 bool vertical; // should be rendered vertically or not?
14 // good font support would take the glyph alternates for vertical mode, when present
15 double stroke_width; // if 0, the glyph is filled; otherwise stroked
16 JoinType stroke_join;
17 ButtType stroke_cap;
18 float stroke_miter_limit;
19 int nbDash;
20 double dash_offset;
21 double* dashes;
23 void Apply(Path *src, Shape *dst); // utility: applies the style to the path and stores the result in the shape
24 };
27 #endif /* !SEEN_LIBNRTYPE_FONT_STYLE_H */
29 /*
30 Local Variables:
31 mode:c++
32 c-file-style:"stroustrup"
33 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
34 indent-tabs-mode:nil
35 fill-column:99
36 End:
37 */
38 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :