• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
SkAppendScalarDec(SkString * str,SkScalar value)30 static inline void SkAppendScalarDec(SkString* str, SkScalar value) {
31     SkAppendScalar(str, value, kDec_SkScalarAsStringType);
32 }
33 
SkAppendScalarHex(SkString * str,SkScalar value)34 static inline void SkAppendScalarHex(SkString* str, SkScalar value) {
35     SkAppendScalar(str, value, kHex_SkScalarAsStringType);
36 }
37 
38 /** Indents every non-empty line of the string by tabCnt tabs */
39 SkString SkTabString(const SkString& string, int tabCnt);
40 
41 #endif
42