|
|
@ -702,70 +702,84 @@ void SetWindowIcon(Image image) |
|
|
|
switch (image.format) |
|
|
|
{ |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: |
|
|
|
{ |
|
|
|
rmask = 0xFF, gmask = 0; |
|
|
|
bmask = 0, amask = 0; |
|
|
|
depth = 8, pitch = image.width; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: |
|
|
|
{ |
|
|
|
rmask = 0xFF, gmask = 0xFF00; |
|
|
|
bmask = 0, amask = 0; |
|
|
|
depth = 16, pitch = image.width*2; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R5G6B5: |
|
|
|
{ |
|
|
|
rmask = 0xF800, gmask = 0x07E0; |
|
|
|
bmask = 0x001F, amask = 0; |
|
|
|
depth = 16, pitch = image.width*2; |
|
|
|
break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R8G8B8: // Uses BGR for 24-bit |
|
|
|
rmask = 0x0000FF, gmask = 0x00FF00; |
|
|
|
bmask = 0xFF0000, amask = 0; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R8G8B8: |
|
|
|
{ |
|
|
|
// WARNING: SDL2 could be using BGR but SDL3 RGB |
|
|
|
rmask = 0xFF0000, gmask = 0x00FF00; |
|
|
|
bmask = 0x0000FF, amask = 0; |
|
|
|
depth = 24, pitch = image.width*3; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: |
|
|
|
{ |
|
|
|
rmask = 0xF800, gmask = 0x07C0; |
|
|
|
bmask = 0x003E, amask = 0x0001; |
|
|
|
depth = 16, pitch = image.width*2; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: |
|
|
|
{ |
|
|
|
rmask = 0xF000, gmask = 0x0F00; |
|
|
|
bmask = 0x00F0, amask = 0x000F; |
|
|
|
depth = 16, pitch = image.width*2; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: |
|
|
|
{ |
|
|
|
rmask = 0xFF000000, gmask = 0x00FF0000; |
|
|
|
bmask = 0x0000FF00, amask = 0x000000FF; |
|
|
|
depth = 32, pitch = image.width*4; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R32: |
|
|
|
{ |
|
|
|
rmask = 0xFFFFFFFF, gmask = 0; |
|
|
|
bmask = 0, amask = 0; |
|
|
|
depth = 32, pitch = image.width*4; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R32G32B32: |
|
|
|
{ |
|
|
|
rmask = 0xFFFFFFFF, gmask = 0xFFFFFFFF; |
|
|
|
bmask = 0xFFFFFFFF, amask = 0; |
|
|
|
depth = 96, pitch = image.width*12; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: |
|
|
|
{ |
|
|
|
rmask = 0xFFFFFFFF, gmask = 0xFFFFFFFF; |
|
|
|
bmask = 0xFFFFFFFF, amask = 0xFFFFFFFF; |
|
|
|
depth = 128, pitch = image.width*16; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R16: |
|
|
|
{ |
|
|
|
rmask = 0xFFFF, gmask = 0; |
|
|
|
bmask = 0, amask = 0; |
|
|
|
depth = 16, pitch = image.width*2; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R16G16B16: |
|
|
|
{ |
|
|
|
rmask = 0xFFFF, gmask = 0xFFFF; |
|
|
|
bmask = 0xFFFF, amask = 0; |
|
|
|
depth = 48, pitch = image.width*6; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
case PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: |
|
|
|
{ |
|
|
|
rmask = 0xFFFF, gmask = 0xFFFF; |
|
|
|
bmask = 0xFFFF, amask = 0xFFFF; |
|
|
|
depth = 64, pitch = image.width*8; |
|
|
|
break; |
|
|
|
} break; |
|
|
|
default: return; // Compressed formats are not supported |
|
|
|
} |
|
|
|
|
|
|
|