Home | History | Annotate | Download | only in core
      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 
     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 
     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