xref: /aosp_15_r20/external/skia/include/utils/SkParse.h (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1 
2 /*
3  * Copyright 2006 The Android Open Source Project
4  *
5  * Use of this source code is governed by a BSD-style license that can be
6  * found in the LICENSE file.
7  */
8 
9 
10 #ifndef SkParse_DEFINED
11 #define SkParse_DEFINED
12 
13 #include "include/core/SkColor.h"
14 #include "include/core/SkScalar.h"
15 #include "include/core/SkTypes.h"
16 
17 #include <cstddef>
18 #include <cstdint>
19 
20 class SK_API SkParse {
21 public:
22     static int Count(const char str[]); // number of scalars or int values
23     static int Count(const char str[], char separator);
24     static const char* FindColor(const char str[], SkColor* value);
25     static const char* FindHex(const char str[], uint32_t* value);
26     static const char* FindNamedColor(const char str[], size_t len, SkColor* color);
27     static const char* FindS32(const char str[], int32_t* value);
28     static const char* FindScalar(const char str[], SkScalar* value);
29     static const char* FindScalars(const char str[], SkScalar value[], int count);
30 
31     static bool FindBool(const char str[], bool* value);
32     // return the index of str in list[], or -1 if not found
33     static int  FindList(const char str[], const char list[]);
34 };
35 
36 #endif
37