OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "DMSrcSink.h" | 8 #include "DMSrcSink.h" |
9 #include "SkAndroidCodec.h" | 9 #include "SkAndroidCodec.h" |
10 #include "SkCodec.h" | 10 #include "SkCodec.h" |
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1026 Error SVGSink::draw(const Src& src, SkBitmap*, SkWStream* dst, SkString*) const
{ | 1026 Error SVGSink::draw(const Src& src, SkBitmap*, SkWStream* dst, SkString*) const
{ |
1027 SkAutoTDelete<SkXMLWriter> xmlWriter(new SkXMLStreamWriter(dst)); | 1027 SkAutoTDelete<SkXMLWriter> xmlWriter(new SkXMLStreamWriter(dst)); |
1028 SkAutoTUnref<SkCanvas> canvas(SkSVGCanvas::Create( | 1028 SkAutoTUnref<SkCanvas> canvas(SkSVGCanvas::Create( |
1029 SkRect::MakeWH(SkIntToScalar(src.size().width()), SkIntToScalar(src.size
().height())), | 1029 SkRect::MakeWH(SkIntToScalar(src.size().width()), SkIntToScalar(src.size
().height())), |
1030 xmlWriter)); | 1030 xmlWriter)); |
1031 return src.draw(canvas); | 1031 return src.draw(canvas); |
1032 } | 1032 } |
1033 | 1033 |
1034 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ | 1034 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ |
1035 | 1035 |
1036 RasterSink::RasterSink(SkColorType colorType) : fColorType(colorType) {} | 1036 RasterSink::RasterSink(SkColorType colorType, SkColorProfileType profileType) |
| 1037 : fColorType(colorType) |
| 1038 , fProfileType(profileType) {} |
1037 | 1039 |
1038 Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString*) con
st { | 1040 Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString*) con
st { |
1039 const SkISize size = src.size(); | 1041 const SkISize size = src.size(); |
1040 // If there's an appropriate alpha type for this color type, use it, otherwi
se use premul. | 1042 // If there's an appropriate alpha type for this color type, use it, otherwi
se use premul. |
1041 SkAlphaType alphaType = kPremul_SkAlphaType; | 1043 SkAlphaType alphaType = kPremul_SkAlphaType; |
1042 (void)SkColorTypeValidateAlphaType(fColorType, alphaType, &alphaType); | 1044 (void)SkColorTypeValidateAlphaType(fColorType, alphaType, &alphaType); |
1043 | 1045 |
1044 SkMallocPixelRef::ZeroedPRFactory factory; | 1046 SkMallocPixelRef::ZeroedPRFactory factory; |
1045 dst->allocPixels(SkImageInfo::Make(size.width(), size.height(), fColorType,
alphaType), | 1047 dst->allocPixels(SkImageInfo::Make(size.width(), size.height(), |
| 1048 fColorType, alphaType, fProfileType), |
1046 &factory, | 1049 &factory, |
1047 nullptr/*colortable*/); | 1050 nullptr/*colortable*/); |
1048 SkCanvas canvas(*dst); | 1051 SkCanvas canvas(*dst); |
1049 return src.draw(&canvas); | 1052 return src.draw(&canvas); |
1050 } | 1053 } |
1051 | 1054 |
1052 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ | 1055 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~*/ |
1053 | 1056 |
1054 // Handy for front-patching a Src. Do whatever up-front work you need, then cal
l draw_to_canvas(), | 1057 // Handy for front-patching a Src. Do whatever up-front work you need, then cal
l draw_to_canvas(), |
1055 // passing the Sink draw() arguments, a size, and a function draws into an SkCan
vas. | 1058 // passing the Sink draw() arguments, a size, and a function draws into an SkCan
vas. |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1419 skr.visit<void>(i, drawsAsSingletonPictures); | 1422 skr.visit<void>(i, drawsAsSingletonPictures); |
1420 } | 1423 } |
1421 SkAutoTUnref<SkPicture> macroPic(macroRec.endRecordingAsPicture()); | 1424 SkAutoTUnref<SkPicture> macroPic(macroRec.endRecordingAsPicture()); |
1422 | 1425 |
1423 canvas->drawPicture(macroPic); | 1426 canvas->drawPicture(macroPic); |
1424 return check_against_reference(bitmap, src, fSink); | 1427 return check_against_reference(bitmap, src, fSink); |
1425 }); | 1428 }); |
1426 } | 1429 } |
1427 | 1430 |
1428 } // namespace DM | 1431 } // namespace DM |
OLD | NEW |