Code

switch to using NR::Maybe for area rect
authorbuliabyak <buliabyak@users.sourceforge.net>
Mon, 19 Mar 2007 03:05:11 +0000 (03:05 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Mon, 19 Mar 2007 03:05:11 +0000 (03:05 +0000)
src/display/inkscape-cairo.cpp
src/display/inkscape-cairo.h

index 9a85008851029d18e77fe673223be6c535857a91..5d87d39b2f57733e1eccfdd5e1e6f4d3fd81dd4c 100644 (file)
@@ -46,11 +46,13 @@ nr_create_cairo_context (NRRectL *area, NRPixBlock *pb)
 
 /** Feeds path-creating calls to the cairo context translating them from the SPCurve, with the given transform and shift */
 void
-feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Rect area, bool optimize_stroke, double stroke_width)
+feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Maybe<NR::Rect> area, bool optimize_stroke, double stroke_width)
 {
     NR::Point next(0,0), last(0,0);
-    NR::Point shift = area.min();
-    NR::Rect view = area;
+    if (!area || area->isEmpty()) 
+        return;
+    NR::Point shift = area->min();
+    NR::Rect view = *area;
     view.growBy (stroke_width);
     NR::Rect swept;
     bool  closed = false;
index 4b9f50e76ebd753c36c9926afaedddeafa3dfc74..fa579fb2072a37de147286b2a8399a60f1070866 100644 (file)
@@ -11,7 +11,7 @@
  */
 
 cairo_t *nr_create_cairo_context (NRRectL *area, NRPixBlock *pb);
-void feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Rect area, bool optimize_stroke, double stroke_width);
+void feed_curve_to_cairo (cairo_t *ct, NArtBpath *bpath, NR::Matrix trans, NR::Maybe<NR::Rect> area, bool optimize_stroke, double stroke_width);
 
 #endif
 /*