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 #ifndef SkStringUtils_DEFINED
      9 #define SkStringUtils_DEFINED
     10 
     11 class SkString;
     12 
     13 /**
     14  * Add 'flagStr' to 'string' and set 'needSeparator' to true only if 'flag' is
     15  * true. If 'needSeparator' is true append a '|' before 'flagStr'. This method
     16  * is used to streamline the creation of ASCII flag strings within the toString
     17  * methods.
     18  */
     19 void SkAddFlagToString(SkString* string, bool flag,
     20                        const char* flagStr, bool* needSeparator);
     21 
     22 
     23 enum SkScalarAsStringType {
     24     kDec_SkScalarAsStringType,
     25     kHex_SkScalarAsStringType,
     26 };
     27 
     28 void SkAppendScalar(SkString*, SkScalar, SkScalarAsStringType);
     29 
     30 static inline void SkAppendScalarDec(SkString* str, SkScalar value) {
     31     SkAppendScalar(str, value, kDec_SkScalarAsStringType);
     32 }
     33 
     34 static inline void SkAppendScalarHex(SkString* str, SkScalar value) {
     35     SkAppendScalar(str, value, kHex_SkScalarAsStringType);
     36 }
     37 
     38 #endif
     39