1 26 27 package it.stefanochizzolini.clown.documents.contents.colorSpaces; 28 29 import it.stefanochizzolini.clown.documents.Document; 30 import it.stefanochizzolini.clown.files.File; 31 import it.stefanochizzolini.clown.objects.PdfArray; 32 import it.stefanochizzolini.clown.objects.PdfDataObject; 33 import it.stefanochizzolini.clown.objects.PdfDirectObject; 34 import it.stefanochizzolini.clown.objects.PdfIndirectObject; 35 import it.stefanochizzolini.clown.objects.PdfName; 36 import it.stefanochizzolini.clown.objects.PdfObjectWrapper; 37 import it.stefanochizzolini.clown.objects.PdfReference; 38 39 42 public abstract class ColorSpace 43 extends PdfObjectWrapper<PdfDirectObject> 44 { 45 54 public static ColorSpace wrap( 55 PdfReference reference 56 ) 57 {return wrap(reference,null);} 58 59 66 public static ColorSpace wrap( 67 PdfDirectObject baseObject, 68 PdfIndirectObject container 69 ) 70 { 71 74 if(baseObject == null) 75 return null; 76 77 PdfName name; 78 PdfDataObject baseDataObject = File.resolve(baseObject); 80 87 if(baseDataObject instanceof PdfArray) {name = (PdfName)((PdfArray)baseDataObject).get(0);} 89 else {name = (PdfName)baseDataObject;} 91 92 if(name.equals(PdfName.DeviceRGB)) 93 return new DeviceRGBColorSpace(baseObject,container); 94 else if(name.equals(PdfName.DeviceCMYK)) 95 return new DeviceCMYKColorSpace(baseObject,container); 96 else if(name.equals(PdfName.DeviceGray)) 97 return new DeviceGrayColorSpace(baseObject,container); 98 else if(name.equals(PdfName.CalRGB)) 99 return new CalRGBColorSpace(baseObject,container); 100 else if(name.equals(PdfName.CalGray)) 101 return new CalGrayColorSpace(baseObject,container); 102 else if(name.equals(PdfName.Lab)) 103 return new LabColorSpace(baseObject,container); 104 else if(name.equals(PdfName.ICCBased)) 105 return new ICCBasedColorSpace(baseObject,container); 106 else 107 return null; } 109 113 protected ColorSpace( 116 Document context, 117 PdfDirectObject baseDataObject 118 ) 119 { 120 super( 121 context.getFile(), 122 baseDataObject 123 ); 124 } 125 126 protected ColorSpace( 127 PdfDirectObject baseObject, 128 PdfIndirectObject container 129 ) 130 { 131 super( 132 baseObject, 133 container 134 ); 135 } 136 138 146 public String getFillOperator( 147 ) 148 {return "cs";} 149 150 156 public String getStrokeOperator( 157 ) 158 {return "CS";} 159 } | Popular Tags |