add dumpHex option to rect and rrect, to match path
BUG=skia:
Review URL: https://codereview.chromium.org/801383002
diff --git a/src/core/SkRRect.cpp b/src/core/SkRRect.cpp
index 10d3d76..d3a571f 100644
--- a/src/core/SkRRect.cpp
+++ b/src/core/SkRRect.cpp
@@ -445,17 +445,27 @@
return kSizeInMemory;
}
-#ifdef SK_DEVELOPER
-void SkRRect::dump() const {
- SkDebugf("Rect: ");
- fRect.dump();
- SkDebugf(" Corners: { TL: (%f, %f), TR: (%f, %f), BR: (%f, %f), BL: (%f, %f) }",
- fRadii[kUpperLeft_Corner].fX, fRadii[kUpperLeft_Corner].fY,
- fRadii[kUpperRight_Corner].fX, fRadii[kUpperRight_Corner].fY,
- fRadii[kLowerRight_Corner].fX, fRadii[kLowerRight_Corner].fY,
- fRadii[kLowerLeft_Corner].fX, fRadii[kLowerLeft_Corner].fY);
+#include "SkString.h"
+#include "SkStringUtils.h"
+
+void SkRRect::dump(bool asHex) const {
+ SkScalarAsStringType asType = asHex ? kHex_SkScalarAsStringType : kDec_SkScalarAsStringType;
+
+ fRect.dump(asHex);
+ SkString line("const SkPoint corners[] = {\n");
+ for (int i = 0; i < 4; ++i) {
+ SkString strX, strY;
+ SkAppendScalar(&strX, fRadii[i].x(), asType);
+ SkAppendScalar(&strY, fRadii[i].y(), asType);
+ line.appendf(" { %s, %s },", strX.c_str(), strY.c_str());
+ if (asHex) {
+ line.appendf(" /* %f %f */", fRadii[i].x(), fRadii[i].y());
+ }
+ line.append("\n");
+ }
+ line.append("};");
+ SkDebugf("%s\n", line.c_str());
}
-#endif
///////////////////////////////////////////////////////////////////////////////