1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-15 03:47:35 +00:00
serenity/Libraries/LibWeb/Loader
Matthew Olsson 4e093a7c23 LibGfx: Add BMP loader
Adds an *almost fully featured BMP loader to process .bmp files.

Features:
- All header formats are supported
- Full RLE4/8/24 support
- Color scaling (e.g. distributing a 5-bit color throughout the 8-bit
color spectrum, so 5-bit white is still 0xffffff)
- Full BITMASK/ALPHABITMASK support

*Not included:
- 1D Huffman compression. Good luck actually finding a bmp in the wild
that uses this
- Use of any field in the V4/V5 header. Color spaces? Endpoints? No
thanks :)

This loader was tested with the images at
https://entropymine.com/jason/bmpsuite/bmpsuite/html/bmpsuite.html. This
loader correctly displays 81 out of the 90 total images (for reference,
firefox displays 64 correctly). Note that not rendering the images at
the bottom is counted as displaying correctly.
2020-06-21 10:08:25 +02:00
..
FrameLoader.cpp LibWeb: Unbreak favicon notifications after Page refactoring 2020-06-08 21:35:31 +02:00
FrameLoader.h LibWeb: Turn FrameLoader into a ResourceClient 2020-06-06 14:14:43 +02:00
ImageLoader.cpp LibWeb: Don't animate images outside the visible viewport :^) 2020-06-14 19:35:10 +02:00
ImageLoader.h LibWeb: Move "visible in viewport" state tracking to ImageLoader 2020-06-14 19:32:23 +02:00
ImageResource.cpp LibWeb: Share decoded images at the Resource level :^) 2020-06-02 20:32:38 +02:00
ImageResource.h LibWeb: Fix mismatching Resource subclass types 2020-06-05 23:32:23 +02:00
LoadRequest.h LibWeb: Add a naive Resource cache 2020-06-01 21:58:29 +02:00
Resource.cpp LibGfx: Add BMP loader 2020-06-21 10:08:25 +02:00
Resource.h LibWeb: Let Resource figure out its own encoding and MIME type 2020-06-06 14:14:43 +02:00
ResourceLoader.cpp ProtocolServer+LibProtocol: Propagate HTTP status codes to clients 2020-06-13 22:20:37 +02:00
ResourceLoader.h LibWeb: Share decoded images at the Resource level :^) 2020-06-02 20:32:38 +02:00