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