| 117 | } |
| 118 | |
| 119 | void GetMinMaxColorsWithAlpha( const uint8_t* colorBlock, uint8_t* minColor, uint8_t* maxColor ) |
| 120 | { |
| 121 | int i; |
| 122 | uint8_t inset[4]; |
| 123 | minColor[0] = minColor[1] = minColor[2] = minColor[3] = 255; |
| 124 | maxColor[0] = maxColor[1] = maxColor[2] = maxColor[3] = 0; |
| 125 | for( i = 0; i < 16; i++ ) |
| 126 | { |
| 127 | if( colorBlock[i * 4 + 0] < minColor[0] ) |
| 128 | { |
| 129 | minColor[0] = colorBlock[i * 4 + 0]; |
| 130 | } |
| 131 | if( colorBlock[i * 4 + 1] < minColor[1] ) |
| 132 | { |
| 133 | minColor[1] = colorBlock[i * 4 + 1]; |
| 134 | } |
| 135 | if( colorBlock[i * 4 + 2] < minColor[2] ) |
| 136 | { |
| 137 | minColor[2] = colorBlock[i * 4 + 2]; |
| 138 | } |
| 139 | if( colorBlock[i * 4 + 3] < minColor[3] ) |
| 140 | { |
| 141 | minColor[3] = colorBlock[i * 4 + 3]; |
| 142 | } |
| 143 | if( colorBlock[i * 4 + 0] > maxColor[0] ) |
| 144 | { |
| 145 | maxColor[0] = colorBlock[i * 4 + 0]; |
| 146 | } |
| 147 | if( colorBlock[i * 4 + 1] > maxColor[1] ) |
| 148 | { |
| 149 | maxColor[1] = colorBlock[i * 4 + 1]; |
| 150 | } |
| 151 | if( colorBlock[i * 4 + 2] > maxColor[2] ) |
| 152 | { |
| 153 | maxColor[2] = colorBlock[i * 4 + 2]; |
| 154 | } |
| 155 | if( colorBlock[i * 4 + 3] > maxColor[3] ) |
| 156 | { |
| 157 | maxColor[3] = colorBlock[i * 4 + 3]; |
| 158 | } |
| 159 | } |
| 160 | inset[0] = ( maxColor[0] - minColor[0] ) >> INSET_COLOR_SHIFT; |
| 161 | inset[1] = ( maxColor[1] - minColor[1] ) >> INSET_COLOR_SHIFT; |
| 162 | inset[2] = ( maxColor[2] - minColor[2] ) >> INSET_COLOR_SHIFT; |
| 163 | inset[3] = ( maxColor[3] - minColor[3] ) >> INSET_COLOR_SHIFT; |
| 164 | minColor[0] = ( minColor[0] + inset[0] <= 255 ) ? minColor[0] + inset[0] : 255; |
| 165 | minColor[1] = ( minColor[1] + inset[1] <= 255 ) ? minColor[1] + inset[1] : 255; |
| 166 | minColor[2] = ( minColor[2] + inset[2] <= 255 ) ? minColor[2] + inset[2] : 255; |
| 167 | minColor[3] = ( minColor[3] + inset[3] <= 255 ) ? minColor[3] + inset[3] : 255; |
| 168 | maxColor[0] = ( maxColor[0] >= inset[0] ) ? maxColor[0] - inset[0] : 0; |
| 169 | maxColor[1] = ( maxColor[1] >= inset[1] ) ? maxColor[1] - inset[1] : 0; |
| 170 | maxColor[2] = ( maxColor[2] >= inset[2] ) ? maxColor[2] - inset[2] : 0; |
| 171 | maxColor[3] = ( maxColor[3] >= inset[3] ) ? maxColor[3] - inset[3] : 0; |
| 172 | } |
| 173 | |
| 174 | word ColorTo565( const uint8_t* color ) |
| 175 | { |
no outgoing calls
no test coverage detected