diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-03-30 20:08:29 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-03-30 21:20:36 -0400 |
commit | 5ce5b8f5b7dc4616d0d88454a23dd3bd89902265 (patch) | |
tree | 734cdc5b8fa64a09f5311c14f63cf1bb2dcfc1a4 /pango/pango-renderer.h | |
parent | 708e7d1be90ccf92c17473a78218e7f43f059309 (diff) | |
download | pango-5ce5b8f5b7dc4616d0d88454a23dd3bd89902265.tar.gz |
Add dashed and dotted lineslines
Extend the PangoUnderline and PangoOverline enumerations to
cover dashed and dotted variants of the various lines, add
api to PangoRenderer to render such lines, and implement it
in the cairo renderer.
Diffstat (limited to 'pango/pango-renderer.h')
-rw-r--r-- | pango/pango-renderer.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/pango/pango-renderer.h b/pango/pango-renderer.h index 98c4cfb0..1b1e744e 100644 --- a/pango/pango-renderer.h +++ b/pango/pango-renderer.h @@ -60,6 +60,21 @@ typedef enum } PangoRenderPart; /** + * PangoRenderLineStyle: + * @PANGO_RENDER_LINE_SOLID: A solid line + * @PANGO_RENDER_LINE_DASHED: A dashed line + * @PANGO_RENDER_LINE_DOTTED: A dotted line + * + * The line style passed to the draw_line() vfunc. + */ +typedef enum +{ + PANGO_RENDER_LINE_SOLID, + PANGO_RENDER_LINE_DASHED, + PANGO_RENDER_LINE_DOTTED +} PangoRenderLineStyle; + +/** * PangoRenderer: * @matrix: (nullable): the current transformation matrix for * the Renderer; may be %NULL, which should be treated the @@ -108,6 +123,7 @@ struct _PangoRenderer * @end: Do renderer-specific cleanup after drawing * @prepare_run: updates the renderer for a new run * @draw_glyph_item: draws a #PangoGlyphItem + * @draw_line: draws a line. Available since Pango 1.50 * * Class structure for #PangoRenderer. * @@ -186,10 +202,17 @@ struct _PangoRendererClass int x, int y); + void (*draw_line) (PangoRenderer *renderer, + PangoRenderPart part, + PangoRenderLineStyle style, + int x, + int y, + int width, + int height); + /*< private >*/ /* Padding for future expansion */ - void (*_pango_reserved2) (void); void (*_pango_reserved3) (void); void (*_pango_reserved4) (void); }; @@ -248,6 +271,15 @@ void pango_renderer_draw_glyph (PangoRenderer *renderer, double x, double y); +PANGO_AVAILABLE_IN_1_50 +void pango_renderer_draw_line (PangoRenderer *renderer, + PangoRenderPart part, + PangoRenderLineStyle style, + int x, + int y, + int width, + int height); + PANGO_AVAILABLE_IN_1_8 void pango_renderer_activate (PangoRenderer *renderer); PANGO_AVAILABLE_IN_1_8 |