1 /*
2  * Copyright 2013 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "SkString.h"
9 #include "SkStringUtils.h"
10 
SkAddFlagToString(SkString * string,bool flag,const char * flagStr,bool * needSeparator)11 void SkAddFlagToString(SkString* string, bool flag, const char* flagStr, bool* needSeparator) {
12     if (flag) {
13         if (*needSeparator) {
14             string->append("|");
15         }
16         string->append(flagStr);
17         *needSeparator = true;
18     }
19 }
20 
SkAppendScalar(SkString * str,SkScalar value,SkScalarAsStringType asType)21 void SkAppendScalar(SkString* str, SkScalar value, SkScalarAsStringType asType) {
22     switch (asType) {
23         case kHex_SkScalarAsStringType:
24             str->appendf("SkBits2Float(0x%08x)", SkFloat2Bits(value));
25             break;
26         case kDec_SkScalarAsStringType: {
27             SkString tmp;
28             tmp.printf("%g", value);
29             if (tmp.contains('.')) {
30                 tmp.appendUnichar('f');
31             }
32             str->append(tmp);
33             break;
34         }
35     }
36 }
37 
38