diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2018-07-31 09:44:36 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-31 15:18:03 +0000 |
commit | 0054311bf3b4f619a631e95d8aa1ea2d4bfd01c6 (patch) | |
tree | a3a48bece53f8a381c2a2e431db08f5055282e4f /src/sksl/SkSLString.cpp | |
parent | ce3c7bbd0de68fda69903107461738b6afc8a3f4 (diff) |
Re-re-land "added GrSkSLFP and converted DitherEffect to use it"
This reverts commit 6c48e4d11ce80fa5cfef56e13b2d5847fe94a7cc.
Bug: skia:
Change-Id: I7ee78990fc30eec545d1856e59eb6e0573089426
Reviewed-on: https://skia-review.googlesource.com/144348
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLString.cpp')
-rw-r--r-- | src/sksl/SkSLString.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/sksl/SkSLString.cpp b/src/sksl/SkSLString.cpp index 125dabb335..292cef5159 100644 --- a/src/sksl/SkSLString.cpp +++ b/src/sksl/SkSLString.cpp @@ -210,10 +210,22 @@ String to_string(double value) { #endif #define MAX_DOUBLE_CHARS 25 char buffer[MAX_DOUBLE_CHARS]; - SkDEBUGCODE(int len = )SNPRINTF(buffer, sizeof(buffer), "%.17g", value); + int len = SNPRINTF(buffer, sizeof(buffer), "%.17g", value); SkASSERT(len < MAX_DOUBLE_CHARS); + bool needsDotZero = true; + for (int i = 0; i < len; ++i) { + char c = buffer[i]; + if (c == ',') { + buffer[i] = '.'; + needsDotZero = false; + break; + } else if (c == '.' || c == 'e') { + needsDotZero = false; + break; + } + } String result(buffer); - if (!strchr(buffer, '.') && !strchr(buffer, 'e')) { + if (needsDotZero) { result += ".0"; } return result; |