|
@@ -16,11 +16,6 @@ class BMPWriter {
|
|
|
public:
|
|
|
BMPWriter() = default;
|
|
|
|
|
|
- enum class Compression : u32 {
|
|
|
- BI_RGB = 0,
|
|
|
- BI_BITFIELDS = 3,
|
|
|
- };
|
|
|
-
|
|
|
enum class DibHeader : u32 {
|
|
|
Info = 40,
|
|
|
V3 = 56,
|
|
@@ -29,10 +24,16 @@ public:
|
|
|
|
|
|
ByteBuffer dump(RefPtr<Bitmap const>, DibHeader dib_header = DibHeader::V4);
|
|
|
|
|
|
- inline void set_compression(Compression compression) { m_compression = compression; }
|
|
|
-
|
|
|
private:
|
|
|
+ enum class Compression : u32 {
|
|
|
+ BI_RGB = 0,
|
|
|
+ BI_BITFIELDS = 3,
|
|
|
+ };
|
|
|
+
|
|
|
+ static ByteBuffer compress_pixel_data(ByteBuffer const&, Compression);
|
|
|
+
|
|
|
Compression m_compression { Compression::BI_BITFIELDS };
|
|
|
+
|
|
|
int m_bytes_per_pixel { 4 };
|
|
|
bool m_include_alpha_channel { true };
|
|
|
};
|