Expose explicit functions to stringify float's and fixed's.
See http://codereview.appspot.com/4240050/
Review URL: http://codereview.appspot.com/4240068
git-svn-id: http://skia.googlecode.com/svn/trunk@880 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkString.cpp b/src/core/SkString.cpp
index ca97e0b..b8f99c7 100644
--- a/src/core/SkString.cpp
+++ b/src/core/SkString.cpp
@@ -134,21 +134,23 @@
return string;
}
-char* SkStrAppendScalar(char string[], SkScalar value)
+#ifdef SK_CAN_USE_FLOAT
+char* SkStrAppendFloat(char string[], float value)
{
- SkDEBUGCODE(char* start = string;)
-
-#ifdef SK_SCALAR_IS_FLOAT
// since floats have at most 8 significant digits, we limit our %g to that.
static const char gFormat[] = "%.8g";
// make it 1 larger for the terminating 0
char buffer[SkStrAppendScalar_MaxSize + 1];
int len = SNPRINTF(buffer, sizeof(buffer), gFormat, value);
memcpy(string, buffer, len);
+ SkASSERT(len <= SkStrAppendScalar_MaxSize);
return string + len;
-#else
- SkFixed x = SkScalarToFixed(value);
+}
+#endif
+char* SkStrAppendFixed(char string[], SkFixed x)
+{
+ SkDEBUGCODE(char* start = string;)
if (x < 0)
{
*string++ = '-';
@@ -182,7 +184,6 @@
x %= powerOfTen;
} while (x != 0);
}
-#endif
SkASSERT(string - start <= SkStrAppendScalar_MaxSize);
return string;