diff options
| author | Egor Tensin <egor@tensin.name> | 2026-06-13 14:37:12 +0200 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-06-13 14:37:12 +0200 |
| commit | 6cac3cb57cb4f430df80f8a21e358ad40ae59c89 (patch) | |
| tree | b9551474bedb7fdd6a9a4e37bc641bd8d0cfcfb4 /aesxx/utils/helpers/bmp.hpp | |
| parent | cmake: upgrade cmake-common, introduce new features, etc. (diff) | |
| download | aes-tools-6cac3cb57cb4f430df80f8a21e358ad40ae59c89.tar.gz aes-tools-6cac3cb57cb4f430df80f8a21e358ad40ae59c89.zip | |
add .clang-format
Diffstat (limited to 'aesxx/utils/helpers/bmp.hpp')
| -rw-r--r-- | aesxx/utils/helpers/bmp.hpp | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/aesxx/utils/helpers/bmp.hpp b/aesxx/utils/helpers/bmp.hpp index b4b283b..c256a7a 100644 --- a/aesxx/utils/helpers/bmp.hpp +++ b/aesxx/utils/helpers/bmp.hpp @@ -7,51 +7,50 @@ #include <cstddef> #include <cstring> - #include <string> #include <utility> #include <vector> -namespace bmp -{ - class BmpFile - { - public: - BmpFile(std::vector<char>&& buffer) - : buffer{std::move(buffer)} - , header_size{extract_pixels_offset()} - { } +namespace bmp { + +class BmpFile { +public: + BmpFile(std::vector<char>&& buffer) + : buffer{std::move(buffer)}, header_size{extract_pixels_offset()} {} + + const void* get_buffer() const { + return buffer.data(); + } - const void* get_buffer() const { return buffer.data(); } + std::size_t get_size() const { + return buffer.size(); + } - std::size_t get_size() const { return buffer.size(); } + std::size_t get_header_size() const { + return header_size; + } - std::size_t get_header_size() const { return header_size; } + const void* get_pixels() const { + return buffer.data() + get_header_size(); + } - const void* get_pixels() const - { - return buffer.data() + get_header_size(); - } + std::size_t get_pixels_size() const { + return get_size() - get_header_size(); + } - std::size_t get_pixels_size() const - { - return get_size() - get_header_size(); - } + void replace_pixels(std::vector<unsigned char>&& pixels) { + buffer.resize(get_header_size() + pixels.size()); + std::memcpy(buffer.data() + get_header_size(), pixels.data(), pixels.size()); + } - void replace_pixels(std::vector<unsigned char>&& pixels) - { - buffer.resize(get_header_size() + pixels.size()); - std::memcpy(buffer.data() + get_header_size(), pixels.data(), pixels.size()); - } +private: + std::size_t extract_pixels_offset() const { + const auto header = reinterpret_cast<const BITMAPFILEHEADER*>(get_buffer()); + return header->bfOffBits; + } - private: - std::size_t extract_pixels_offset() const - { - const auto header = reinterpret_cast<const BITMAPFILEHEADER*>(get_buffer()); - return header->bfOffBits; - } + std::vector<char> buffer; + std::size_t header_size; +}; - std::vector<char> buffer; - std::size_t header_size; - }; -} +} // namespace bmp |
