From: kramm <kramm>
Date: Mon, 27 Sep 2004 09:58:57 +0000 (+0000)
Subject: added (call to) useGradients().
X-Git-Tag: release-0-6-2~21
X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=37a3dacfc10c7cf5cdcec652cbd0c3f515a16c32;p=swftools.git

added (call to) useGradients().
---

diff --git a/pdf2swf/xpdf/Gfx.cc b/pdf2swf/xpdf/Gfx.cc
index 4f9142c..e86d6b1 100644
--- a/pdf2swf/xpdf/Gfx.cc
+++ b/pdf2swf/xpdf/Gfx.cc
@@ -1581,6 +1581,8 @@ void Gfx::doFunctionShFill1(GfxFunctionShading *shading,
   // center of the rectangle
   xM = 0.5 * (x0 + x1);
   yM = 0.5 * (y0 + y1);
+  
+  out->useGradients();
 
   // the four corner colors are close (or we hit the recursive limit)
   // -- fill the rectangle; but require at least one subdivision
@@ -1799,6 +1801,9 @@ void Gfx::doAxialShFill(GfxAxialShading *shading) {
   vy0 = ty + sMax * dx;
 
   i = 0;
+  if(i < axialMaxSplits)
+    out->useGradients();
+
   while (i < axialMaxSplits) {
 
     // bisect until color difference is small enough or we hit the
@@ -2009,6 +2014,9 @@ void Gfx::doRadialShFill(GfxRadialShading *shading) {
     shading->getColor(ta, &colorA);
   }
 
+  if(ia < radialMaxSplits)
+    out->useGradients();
+
   while (ia < radialMaxSplits) {
 
     // go as far along the t axis (toward t1) as we can, such that the
diff --git a/pdf2swf/xpdf/OutputDev.h b/pdf2swf/xpdf/OutputDev.h
index c759770..464f16b 100644
--- a/pdf2swf/xpdf/OutputDev.h
+++ b/pdf2swf/xpdf/OutputDev.h
@@ -48,6 +48,9 @@ public:
   // Does this device use drawChar() or drawString()?
   virtual GBool useDrawChar() = 0;
 
+  // Is this device able to draw gradients?
+  virtual GBool useGradients() = 0;
+
   // Does this device use beginType3Char/endType3Char?  Otherwise,
   // text in Type 3 fonts will be drawn with drawChar/drawString.
   virtual GBool interpretType3Chars() = 0;