summary refs log tree commit diff
path: root/src/Image/RawImage.hpp
blob: 4414ee0d4a1ce062dfb651bb81cac71b9a4c900c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include <cstdint>
#include <cstddef>
#include <vector>

namespace MC::Image {

class RawImage {
public:
    RawImage() : m_pixels() {};

    explicit RawImage(size_t pixel_count) : m_pixels() {
        m_pixels.reserve(pixel_count);
    }

    struct Pixel {
        uint8_t r, g, b;
    };

    void add(Pixel pixel);

    size_t size();
    uint8_t* raw();

private:
    std::vector<Pixel> m_pixels;
};

}