Index: src/pdf/SkPDFDevice.cpp |
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp |
index 678e6c058f8ceefe0d450803dca95180d46900b2..a5c9557412032281fbbc341599baf5ff44dd451b 100644 |
--- a/src/pdf/SkPDFDevice.cpp |
+++ b/src/pdf/SkPDFDevice.cpp |
@@ -43,7 +43,7 @@ |
static void replace_srcmode_on_opaque_paint(SkPaint* paint) { |
if (kSrcOver_SkXfermodeInterpretation |
== SkInterpretXfermode(*paint, false)) { |
- paint->setXfermode(NULL); |
+ paint->setXfermode(nullptr); |
} |
} |
@@ -86,7 +86,7 @@ static void align_text(SkDrawCacheProc glyphCacheProc, const SkPaint& paint, |
SkMatrix ident; |
ident.reset(); |
- SkAutoGlyphCache autoCache(paint, NULL, &ident); |
+ SkAutoGlyphCache autoCache(paint, nullptr, &ident); |
SkGlyphCache* cache = autoCache.getCache(); |
const char* start = reinterpret_cast<const char*>(glyphs); |
@@ -126,7 +126,7 @@ static int force_glyph_encoding(const SkPaint& paint, const void* text, |
const uint16_t** glyphIDs) { |
// Make sure we have a glyph id encoding. |
if (paint.getTextEncoding() != SkPaint::kGlyphID_TextEncoding) { |
- int numGlyphs = paint.textToGlyphs(text, len, NULL); |
+ int numGlyphs = paint.textToGlyphs(text, len, nullptr); |
storage->reset(numGlyphs); |
paint.textToGlyphs(text, len, storage->get()); |
*glyphIDs = storage->get(); |
@@ -204,10 +204,10 @@ struct GraphicStateEntry { |
int fGraphicStateIndex; |
// We may change the font (i.e. for Type1 support) within a |
- // ContentEntry. This is the one currently in effect, or NULL if none. |
+ // ContentEntry. This is the one currently in effect, or nullptr if none. |
SkPDFFont* fFont; |
// In PDF, text size has no default value. It is only valid if fFont is |
- // not NULL. |
+ // not nullptr. |
SkScalar fTextSize; |
}; |
@@ -216,7 +216,7 @@ GraphicStateEntry::GraphicStateEntry() : fColor(SK_ColorBLACK), |
fTextFill(SkPaint::kFill_Style), |
fShaderIndex(-1), |
fGraphicStateIndex(-1), |
- fFont(NULL), |
+ fFont(nullptr), |
fTextSize(SK_ScalarNaN) { |
fMatrix.reset(); |
} |
@@ -309,7 +309,7 @@ static void skip_clip_stack_prefix(const SkClipStack& prefix, |
} |
} |
- SkASSERT(prefixEntry == NULL); |
+ SkASSERT(prefixEntry == nullptr); |
} |
static void emit_clip(SkPath* clipPath, SkRect* clipRect, |
@@ -444,7 +444,7 @@ void GraphicStackState::updateClip(const SkClipStack& clipStack, |
#ifdef SK_PDF_USE_PATHOPS_CLIPPING |
SkPath clipPath; |
if (get_clip_stack_path(transform, clipStack, clipRegion, &clipPath)) { |
- emit_clip(&clipPath, NULL, fContentStream); |
+ emit_clip(&clipPath, nullptr, fContentStream); |
return; |
} |
#endif |
@@ -474,7 +474,7 @@ void GraphicStackState::updateClip(const SkClipStack& clipStack, |
if (needRegion) { |
SkPath clipPath; |
SkAssertResult(clipRegion.getBoundaryPath(&clipPath)); |
- emit_clip(&clipPath, NULL, fContentStream); |
+ emit_clip(&clipPath, nullptr, fContentStream); |
} else { |
skip_clip_stack_prefix(fEntries[0].fClipStack, clipStack, &iter); |
const SkClipStack::Element* clipEntry; |
@@ -484,14 +484,14 @@ void GraphicStackState::updateClip(const SkClipStack& clipStack, |
case SkClipStack::Element::kRect_Type: { |
SkRect translatedClip; |
transform.mapRect(&translatedClip, clipEntry->getRect()); |
- emit_clip(NULL, &translatedClip, fContentStream); |
+ emit_clip(nullptr, &translatedClip, fContentStream); |
break; |
} |
default: { |
SkPath translatedPath; |
clipEntry->asPath(&translatedPath); |
translatedPath.transform(transform, &translatedPath); |
- emit_clip(&translatedPath, NULL, fContentStream); |
+ emit_clip(&translatedPath, nullptr, fContentStream); |
break; |
} |
} |
@@ -572,13 +572,13 @@ static bool not_supported_for_layers(const SkPaint& layerPaint) { |
// to improve quality and file size (http://skbug.com/3043) |
// TODO: should we return true if there is a colorfilter? |
- return layerPaint.getImageFilter() != NULL; |
+ return layerPaint.getImageFilter() != nullptr; |
} |
SkBaseDevice* SkPDFDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint* layerPaint) { |
if (cinfo.fForImageFilter || |
(layerPaint && not_supported_for_layers(*layerPaint))) { |
- return NULL; |
+ return nullptr; |
} |
SkISize size = SkISize::Make(cinfo.fInfo.width(), cinfo.fInfo.height()); |
return SkPDFDevice::Create(size, fRasterDpi, fCanon); |
@@ -594,9 +594,9 @@ struct ContentEntry { |
// So we manually destruct the object. |
~ContentEntry() { |
ContentEntry* val = fNext.detach(); |
- while (val != NULL) { |
+ while (val != nullptr) { |
ContentEntry* valNext = val->fNext.detach(); |
- // When the destructor is called, fNext is NULL and exits. |
+ // When the destructor is called, fNext is nullptr and exits. |
delete val; |
val = valNext; |
} |
@@ -610,18 +610,18 @@ public: |
ScopedContentEntry(SkPDFDevice* device, const SkDraw& draw, |
const SkPaint& paint, bool hasText = false) |
: fDevice(device), |
- fContentEntry(NULL), |
+ fContentEntry(nullptr), |
fXfermode(SkXfermode::kSrcOver_Mode), |
- fDstFormXObject(NULL) { |
+ fDstFormXObject(nullptr) { |
init(draw.fClipStack, *draw.fClip, *draw.fMatrix, paint, hasText); |
} |
ScopedContentEntry(SkPDFDevice* device, const SkClipStack* clipStack, |
const SkRegion& clipRegion, const SkMatrix& matrix, |
const SkPaint& paint, bool hasText = false) |
: fDevice(device), |
- fContentEntry(NULL), |
+ fContentEntry(nullptr), |
fXfermode(SkXfermode::kSrcOver_Mode), |
- fDstFormXObject(NULL) { |
+ fDstFormXObject(nullptr) { |
init(clipStack, clipRegion, matrix, paint, hasText); |
} |
@@ -629,7 +629,7 @@ public: |
if (fContentEntry) { |
SkPath* shape = &fShape; |
if (shape->isEmpty()) { |
- shape = NULL; |
+ shape = nullptr; |
} |
fDevice->finishContentEntry(fXfermode, fDstFormXObject, shape); |
} |
@@ -702,11 +702,11 @@ SkPDFDevice::SkPDFDevice(SkISize pageSize, SkScalar rasterDpi, SkPDFCanon* canon |
, fPageSize(pageSize) |
, fContentSize(pageSize) |
, fExistingClipRegion(SkIRect::MakeSize(pageSize)) |
- , fAnnotations(NULL) |
- , fLastContentEntry(NULL) |
- , fLastMarginContentEntry(NULL) |
+ , fAnnotations(nullptr) |
+ , fLastContentEntry(nullptr) |
+ , fLastMarginContentEntry(nullptr) |
, fDrawingArea(kContent_DrawingArea) |
- , fClipStack(NULL) |
+ , fClipStack(nullptr) |
, fFontGlyphUsage(new SkPDFGlyphSetMap) |
, fRasterDpi(rasterDpi) |
, fCanon(canon) { |
@@ -731,13 +731,13 @@ SkPDFDevice::~SkPDFDevice() { |
} |
void SkPDFDevice::init() { |
- fAnnotations = NULL; |
+ fAnnotations = nullptr; |
fContentEntries.free(); |
- fLastContentEntry = NULL; |
+ fLastContentEntry = nullptr; |
fMarginContentEntries.free(); |
- fLastMarginContentEntry = NULL; |
+ fLastMarginContentEntry = nullptr; |
fDrawingArea = kContent_DrawingArea; |
- if (fFontGlyphUsage.get() == NULL) { |
+ if (fFontGlyphUsage.get() == nullptr) { |
fFontGlyphUsage.reset(new SkPDFGlyphSetMap); |
} |
} |
@@ -946,7 +946,7 @@ static SkPDFDict* create_rect_annotation(const SkRect& r, |
if (linkToName) { |
return create_link_named_dest(linkToName, r); |
} |
- return NULL; |
+ return nullptr; |
} |
void SkPDFDevice::drawRect(const SkDraw& d, |
@@ -963,7 +963,7 @@ void SkPDFDevice::drawRect(const SkDraw& d, |
} |
SkPath path; |
path.addRect(r); |
- drawPath(d, path, paint, NULL, true); |
+ drawPath(d, path, paint, nullptr, true); |
return; |
} |
@@ -996,7 +996,7 @@ void SkPDFDevice::drawRRect(const SkDraw& draw, |
replace_srcmode_on_opaque_paint(&paint); |
SkPath path; |
path.addRRect(rrect); |
- this->drawPath(draw, path, paint, NULL, true); |
+ this->drawPath(draw, path, paint, nullptr, true); |
} |
void SkPDFDevice::drawOval(const SkDraw& draw, |
@@ -1006,7 +1006,7 @@ void SkPDFDevice::drawOval(const SkDraw& draw, |
replace_srcmode_on_opaque_paint(&paint); |
SkPath path; |
path.addOval(oval); |
- this->drawPath(draw, path, paint, NULL, true); |
+ this->drawPath(draw, path, paint, nullptr, true); |
} |
void SkPDFDevice::drawPath(const SkDraw& d, |
@@ -1043,14 +1043,14 @@ void SkPDFDevice::drawPath(const SkDraw& d, |
bool fill = paint.getFillPath(origPath, pathPtr); |
SkPaint noEffectPaint(paint); |
- noEffectPaint.setPathEffect(NULL); |
+ noEffectPaint.setPathEffect(nullptr); |
if (fill) { |
noEffectPaint.setStyle(SkPaint::kFill_Style); |
} else { |
noEffectPaint.setStyle(SkPaint::kStroke_Style); |
noEffectPaint.setStrokeWidth(0); |
} |
- drawPath(d, *pathPtr, noEffectPaint, NULL, true); |
+ drawPath(d, *pathPtr, noEffectPaint, nullptr, true); |
return; |
} |
@@ -1154,7 +1154,7 @@ void SkPDFDevice::drawBitmap(const SkDraw& d, const SkBitmap& bitmap, |
SkMatrix transform = matrix; |
transform.postConcat(*d.fMatrix); |
- this->internalDrawBitmap(transform, d.fClipStack, *d.fClip, bitmap, NULL, |
+ this->internalDrawBitmap(transform, d.fClipStack, *d.fClip, bitmap, nullptr, |
paint); |
} |
@@ -1171,7 +1171,7 @@ void SkPDFDevice::drawSprite(const SkDraw& d, const SkBitmap& bitmap, |
SkMatrix matrix; |
matrix.setTranslate(SkIntToScalar(x), SkIntToScalar(y)); |
- this->internalDrawBitmap(matrix, d.fClipStack, *d.fClip, bitmap, NULL, |
+ this->internalDrawBitmap(matrix, d.fClipStack, *d.fClip, bitmap, nullptr, |
paint); |
} |
@@ -1215,8 +1215,8 @@ void SkPDFDevice::drawText(const SkDraw& d, const void* text, size_t len, |
SkPaint paint = srcPaint; |
replace_srcmode_on_opaque_paint(&paint); |
- NOT_IMPLEMENTED(paint.getMaskFilter() != NULL, false); |
- if (paint.getMaskFilter() != NULL) { |
+ NOT_IMPLEMENTED(paint.getMaskFilter() != nullptr, false); |
+ if (paint.getMaskFilter() != nullptr) { |
// Don't pretend we support drawing MaskFilters, it makes for artifacts |
// making text unreadable (e.g. same text twice when using CSS shadows). |
return; |
@@ -1228,7 +1228,7 @@ void SkPDFDevice::drawText(const SkDraw& d, const void* text, size_t len, |
} |
SkGlyphStorage storage(0); |
- const uint16_t* glyphIDs = NULL; |
+ const uint16_t* glyphIDs = nullptr; |
int numGlyphs = force_glyph_encoding(paint, text, len, &storage, &glyphIDs); |
textPaint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); |
@@ -1267,8 +1267,8 @@ void SkPDFDevice::drawPosText(const SkDraw& d, const void* text, size_t len, |
SkPaint paint = srcPaint; |
replace_srcmode_on_opaque_paint(&paint); |
- NOT_IMPLEMENTED(paint.getMaskFilter() != NULL, false); |
- if (paint.getMaskFilter() != NULL) { |
+ NOT_IMPLEMENTED(paint.getMaskFilter() != nullptr, false); |
+ if (paint.getMaskFilter() != nullptr) { |
// Don't pretend we support drawing MaskFilters, it makes for artifacts |
// making text unreadable (e.g. same text twice when using CSS shadows). |
return; |
@@ -1281,7 +1281,7 @@ void SkPDFDevice::drawPosText(const SkDraw& d, const void* text, size_t len, |
} |
SkGlyphStorage storage(0); |
- const uint16_t* glyphIDs = NULL; |
+ const uint16_t* glyphIDs = nullptr; |
size_t numGlyphs = force_glyph_encoding(paint, text, len, &storage, &glyphIDs); |
textPaint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); |
@@ -1374,7 +1374,7 @@ void SkPDFDevice::onAttachToCanvas(SkCanvas* canvas) { |
void SkPDFDevice::onDetachFromCanvas() { |
INHERITED::onDetachFromCanvas(); |
- fClipStack = NULL; |
+ fClipStack = nullptr; |
} |
SkSurface* SkPDFDevice::newSurface(const SkImageInfo& info, const SkSurfaceProps& props) { |
@@ -1451,7 +1451,7 @@ void SkPDFDevice::copyContentEntriesToData(ContentEntry* entry, |
// TODO(ctguil): For margins, I'm not sure fExistingClipStack/Region is the |
// right thing to pass here. |
GraphicStackState gsState(fExistingClipStack, fExistingClipRegion, data); |
- while (entry != NULL) { |
+ while (entry != nullptr) { |
SkPoint translation; |
translation.iset(this->getOrigin()); |
translation.negate(); |
@@ -1485,7 +1485,7 @@ void SkPDFDevice::writeContent(SkWStream* out) const { |
if (fPageSize != fContentSize) { |
SkRect r = SkRect::MakeWH(SkIntToScalar(this->width()), |
SkIntToScalar(this->height())); |
- emit_clip(NULL, &r, out); |
+ emit_clip(nullptr, &r, out); |
} |
SkPDFDevice::copyContentEntriesToData(fContentEntries.get(), out); |
@@ -1525,7 +1525,7 @@ bool SkPDFDevice::handleInversePath(const SkDraw& d, const SkPath& origPath, |
// To be consistent with the raster output, hairline strokes |
// are rendered as non-inverted. |
modifiedPath.toggleInverseFillType(); |
- drawPath(d, modifiedPath, paint, NULL, true); |
+ drawPath(d, modifiedPath, paint, nullptr, true); |
return true; |
} |
} |
@@ -1584,7 +1584,7 @@ bool SkPDFDevice::handlePointAnnotation(const SkPoint* points, size_t count, |
} |
void SkPDFDevice::addAnnotation(SkPDFDict* annotation) { |
- if (NULL == fAnnotations) { |
+ if (nullptr == fAnnotations) { |
fAnnotations = new SkPDFArray; |
} |
fAnnotations->appendObject(annotation); |
@@ -1653,14 +1653,14 @@ ContentEntry* SkPDFDevice::setUpContentEntry(const SkClipStack* clipStack, |
const SkPaint& paint, |
bool hasText, |
SkPDFFormXObject** dst) { |
- *dst = NULL; |
+ *dst = nullptr; |
if (clipRegion.isEmpty()) { |
- return NULL; |
+ return nullptr; |
} |
// The clip stack can come from an SkDraw where it is technically optional. |
SkClipStack synthesizedClipStack; |
- if (clipStack == NULL) { |
+ if (clipStack == nullptr) { |
if (clipRegion == fExistingClipRegion) { |
clipStack = &fExistingClipStack; |
} else { |
@@ -1699,7 +1699,7 @@ ContentEntry* SkPDFDevice::setUpContentEntry(const SkClipStack* clipStack, |
xfermode != SkXfermode::kSrcOut_Mode) { |
// Except for Src and SrcOut, if there isn't anything already there, |
// then we're done. |
- return NULL; |
+ return nullptr; |
} |
} |
// TODO(vandebo): Figure out how/if we can handle the following modes: |
@@ -1707,7 +1707,7 @@ ContentEntry* SkPDFDevice::setUpContentEntry(const SkClipStack* clipStack, |
// Dst xfer mode doesn't draw source at all. |
if (xfermode == SkXfermode::kDst_Mode) { |
- return NULL; |
+ return nullptr; |
} |
ContentEntry* entry; |
@@ -1798,7 +1798,7 @@ void SkPDFDevice::finishContentEntry(SkXfermode::Mode xfermode, |
// If there is shape, then an empty source with Src, SrcIn, SrcOut, |
// DstIn, DstAtop or Modulate reduces to Clear and DstOut or SrcAtop |
// reduces to Dst. |
- if (shape == NULL || xfermode == SkXfermode::kDstOut_Mode || |
+ if (shape == nullptr || xfermode == SkXfermode::kDstOut_Mode || |
xfermode == SkXfermode::kSrcATop_Mode) { |
ScopedContentEntry content(this, &fExistingClipStack, |
fExistingClipRegion, identity, |
@@ -1827,7 +1827,7 @@ void SkPDFDevice::finishContentEntry(SkXfermode::Mode xfermode, |
} else { |
SkAutoTUnref<SkPDFFormXObject> dstMaskStorage; |
SkPDFFormXObject* dstMask = srcFormXObject.get(); |
- if (shape != NULL) { |
+ if (shape != nullptr) { |
// Draw shape into a form-xobject. |
SkDraw d; |
d.fMatrix = &identity; |
@@ -1836,7 +1836,7 @@ void SkPDFDevice::finishContentEntry(SkXfermode::Mode xfermode, |
SkPaint filledPaint; |
filledPaint.setColor(SK_ColorBLACK); |
filledPaint.setStyle(SkPaint::kFill_Style); |
- this->drawPath(d, *shape, filledPaint, NULL, true); |
+ this->drawPath(d, *shape, filledPaint, nullptr, true); |
dstMaskStorage.reset(createFormXObjectFromDevice()); |
dstMask = dstMaskStorage.get(); |
@@ -1915,9 +1915,9 @@ void SkPDFDevice::populateGraphicStateEntryFromPaint( |
const SkPaint& paint, |
bool hasText, |
GraphicStateEntry* entry) { |
- NOT_IMPLEMENTED(paint.getPathEffect() != NULL, false); |
- NOT_IMPLEMENTED(paint.getMaskFilter() != NULL, false); |
- NOT_IMPLEMENTED(paint.getColorFilter() != NULL, false); |
+ NOT_IMPLEMENTED(paint.getPathEffect() != nullptr, false); |
+ NOT_IMPLEMENTED(paint.getMaskFilter() != nullptr, false); |
+ NOT_IMPLEMENTED(paint.getColorFilter() != nullptr, false); |
entry->fMatrix = matrix; |
entry->fClipStack = clipStack; |
@@ -1967,7 +1967,7 @@ void SkPDFDevice::populateGraphicStateEntryFromPaint( |
SkShader::GradientInfo gradientInfo; |
SkColor gradientColor; |
gradientInfo.fColors = &gradientColor; |
- gradientInfo.fColorOffsets = NULL; |
+ gradientInfo.fColorOffsets = nullptr; |
gradientInfo.fColorCount = 1; |
if (shader->asAGradient(&gradientInfo) == |
SkShader::kColor_GradientType) { |
@@ -2025,7 +2025,7 @@ int SkPDFDevice::addXObjectResource(SkPDFObject* xObject) { |
void SkPDFDevice::updateFont(const SkPaint& paint, uint16_t glyphID, |
ContentEntry* contentEntry) { |
SkTypeface* typeface = paint.getTypeface(); |
- if (contentEntry->fState.fFont == NULL || |
+ if (contentEntry->fState.fFont == nullptr || |
contentEntry->fState.fTextSize != paint.getTextSize() || |
!contentEntry->fState.fFont->hasGlyph(glyphID)) { |
int fontIndex = getFontResourceIndex(typeface, glyphID); |
@@ -2080,7 +2080,7 @@ void SkPDFDevice::internalDrawBitmap(const SkMatrix& origMatrix, |
subsetBitmap = &tmpSubsetBitmap; |
*subsetBitmap = origBitmap; |
} |
- srcRect = NULL; |
+ srcRect = nullptr; |
// Transform the bitmap in the new space, without taking into |
// account the initial transform. |
@@ -2156,7 +2156,7 @@ void SkPDFDevice::internalDrawBitmap(const SkMatrix& origMatrix, |
SkScalarCeilToInt(bounds.width()), |
SkScalarCeilToInt(bounds.height()))); |
clipRegion = &perspectiveBounds; |
- srcRect = NULL; |
+ srcRect = nullptr; |
bitmap = &perspectiveBitmap; |
} |