#pragma once #include "BitStream.h" #include "Image.h" #include class ImageBitStream : public BitStream { public: ImageBitStream(Image* image); bool isFinished() const override; std::vector peekNextNBytes(std::size_t n) const override; std::optional readNextByte() override; void writeByte(uint8_t data, bool checkOverflow = true) override; void writeBytes(const std::vector&) override { } unsigned getBytesPerScanline() const { return mImage->getBytesPerRow(); } private: Image* mImage{nullptr}; };