***Disables swizzles to 565.
We may want to enable swizzles to 565
for images that are encoded in a format
similar to 565, however, we do not want
to take images that decode naturally to
kN32 and then convert them to 565.
***Enable swizzles to kIndex_8. For images
encoded in a color table format, we suggest
that they be decoded to kIndex_8. When we
decode, we only allow conversion to kIndex_8
if it matches the suggested color type (except
wbmp which seems good as is).
***Modify dm to test images that decode to
kIndex_8.
BUG=skia:3257
BUG=skia:3440
Review URL: https://codereview.chromium.org/1055743003
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 57af911..0807cb6 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -13,6 +13,7 @@
#include "SkBBoxHierarchy.h"
#include "SkBitmap.h"
#include "SkCanvas.h"
+#include "SkCodec.h"
#include "SkData.h"
#include "SkGPipe.h"
#include "SkPicture.h"
@@ -94,14 +95,20 @@
kNormal_Mode,
kScanline_Mode,
};
- CodecSrc(Path, Mode);
+ enum DstColorType {
+ kGetFromCanvas_DstColorType,
+ kIndex8_Always_DstColorType,
+ kGrayscale_Always_DstColorType,
+ };
+ CodecSrc(Path, Mode, DstColorType);
Error draw(SkCanvas*) const override;
SkISize size() const override;
Name name() const override;
private:
- Path fPath;
- Mode fMode;
+ Path fPath;
+ Mode fMode;
+ DstColorType fDstColorType;
};