aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLLayoutLexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/SkSLLayoutLexer.h')
-rw-r--r--src/sksl/SkSLLayoutLexer.h127
1 files changed, 127 insertions, 0 deletions
diff --git a/src/sksl/SkSLLayoutLexer.h b/src/sksl/SkSLLayoutLexer.h
new file mode 100644
index 0000000000..e95f20e06c
--- /dev/null
+++ b/src/sksl/SkSLLayoutLexer.h
@@ -0,0 +1,127 @@
+/*
+ * 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 SkSL
+#endif