# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: PDShadingPatternResources.java
--- PDShadingPatternResources.java Base (BASE)
+++ PDShadingPatternResources.java Locally Modified (Based On LOCAL)
@@ -29,11 +29,17 @@
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSNumber;
 import org.apache.pdfbox.pdmodel.graphics.PDExtendedGraphicsState;
+import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
 import org.apache.pdfbox.pdmodel.graphics.pattern.PDPatternResources;
 import org.apache.pdfbox.pdmodel.graphics.shading.AxialShadingPaint;
 import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingResources;
+import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType1;
 import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType2;
 import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType3;
+import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType5;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type1ShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type4ShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type5ShadingPaint;
 import org.apache.pdfbox.pdmodel.graphics.shading.RadialShadingPaint;
 import org.apache.pdfbox.util.Matrix;
 
@@ -203,17 +209,34 @@
         Paint paint = null;
         PDShadingResources shadingResources = getShading();
         int shadingType = shadingResources != null ? shadingResources.getShadingType() : 0;
+        Matrix ctm = getMatrix();
         switch (shadingType)
         {
+            case PDShadingResources.SHADING_TYPE1: 
+                paint = new Type1ShadingPaint((PDShadingType1) getShading(), ctm, pageHeight);
+                break;
             case PDShadingResources.SHADING_TYPE2:
                 paint = new AxialShadingPaint((PDShadingType2)getShading(), null, pageHeight);
                 break;
             case PDShadingResources.SHADING_TYPE3:
                 paint = new RadialShadingPaint((PDShadingType3)getShading(), null, pageHeight);
                 break;
-            case PDShadingResources.SHADING_TYPE1: 
             case PDShadingResources.SHADING_TYPE4:
+                if (!(getShading().getColorSpace() instanceof PDDeviceRGB))
+                {
+                    LOG.error("can't handle Colorspace " + shading.getColorSpace());
+                    return null;
+                }
+                paint = new Type4ShadingPaint((PDShadingType4) getShading(), ctm, pageHeight);
+                break;
             case PDShadingResources.SHADING_TYPE5:
+                if (!(getShading().getColorSpace() instanceof PDDeviceRGB))
+                {
+                    LOG.error("can't handle Colorspace " + shading.getColorSpace());
+                    return null;
+                }
+                paint = new Type5ShadingPaint((PDShadingType5) getShading(), ctm, pageHeight);
+                break;            
             case PDShadingResources.SHADING_TYPE6:
             case PDShadingResources.SHADING_TYPE7:
                 LOG.debug( "Error: Unsupported shading type " + shadingType );
