aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/aesxx/utils/helpers/bmp.hpp
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-13 14:37:12 +0200
committerEgor Tensin <egor@tensin.name>2026-06-13 14:37:12 +0200
commit6cac3cb57cb4f430df80f8a21e358ad40ae59c89 (patch)
treeb9551474bedb7fdd6a9a4e37bc641bd8d0cfcfb4 /aesxx/utils/helpers/bmp.hpp
parentcmake: upgrade cmake-common, introduce new features, etc. (diff)
downloadaes-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.hpp71
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