| /* |
| * Copyright 2017 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| /***************************************************************************************** |
| ******************** This file was generated by sksllex. Do not edit. ******************* |
| *****************************************************************************************/ |
| #ifndef SKSL_LayoutLexer |
| #define SKSL_LayoutLexer |
| #include <cstddef> |
| #include <cstdint> |
| namespace SkSL { |
| |
| struct LayoutToken { |
| enum Kind { |
| #undef END_OF_FILE |
| END_OF_FILE, |
| #undef LOCATION |
| LOCATION, |
| #undef OFFSET |
| OFFSET, |
| #undef BINDING |
| BINDING, |
| #undef INDEX |
| INDEX, |
| #undef SET |
| SET, |
| #undef BUILTIN |
| BUILTIN, |
| #undef INPUT_ATTACHMENT_INDEX |
| INPUT_ATTACHMENT_INDEX, |
| #undef ORIGIN_UPPER_LEFT |
| ORIGIN_UPPER_LEFT, |
| #undef OVERRIDE_COVERAGE |
| OVERRIDE_COVERAGE, |
| #undef BLEND_SUPPORT_ALL_EQUATIONS |
| BLEND_SUPPORT_ALL_EQUATIONS, |
| #undef BLEND_SUPPORT_MULTIPLY |
| BLEND_SUPPORT_MULTIPLY, |
| #undef BLEND_SUPPORT_SCREEN |
| BLEND_SUPPORT_SCREEN, |
| #undef BLEND_SUPPORT_OVERLAY |
| BLEND_SUPPORT_OVERLAY, |
| #undef BLEND_SUPPORT_DARKEN |
| BLEND_SUPPORT_DARKEN, |
| #undef BLEND_SUPPORT_LIGHTEN |
| BLEND_SUPPORT_LIGHTEN, |
| #undef BLEND_SUPPORT_COLORDODGE |
| BLEND_SUPPORT_COLORDODGE, |
| #undef BLEND_SUPPORT_COLORBURN |
| BLEND_SUPPORT_COLORBURN, |
| #undef BLEND_SUPPORT_HARDLIGHT |
| BLEND_SUPPORT_HARDLIGHT, |
| #undef BLEND_SUPPORT_SOFTLIGHT |
| BLEND_SUPPORT_SOFTLIGHT, |
| #undef BLEND_SUPPORT_DIFFERENCE |
| BLEND_SUPPORT_DIFFERENCE, |
| #undef BLEND_SUPPORT_EXCLUSION |
| BLEND_SUPPORT_EXCLUSION, |
| #undef BLEND_SUPPORT_HSL_HUE |
| BLEND_SUPPORT_HSL_HUE, |
| #undef BLEND_SUPPORT_HSL_SATURATION |
| BLEND_SUPPORT_HSL_SATURATION, |
| #undef BLEND_SUPPORT_HSL_COLOR |
| BLEND_SUPPORT_HSL_COLOR, |
| #undef BLEND_SUPPORT_HSL_LUMINOSITY |
| BLEND_SUPPORT_HSL_LUMINOSITY, |
| #undef PUSH_CONSTANT |
| PUSH_CONSTANT, |
| #undef POINTS |
| POINTS, |
| #undef LINES |
| LINES, |
| #undef LINE_STRIP |
| LINE_STRIP, |
| #undef LINES_ADJACENCY |
| LINES_ADJACENCY, |
| #undef TRIANGLES |
| TRIANGLES, |
| #undef TRIANGLE_STRIP |
| TRIANGLE_STRIP, |
| #undef TRIANGLES_ADJACENCY |
| TRIANGLES_ADJACENCY, |
| #undef MAX_VERTICES |
| MAX_VERTICES, |
| #undef INVOCATIONS |
| INVOCATIONS, |
| #undef WHEN |
| WHEN, |
| #undef KEY |
| KEY, |
| #undef CTYPE |
| CTYPE, |
| #undef INVALID |
| INVALID, |
| }; |
| |
| LayoutToken() : fKind(Kind::INVALID), fOffset(-1), fLength(-1) {} |
| |
| LayoutToken(Kind kind, int offset, int length) |
| : fKind(kind), fOffset(offset), fLength(length) {} |
| |
| Kind fKind; |
| int fOffset; |
| int fLength; |
| }; |
| |
| class LayoutLexer { |
| public: |
| void start(const char* text, size_t length) { |
| fText = text; |
| fLength = length; |
| fOffset = 0; |
| } |
| |
| LayoutToken next(); |
| |
| private: |
| const char* fText; |
| int fLength; |
| int fOffset; |
| }; |
| |
| } // namespace |
| #endif |