22 0, 36, 73, 109, 146, 182, 219, 255,
24 0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255,
26 0, 8, 16, 25, 33, 41, 49, 58, 66, 74, 82, 90, 99, 107, 115, 123, 132, 140,
27 148, 156, 165, 173, 181, 189, 197, 206, 214, 222, 230, 239, 247, 255,
29 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 45, 49, 53, 57, 61, 65, 69, 73,
30 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 130, 134, 138,
31 142, 146, 150, 154, 158, 162, 166, 170, 174, 178, 182, 186, 190, 194, 198,
32 202, 206, 210, 215, 219, 223, 227, 231, 235, 239, 243, 247, 251, 255,
34 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
35 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,
36 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110,
37 112, 114, 116, 118, 120, 122, 124, 126, 129, 131, 133, 135, 137, 139, 141,
38 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171,
39 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201,
40 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231,
41 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255
60static uint8_t
get_comp(uint32_t pixel, uint32_t mask, uint32_t shift,
90 uint32_t tempMask = mask;
95 for (; (tempMask & 1) == 0; tempMask >>= 1) {
99 for (; tempMask & 1; tempMask >>= 1) {
104 SkDebugf(
"Warning: Bit mask is not continuous.\n");
106 for (; tempMask; tempMask >>= 1) {
114 mask &= 0xFF << shift;
118 return { mask, shift,
size };
127 SkASSERT(0 < bytesPerPixel && bytesPerPixel <= 4);
130 if (bytesPerPixel < 4) {
131 int bitsPerPixel = 8*bytesPerPixel;
132 masks.
red &= (1 << bitsPerPixel) - 1;
133 masks.
green &= (1 << bitsPerPixel) - 1;
134 masks.
blue &= (1 << bitsPerPixel) - 1;
135 masks.
alpha &= (1 << bitsPerPixel) - 1;
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
static SkMasks::MaskInfo process_mask(uint32_t mask)
static constexpr uint8_t n_bit_to_8_bit_lookup_table[]
static uint8_t get_comp(uint32_t pixel, uint32_t mask, uint32_t shift, uint32_t size)
static uint8_t convert_to_8(uint8_t component, uint32_t n)
constexpr SkMasks(const MaskInfo red, const MaskInfo green, const MaskInfo blue, const MaskInfo alpha)
uint8_t getAlpha(uint32_t pixel) const
static SkMasks * CreateMasks(InputMasks masks, int bytesPerPixel)
uint8_t getBlue(uint32_t pixel) const
uint8_t getGreen(uint32_t pixel) const
uint8_t getRed(uint32_t pixel) const
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size