summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Muizelaar <jeff@infidigm.net>2007-05-25 14:59:39 -0400
committerJeff Muizelaar <jeff@infidigm.net>2007-05-25 14:59:39 -0400
commitadebb20e932dde3931900bbe3c05ad99ff921e5c (patch)
treecc0144ca06882465e437519b0b09c6ecc4440527
parent79535867d1195e32d0dc0149b5a55357b07ee906 (diff)
Test inverted masks by using a different decode array.
-rwxr-xr-xtest-gen/mask.pl25
-rw-r--r--tests/mask.pdf45
-rw-r--r--tests/mask.pdf-0-cairo-ref.pngbin3666 -> 4676 bytes
3 files changed, 61 insertions, 9 deletions
diff --git a/test-gen/mask.pl b/test-gen/mask.pl
index 2a4939a..4a1645f 100755
--- a/test-gen/mask.pl
+++ b/test-gen/mask.pl
@@ -29,10 +29,35 @@ $pdf->new_obj($xo);
$root->{'Resources'}->{'XObject'}=PDFDict();
$root->{'Resources'}->{'XObject'}->{$key}=$xo;
+my $key2='IMG2';
+my $xo2=PDFDict();
+$xo2->{'ImageMask'}=PDFBool('true');
+$xo2->{'Type'}=PDFName('XObject');
+$xo2->{'Subtype'}=PDFName('Image');
+$xo2->{'Name'}=PDFName($key);
+$xo2->{'Width'}=PDFNum($w);
+$xo2->{'Height'}=PDFNum($h);
+$xo2->{'Decode'}=PDFArray(PDFNum(1));
+$xo2->{'Filter'}=PDFArray(PDFName('FlateDecode'));
+$xo2->{'BitsPerComponent'}=PDFNum($bpc);
+$xo2->{'ColorSpace'}=PDFName($cs);
+$xo2->{' stream'}=$img;
+$pdf->new_obj($xo);
+$root->{'Resources'}->{'XObject'}=PDFDict();
+$root->{'Resources'}->{'XObject'}->{$key}=$xo;
+$root->{'Resources'}->{'XObject'}->{$key2}=$xo2;
+
+
$page->add("q\n"); #saveState
$page->add("0 0 1 rg\n");
$page->add(sprintf("%0.3f %0.3f %0.3f %0.3f %0.3f %0.3f cm\n", $w,0,0,$h,100,500));
$page->add("/$key Do\n");
+$page->add("Q\n"); #restoreState
+$page->add("q\n"); #saveState
+$page->add("0 0 1 rg\n");
+$page->add(sprintf("%0.3f %0.3f %0.3f %0.3f %0.3f %0.3f cm\n", $w,0,0,$h,100,300));
+$page->add("/$key2 Do\n");
$page->add("Q"); #restoreState
+
$pdf->out_file($ARGV[0]); # output the document to a file
diff --git a/tests/mask.pdf b/tests/mask.pdf
index 85936bc..9b1596f 100644
--- a/tests/mask.pdf
+++ b/tests/mask.pdf
@@ -13,6 +13,24 @@ endobj
/Resources <<
/XObject <<
/IMG1 4 0 R
+/IMG2 <<
+/Type /XObject
+/Subtype /Image
+/Decode [ 1 ]
+/Height 128
+/Width 171
+/ColorSpace /DeviceGray
+/Length 6 0 R
+/Filter [ /FlateDecode ]
+/ImageMask true
+/BitsPerComponent 1
+/Name /IMG1
+>>
+stream
+x͑ gyH2HhB9P
+2v;xZ_?[U*`hU @ר~U4unSԦױMM~H}JhRM ㅢc{Rr: QR˨%f/JG^Z
+iSQZU::*WՄk]ЮAOt> I7TU %Ie~RSsDYV1ܕ8Sx&TTFRA(\AgM﷩*}LӔo{|{_{
+endstream
>>
/ProcSet [ /PDF /Text ]
>>
@@ -34,7 +52,7 @@ endobj
/Height 128
/Width 171
/ColorSpace /DeviceGray
-/Length 6 0 R
+/Length 7 0 R
/Filter [ /FlateDecode ]
/ImageMask true
/BitsPerComponent 1
@@ -48,7 +66,7 @@ endstream
endobj
5 0 obj
<<
-/Length 69
+/Length 138
>>
stream
q
@@ -56,25 +74,34 @@ q
171.000 0.000 0.000 128.000 100.000 500.000 cm
/IMG1 Do
Q
+q
+0 0 1 rg
+171.000 0.000 0.000 128.000 100.000 300.000 cm
+/IMG2 Do
+Q
endstream
endobj
6 0 obj
294
endobj
+7 0 obj
+294
+endobj
xref
-0 7
+0 8
0000000000 65535 f
0000000015 00000 n
0000000064 00000 n
-0000000217 00000 n
-0000000284 00000 n
-0000000781 00000 n
-0000000899 00000 n
+0000000719 00000 n
+0000000786 00000 n
+0000001283 00000 n
+0000001471 00000 n
+0000001490 00000 n
trailer
<<
/Root 1 0 R
-/Size 7
+/Size 8
>>
startxref
-918
+1509
%%EOF
diff --git a/tests/mask.pdf-0-cairo-ref.png b/tests/mask.pdf-0-cairo-ref.png
index a881760..eb25304 100644
--- a/tests/mask.pdf-0-cairo-ref.png
+++ b/tests/mask.pdf-0-cairo-ref.png
Binary files differ