OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2010 The Android Open Source Project | 3 * Copyright 2010 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 #include "Test.h" | 9 #include "Test.h" |
10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 } | 32 } |
33 | 33 |
34 void addResource(SkPDFObject* object) { | 34 void addResource(SkPDFObject* object) { |
35 fResources.append(1, &object); | 35 fResources.append(1, &object); |
36 } | 36 } |
37 | 37 |
38 private: | 38 private: |
39 SkTDArray<SkPDFObject*> fResources; | 39 SkTDArray<SkPDFObject*> fResources; |
40 }; | 40 }; |
41 | 41 |
42 static bool encode_to_dct_stream(SkWStream* stream, const SkBitmap& bitmap, cons
t SkIRect& rect) { | 42 #define DUMMY_TEXT "DCT compessed stream." |
43 stream->writeText("DCT compessed stream."); | 43 |
44 return true; | 44 static SkData* encode_to_dct_data(size_t* pixelRefOffset, const SkBitmap& bitmap
) { |
| 45 *pixelRefOffset = 0; |
| 46 return SkData::NewWithProc(DUMMY_TEXT, sizeof(DUMMY_TEXT) - 1, NULL, NULL); |
45 } | 47 } |
46 | 48 |
47 static bool stream_equals(const SkDynamicMemoryWStream& stream, size_t offset, | 49 static bool stream_equals(const SkDynamicMemoryWStream& stream, size_t offset, |
48 const void* buffer, size_t len) { | 50 const void* buffer, size_t len) { |
49 SkAutoDataUnref data(stream.copyToData()); | 51 SkAutoDataUnref data(stream.copyToData()); |
50 if (offset + len > data->size()) { | 52 if (offset + len > data->size()) { |
51 return false; | 53 return false; |
52 } | 54 } |
53 return memcmp(data->bytes() + offset, buffer, len) == 0; | 55 return memcmp(data->bytes() + offset, buffer, len) == 0; |
54 } | 56 } |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 bitmap->allocPixels(); | 248 bitmap->allocPixels(); |
247 bitmap->eraseColor(SK_ColorWHITE); | 249 bitmap->eraseColor(SK_ColorWHITE); |
248 } | 250 } |
249 | 251 |
250 static void TestImage(skiatest::Reporter* reporter, const SkBitmap& bitmap, | 252 static void TestImage(skiatest::Reporter* reporter, const SkBitmap& bitmap, |
251 const char* expected, bool useDCTEncoder) { | 253 const char* expected, bool useDCTEncoder) { |
252 SkISize pageSize = SkISize::Make(bitmap.width(), bitmap.height()); | 254 SkISize pageSize = SkISize::Make(bitmap.width(), bitmap.height()); |
253 SkAutoTUnref<SkPDFDevice> dev(new SkPDFDevice(pageSize, pageSize, SkMatrix::
I())); | 255 SkAutoTUnref<SkPDFDevice> dev(new SkPDFDevice(pageSize, pageSize, SkMatrix::
I())); |
254 | 256 |
255 if (useDCTEncoder) { | 257 if (useDCTEncoder) { |
256 dev->setDCTEncoder(encode_to_dct_stream); | 258 dev->setDCTEncoder(encode_to_dct_data); |
257 } | 259 } |
258 | 260 |
259 SkCanvas c(dev); | 261 SkCanvas c(dev); |
260 c.drawBitmap(bitmap, 0, 0, NULL); | 262 c.drawBitmap(bitmap, 0, 0, NULL); |
261 | 263 |
262 SkPDFDocument doc; | 264 SkPDFDocument doc; |
263 doc.appendPage(dev); | 265 doc.appendPage(dev); |
264 | 266 |
265 SkDynamicMemoryWStream stream; | 267 SkDynamicMemoryWStream stream; |
266 doc.emitPDF(&stream); | 268 doc.emitPDF(&stream); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 | 428 |
427 TestSubstitute(reporter); | 429 TestSubstitute(reporter); |
428 | 430 |
429 test_issue1083(); | 431 test_issue1083(); |
430 | 432 |
431 TestImages(reporter); | 433 TestImages(reporter); |
432 } | 434 } |
433 | 435 |
434 #include "TestClassDef.h" | 436 #include "TestClassDef.h" |
435 DEFINE_TESTCLASS("PDFPrimitives", PDFPrimitivesTestClass, TestPDFPrimitives) | 437 DEFINE_TESTCLASS("PDFPrimitives", PDFPrimitivesTestClass, TestPDFPrimitives) |
OLD | NEW |