[PDF] Make the NOT_IMPLEMENTED macro not print anything by default.
Review URL: http://codereview.appspot.com/4351046
git-svn-id: http://skia.googlecode.com/svn/trunk@1050 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/pdf/SkPDFUtils.h b/include/pdf/SkPDFUtils.h
index 8c7d0c0..501d746 100644
--- a/include/pdf/SkPDFUtils.h
+++ b/include/pdf/SkPDFUtils.h
@@ -17,18 +17,26 @@
#ifndef SkPDFUtils_DEFINED
#define SkPDFUtils_DEFINED
-#define NOT_IMPLEMENTED(condition, assert) \
- do { \
- if (condition) { \
- fprintf(stderr, "NOT_IMPLEMENTED: " #condition "\n"); \
- SkDEBUGCODE(SkASSERT(!assert);) \
- } \
- } while(0)
+#include "SkPath.h"
class SkMatrix;
class SkPath;
class SkPDFArray;
+#if 0
+#define PRINT_NOT_IMPL(str) fprintf(stderr, str)
+#else
+#define PRINT_NOT_IMPL(str)
+#endif
+
+#define NOT_IMPLEMENTED(condition, assert) \
+ do { \
+ if (condition) { \
+ PRINT_NOT_IMPL("NOT_IMPLEMENTED: " #condition "\n"); \
+ SkDEBUGCODE(SkASSERT(!assert);) \
+ } \
+ } while(0)
+
class SkPDFUtils {
public:
static SkPDFArray* MatrixToArray(const SkMatrix& matrix);
diff --git a/src/pdf/SkPDFGraphicState.cpp b/src/pdf/SkPDFGraphicState.cpp
index 44419ec..7f03d0b 100644
--- a/src/pdf/SkPDFGraphicState.cpp
+++ b/src/pdf/SkPDFGraphicState.cpp
@@ -15,6 +15,7 @@
*/
#include "SkPDFGraphicState.h"
+#include "SkPDFUtils.h"
#include "SkStream.h"
#include "SkTypes.h"
@@ -145,14 +146,14 @@
insert("SA", new SkPDFBool(true))->unref(); // Auto stroke adjustment.
SkXfermode::Mode xfermode = SkXfermode::kSrcOver_Mode;
- // If asMode fails return false, default to kSrcOver_Mode.
+ // If asMode fails, default to kSrcOver_Mode.
if (fPaint.getXfermode())
fPaint.getXfermode()->asMode(&xfermode);
// If we don't support the mode, just use kSrcOver_Mode.
if (xfermode < 0 || xfermode > SkXfermode::kLastMode ||
blendModeFromXfermode(xfermode) == NULL) {
- fprintf(stderr, "NOT_IMPLEMENTED: xfermode = %d\n", xfermode);
xfermode = SkXfermode::kSrcOver_Mode;
+ NOT_IMPLEMENTED("unsupported xfermode", false);
}
insert("BM", new SkPDFName(blendModeFromXfermode(xfermode)))->unref();
}