--- /dev/null
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "Resources.h"
+#include "SkCanvas.h"
+#include "gm.h"
+
+/*
+ * Test decoding grayscale JPEG
+ * http://crbug.com/436079
+ */
+DEF_SIMPLE_GM(grayscalejpg, canvas, 128, 128) {
+ const char kResource[] = "grayscale.jpg";
+ SkBitmap bitmap;
+ if (GetResourceAsBitmap(kResource, &bitmap)) {
+ canvas->drawBitmap(bitmap, 0.0f, 0.0f);
+ } else {
+ SkDebugf("\nCould not decode file '%s'. Did you forget"
+ " to set the resourcePath?\n", kResource);
+ }
+}
'../gm/gradientDirtyLaundry.cpp',
'../gm/gradient_matrix.cpp',
'../gm/gradtext.cpp',
+ '../gm/grayscalejpg.cpp',
'../gm/hairlines.cpp',
'../gm/hairmodes.cpp',
'../gm/hittestpath.cpp',
return true;
}
+#if 0 // reenable when we can figure out the JPEG colorspace
namespace {
/**
* This PDFObject assumes that its constructor was handed
"/Subtype /Image\n"
"/Width %d\n"
"/Height %d\n"
- "/ColorSpace /DeviceRGB\n"
+ "/ColorSpace /DeviceRGB\n" // or DeviceGray
"/BitsPerComponent 8\n"
"/Filter /DCTDecode\n"
"/ColorTransform 0\n"
sizeof(bytesSixToTen))));
}
} // namespace
+#endif
SkPDFObject* SkPDFCreateImageObject(
const SkBitmap& bitmap,
const SkIRect& subset,
SkPicture::EncodeBitmap encoder) {
+#if 0 // reenable when we can figure out the JPEG colorspace
if (SkIRect::MakeWH(bitmap.width(), bitmap.height()) == subset) {
SkAutoTUnref<SkData> encodedData(ref_encoded_data(bitmap));
if (is_jfif_jpeg(encodedData)) {
(encodedData, bitmap.width(), bitmap.height()));
}
}
+#endif
return SkPDFImage::CreateImage(bitmap, subset, encoder);
}
SkASSERT(pdfData);
pdf.reset();
- REPORTER_ASSERT(r, is_subset_of(mandrillData, pdfData));
+ // Test disabled, waiting on resolution to http://skbug.com/3180
+ // REPORTER_ASSERT(r, is_subset_of(mandrillData, pdfData));
// This JPEG uses a nonstandard colorspace - it can not be
// embedded into the PDF directly.