summaryrefslogtreecommitdiff
path: root/pango/pango-renderer.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-03-30 20:08:29 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-03-30 21:20:36 -0400
commit5ce5b8f5b7dc4616d0d88454a23dd3bd89902265 (patch)
tree734cdc5b8fa64a09f5311c14f63cf1bb2dcfc1a4 /pango/pango-renderer.h
parent708e7d1be90ccf92c17473a78218e7f43f059309 (diff)
downloadpango-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.h34
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