• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2017 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can
5  * be found in the LICENSE file.
6  *
7  */
8 
9 #ifndef SKC_ONCE_SKC_STYLING
10 #define SKC_ONCE_SKC_STYLING
11 
12 //
13 // STYLING COMMANDS
14 //
15 // FIXME -- THESE ARE PLATFORM "CAPABILITIES" AND PRESENCE OF ANY
16 // EXOTIC NON-CORE COMMANDS SHOULD BE DETERMINED AT RUNTIME
17 //
18 
19 typedef enum skc_styling_opcode_e {
20 
21   SKC_STYLING_OPCODE_NOOP,
22 
23   SKC_STYLING_OPCODE_COVER_NONZERO,
24   SKC_STYLING_OPCODE_COVER_EVENODD,
25   SKC_STYLING_OPCODE_COVER_ACCUMULATE,
26   SKC_STYLING_OPCODE_COVER_MASK,
27 
28   SKC_STYLING_OPCODE_COVER_WIP_ZERO,
29   SKC_STYLING_OPCODE_COVER_ACC_ZERO,
30   SKC_STYLING_OPCODE_COVER_MASK_ZERO,
31   SKC_STYLING_OPCODE_COVER_MASK_ONE,
32   SKC_STYLING_OPCODE_COVER_MASK_INVERT,
33 
34   SKC_STYLING_OPCODE_COLOR_FILL_SOLID,
35   SKC_STYLING_OPCODE_COLOR_FILL_GRADIENT_LINEAR,
36 
37   SKC_STYLING_OPCODE_COLOR_WIP_ZERO,
38   SKC_STYLING_OPCODE_COLOR_ACC_ZERO,
39 
40   SKC_STYLING_OPCODE_BLEND_OVER,
41   SKC_STYLING_OPCODE_BLEND_PLUS,
42   SKC_STYLING_OPCODE_BLEND_MULTIPLY,
43   SKC_STYLING_OPCODE_BLEND_KNOCKOUT,
44 
45   SKC_STYLING_OPCODE_COVER_WIP_MOVE_TO_MASK,
46   SKC_STYLING_OPCODE_COVER_ACC_MOVE_TO_MASK,
47 
48   SKC_STYLING_OPCODE_BACKGROUND_OVER,
49 
50   SKC_STYLING_OPCODE_SURFACE_COMPOSITE,
51 
52   SKC_STYLING_OPCODE_COLOR_ACC_TEST_OPACITY,
53 
54   //
55   //
56   //
57 
58   SKC_STYLING_OPCODE_COUNT,
59 
60   //
61   //
62   //
63 
64   SKC_STYLING_OPCODE_IS_FINAL = 0x80000000
65 
66 } skc_styling_opcode_e;
67 
68 //
69 //
70 //
71 
72 typedef enum skc_styling_gradient_type_e {
73 
74   SKC_STYLING_GRADIENT_TYPE_LINEAR_NON_REPEATING,
75   SKC_STYLING_GRADIENT_TYPE_LINEAR_REPEATING,
76   SKC_STYLING_GRADIENT_TYPE_LINEAR_REFLECTING,
77 
78   SKC_STYLING_GRADIENT_TYPE_COUNT
79 
80 } skc_styling_gradient_type_e;
81 
82 //
83 // FIXME -- bury all of this once we stabilize styling
84 //
85 
86 #define SKC_STYLING_CMDS(...) _countof(__VA_ARGS__),__VA_ARGS__
87 #define SKC_GROUP_IDS(...)    _countof(__VA_ARGS__),__VA_ARGS__
88 
89 //
90 //
91 //
92 
93 #endif
94 
95 //
96 //
97 //
98