Porytiles
Loading...
Searching...
No Matches
png_impl.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <CImg.h>
4
6
7namespace porytiles {
8
12class PngImpl final : public Png {
13 public:
14 explicit PngImpl(const cimg_library::CImg<std::uint8_t> &image);
15
16 [[nodiscard]] std::size_t Width() const override;
17
18 [[nodiscard]] std::size_t Height() const override;
19
20 [[nodiscard]] Rgba32 At(std::size_t i) const override;
21
22 [[nodiscard]] Rgba32 At(std::size_t row, std::size_t col) const override;
23
24 private:
25 cimg_library::CImg<std::uint8_t> image_;
26};
27
28} // namespace porytiles
Implementation of the Png interface.
Definition png_impl.hpp:12
std::size_t Height() const override
Gets the height of this Png in pixels.
Definition png_impl.cpp:21
std::size_t Width() const override
Gets the width of this Png in pixels.
Definition png_impl.cpp:17
Rgba32 At(std::size_t i) const override
Fetches the Rgba32 color value at a given one-dimensional pixel index.
Definition png_impl.cpp:25
An image in PNG format.
Definition png.hpp:14