summaryrefslogtreecommitdiff
path: root/src/cairo-path.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2005-05-03 14:28:50 +0000
committerKristian Høgsberg <krh@redhat.com>2005-05-03 14:28:50 +0000
commit8e485ec8c203f7fd1ce1cf4adc0c491732c97ecb (patch)
tree7de0f46aa3d09e7d8b17d765a883c92c1ae13bcb /src/cairo-path.c
parent05ccd7685420be7c7213e68462e1fcc4c01bad3c (diff)
downloadcairo-8e485ec8c203f7fd1ce1cf4adc0c491732c97ecb.tar.gz
Fills as paths patch originally by Owen Taylor.
Make sure we have a current point for the relative path operators. Add fill_path backend method. Implement fill_path in the PDF backend.
Diffstat (limited to 'src/cairo-path.c')
-rw-r--r--src/cairo-path.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cairo-path.c b/src/cairo-path.c
index 0df8fc414..0940c4d1e 100644
--- a/src/cairo-path.c
+++ b/src/cairo-path.c
@@ -184,6 +184,9 @@ _cairo_path_fixed_rel_move_to (cairo_path_fixed_t *path,
{
cairo_fixed_t x, y;
+ if (!path->has_current_point)
+ return CAIRO_STATUS_NO_CURRENT_POINT;
+
x = path->current_point.x + dx;
y = path->current_point.y + dy;
@@ -218,6 +221,9 @@ _cairo_path_fixed_rel_line_to (cairo_path_fixed_t *path,
{
cairo_fixed_t x, y;
+ if (!path->has_current_point)
+ return CAIRO_STATUS_NO_CURRENT_POINT;
+
x = path->current_point.x + dx;
y = path->current_point.y + dy;
@@ -257,6 +263,9 @@ _cairo_path_fixed_rel_curve_to (cairo_path_fixed_t *path,
cairo_fixed_t x1, y1;
cairo_fixed_t x2, y2;
+ if (!path->has_current_point)
+ return CAIRO_STATUS_NO_CURRENT_POINT;
+
x0 = path->current_point.x + dx0;
y0 = path->current_point.y + dy0;