Fixed debugger for addition of drawRRect, clipRRect & drawOval
https://codereview.appspot.com/7035051/
git-svn-id: http://skia.googlecode.com/svn/trunk@6975 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/debugger/SkObjectParser.cpp b/debugger/SkObjectParser.cpp
index 315e81c..018a86b 100644
--- a/debugger/SkObjectParser.cpp
+++ b/debugger/SkObjectParser.cpp
@@ -7,6 +7,7 @@
*/
#include "SkObjectParser.h"
+#include "SkRRect.h"
/* TODO(chudy): Replace all std::strings with char */
@@ -214,6 +215,50 @@
return mRect;
}
+SkString* SkObjectParser::RRectToString(const SkRRect& rrect, const char* title) {
+
+ SkString* mRRect = new SkString;
+
+ if (NULL == title) {
+ mRRect->append("SkRRect (");
+ if (rrect.isEmpty()) {
+ mRRect->append("empty");
+ } else if (rrect.isRect()) {
+ mRRect->append("rect");
+ } else if (rrect.isOval()) {
+ mRRect->append("oval");
+ } else if (rrect.isSimple()) {
+ mRRect->append("simple");
+ } else {
+ SkASSERT(rrect.isComplex());
+ mRRect->append("complex");
+ }
+ mRRect->append("): ");
+ } else {
+ mRRect->append(title);
+ }
+ mRRect->append("(");
+ mRRect->appendScalar(rrect.rect().left());
+ mRRect->append(", ");
+ mRRect->appendScalar(rrect.rect().top());
+ mRRect->append(", ");
+ mRRect->appendScalar(rrect.rect().right());
+ mRRect->append(", ");
+ mRRect->appendScalar(rrect.rect().bottom());
+ mRRect->append(") radii: (");
+ for (int i = 0; i < 4; ++i) {
+ const SkVector& radii = rrect.radii((SkRRect::Corner) i);
+ mRRect->appendScalar(radii.fX);
+ mRRect->append(", ");
+ mRRect->appendScalar(radii.fY);
+ if (i < 3) {
+ mRRect->append(", ");
+ }
+ }
+ mRRect->append(")");
+ return mRRect;
+}
+
SkString* SkObjectParser::RegionOpToString(SkRegion::Op op) {
SkString* mOp = new SkString("SkRegion::Op: ");
if (op == SkRegion::kDifference_Op) {