| OLD | NEW |
| (Empty) |
| 1 #include "SkPdfBasics.h" | |
| 2 #include "SkPdfNativeTokenizer.h" | |
| 3 | |
| 4 #include "SkDashPathEffect.h" | |
| 5 | |
| 6 PdfContext::PdfContext(SkNativeParsedPDF* doc) | |
| 7 : fPdfDoc(doc) | |
| 8 , fTmpPageAllocator(new SkPdfAllocator()) { | |
| 9 } | |
| 10 | |
| 11 PdfContext::~PdfContext() { | |
| 12 delete fTmpPageAllocator; | |
| 13 } | |
| 14 | |
| 15 void SkPdfGraphicsState::applyGraphicsState(SkPaint* paint, bool stroking) { | |
| 16 if (stroking) { | |
| 17 fStroking.applyGraphicsState(paint); | |
| 18 } else { | |
| 19 fNonStroking.applyGraphicsState(paint); | |
| 20 } | |
| 21 | |
| 22 // TODO(edisonn): get this from pdfContext->options, | |
| 23 // or pdfContext->addPaintOptions(&paint); | |
| 24 paint->setAntiAlias(true); | |
| 25 | |
| 26 // TODO(edisonn): miter, ... | |
| 27 if (stroking) { | |
| 28 paint->setStrokeWidth(SkDoubleToScalar(fLineWidth)); | |
| 29 // TODO(edisonn): perf, two sets of allocs, create SkDashPathEffect cons
tr that takes ownership | |
| 30 // of the intervals | |
| 31 if (fDashArrayLength > 0) { | |
| 32 paint->setPathEffect(new SkDashPathEffect(fDashArray, fDashArrayLeng
th, fDashPhase))->unref(); | |
| 33 } | |
| 34 } | |
| 35 | |
| 36 // TODO(edisonn): NYI multiple blend modes | |
| 37 if (fBlendModesLength == 1 && fBlendModes[0] != SkXfermode::kSrc_Mode) { | |
| 38 paint->setXfermodeMode(fBlendModes[0]); | |
| 39 } | |
| 40 | |
| 41 //paint->setStrokeMiter(SkDoubleToScalar(fMiterLimit)); | |
| 42 // TODO(edisonn): impl cap and join | |
| 43 } | |
| OLD | NEW |