| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SK_COMMAND_LINE_FLAGS_H | 8 #ifndef SK_COMMAND_LINE_FLAGS_H |
| 9 #define SK_COMMAND_LINE_FLAGS_H | 9 #define SK_COMMAND_LINE_FLAGS_H |
| 10 | 10 |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 | 173 |
| 174 // For access to gHead. | 174 // For access to gHead. |
| 175 friend class SkFlagInfo; | 175 friend class SkFlagInfo; |
| 176 }; | 176 }; |
| 177 | 177 |
| 178 #define TO_STRING2(s) #s | 178 #define TO_STRING2(s) #s |
| 179 #define TO_STRING(s) TO_STRING2(s) | 179 #define TO_STRING(s) TO_STRING2(s) |
| 180 | 180 |
| 181 #define DEFINE_bool(name, defaultValue, helpString) \ | 181 #define DEFINE_bool(name, defaultValue, helpString) \ |
| 182 bool FLAGS_##name; \ | 182 bool FLAGS_##name; \ |
| 183 static bool unused_##name = SkFlagInfo::CreateBoolFlag(TO_STRING(name), \ | 183 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateBoolFlag(TO_STRING(name)
, \ |
| 184 NULL, \ | 184 NULL,
\ |
| 185 &FLAGS_##name, \ | 185 &FLAGS_##name,
\ |
| 186 defaultValue, \ | 186 defaultValue,
\ |
| 187 helpString) | 187 helpString) |
| 188 | 188 |
| 189 // bool 2 allows specifying a short name. No check is done to ensure that shortN
ame | 189 // bool 2 allows specifying a short name. No check is done to ensure that shortN
ame |
| 190 // is actually shorter than name. | 190 // is actually shorter than name. |
| 191 #define DEFINE_bool2(name, shortName, defaultValue, helpString) \ | 191 #define DEFINE_bool2(name, shortName, defaultValue, helpString) \ |
| 192 bool FLAGS_##name; \ | 192 bool FLAGS_##name; \ |
| 193 static bool unused_##name = SkFlagInfo::CreateBoolFlag(TO_STRING(name), \ | 193 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateBoolFlag(TO_STRING(name)
, \ |
| 194 TO_STRING(shortName),\ | 194 TO_STRING(short
Name),\ |
| 195 &FLAGS_##name, \ | 195 &FLAGS_##name,
\ |
| 196 defaultValue, \ | 196 defaultValue,
\ |
| 197 helpString) | 197 helpString) |
| 198 | 198 |
| 199 #define DECLARE_bool(name) extern bool FLAGS_##name; | 199 #define DECLARE_bool(name) extern bool FLAGS_##name; |
| 200 | 200 |
| 201 #define DEFINE_string(name, defaultValue, helpString) \ | 201 #define DEFINE_string(name, defaultValue, helpString) \ |
| 202 SkCommandLineFlags::StringArray FLAGS_##name; \ | 202 SkCommandLineFlags::StringArray FLAGS_##name; \ |
| 203 static bool unused_##name = SkFlagInfo::CreateStringFlag(TO_STRING(name), \ | 203 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateStringFlag(TO_STRING(nam
e), \ |
| 204 NULL, \ | 204 NULL,
\ |
| 205 &FLAGS_##name, \ | 205 &FLAGS_##name
, \ |
| 206 defaultValue, \ | 206 defaultValue,
\ |
| 207 helpString) | 207 helpString) |
| 208 | 208 |
| 209 // string2 allows specifying a short name. There is an assert that shortName | 209 // string2 allows specifying a short name. There is an assert that shortName |
| 210 // is only 1 character. | 210 // is only 1 character. |
| 211 #define DEFINE_string2(name, shortName, defaultValue, helpString)
\ | 211 #define DEFINE_string2(name, shortName, defaultValue, helpString)
\ |
| 212 SkCommandLineFlags::StringArray FLAGS_##name;
\ | 212 SkCommandLineFlags::StringArray FLAGS_##name;
\ |
| 213 static bool unused_##name = SkFlagInfo::CreateStringFlag(TO_STRING(name),
\ | 213 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateStringFlag(TO_STRING(nam
e), \ |
| 214 TO_STRING(shortName),
\ | 214 TO_STRING(sho
rtName), \ |
| 215 &FLAGS_##name,
\ | 215 &FLAGS_##name
, \ |
| 216 defaultValue,
\ | 216 defaultValue,
\ |
| 217 helpString) | 217 helpString) |
| 218 | 218 |
| 219 #define DECLARE_string(name) extern SkCommandLineFlags::StringArray FLAGS_##name
; | 219 #define DECLARE_string(name) extern SkCommandLineFlags::StringArray FLAGS_##name
; |
| 220 | 220 |
| 221 #define DEFINE_int32(name, defaultValue, helpString) \ | 221 #define DEFINE_int32(name, defaultValue, helpString) \ |
| 222 int32_t FLAGS_##name; \ | 222 int32_t FLAGS_##name; \ |
| 223 static bool unused_##name = SkFlagInfo::CreateIntFlag(TO_STRING(name), \ | 223 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateIntFlag(TO_STRING(name),
\ |
| 224 &FLAGS_##name, \ | 224 &FLAGS_##name,
\ |
| 225 defaultValue, \ | 225 defaultValue,
\ |
| 226 helpString) | 226 helpString) |
| 227 | 227 |
| 228 #define DECLARE_int32(name) extern int32_t FLAGS_##name; | 228 #define DECLARE_int32(name) extern int32_t FLAGS_##name; |
| 229 | 229 |
| 230 #define DEFINE_double(name, defaultValue, helpString) \ | 230 #define DEFINE_double(name, defaultValue, helpString) \ |
| 231 double FLAGS_##name; \ | 231 double FLAGS_##name; \ |
| 232 static bool unused_##name = SkFlagInfo::CreateDoubleFlag(TO_STRING(name), \ | 232 SK_UNUSED static bool unused_##name = SkFlagInfo::CreateDoubleFlag(TO_STRING(nam
e), \ |
| 233 &FLAGS_##name, \ | 233 &FLAGS_##name
, \ |
| 234 defaultValue, \ | 234 defaultValue,
\ |
| 235 helpString) | 235 helpString) |
| 236 | 236 |
| 237 #define DECLARE_double(name) extern double FLAGS_##name; | 237 #define DECLARE_double(name) extern double FLAGS_##name; |
| 238 | 238 |
| 239 class SkFlagInfo { | 239 class SkFlagInfo { |
| 240 | 240 |
| 241 public: | 241 public: |
| 242 enum FlagTypes { | 242 enum FlagTypes { |
| 243 kBool_FlagType, | 243 kBool_FlagType, |
| 244 kString_FlagType, | 244 kString_FlagType, |
| 245 kInt_FlagType, | 245 kInt_FlagType, |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 double* fDoubleValue; | 441 double* fDoubleValue; |
| 442 double fDefaultDouble; | 442 double fDefaultDouble; |
| 443 SkCommandLineFlags::StringArray* fStrings; | 443 SkCommandLineFlags::StringArray* fStrings; |
| 444 // Both for the help string and in case fStrings is empty. | 444 // Both for the help string and in case fStrings is empty. |
| 445 SkString fDefaultString; | 445 SkString fDefaultString; |
| 446 | 446 |
| 447 // In order to keep a linked list. | 447 // In order to keep a linked list. |
| 448 SkFlagInfo* fNext; | 448 SkFlagInfo* fNext; |
| 449 }; | 449 }; |
| 450 #endif // SK_COMMAND_LINE_FLAGS_H | 450 #endif // SK_COMMAND_LINE_FLAGS_H |
| OLD | NEW |