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