Move pixmap from util to gfx

This commit is contained in:
Nikita Lisitsa 2020-08-30 08:43:34 +03:00
parent 0424bae480
commit 2d6b947809
8 changed files with 29 additions and 14 deletions

View file

@ -0,0 +1,13 @@
#pragma once
#include <psemek/geom/vector.hpp>
#include <cstdint>
namespace psemek::gfx
{
using color_rgb = geom::vector<std::uint8_t, 3>;
using color_rgba = geom::vector<std::uint8_t, 4>;
}

View file

@ -1,9 +1,10 @@
#pragma once #pragma once
#include <memory> #include <psemek/gfx/color.hpp>
#include <cstdint>
namespace psemek::util #include <memory>
namespace psemek::gfx
{ {
template <typename Pixel> template <typename Pixel>
@ -53,8 +54,8 @@ namespace psemek::util
}; };
using pixmap_monochrome = basic_pixmap<std::uint8_t>; using pixmap_monochrome = basic_pixmap<std::uint8_t>;
using pixmap_rgb = basic_pixmap<std::array<std::uint8_t, 3>>; using pixmap_rgb = basic_pixmap<color_rgb>;
using pixmap_rgba = basic_pixmap<std::array<std::uint8_t, 4>>; using pixmap_rgba = basic_pixmap<color_rgba>;
using pixmap_float = basic_pixmap<float>; using pixmap_float = basic_pixmap<float>;
pixmap_monochrome read_pgm(std::istream & is); pixmap_monochrome read_pgm(std::istream & is);

View file

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <psemek/gfx/gl.hpp> #include <psemek/gfx/gl.hpp>
#include <psemek/util/pixmap.hpp> #include <psemek/gfx/pixmap.hpp>
#include <psemek/geom/vector.hpp> #include <psemek/geom/vector.hpp>
namespace psemek::gfx namespace psemek::gfx
@ -76,7 +76,7 @@ namespace psemek::gfx
} }
template <typename Pixel> template <typename Pixel>
void load(util::basic_pixmap<Pixel> const & p) void load(basic_pixmap<Pixel> const & p)
{ {
load(p.width(), p.height(), p.data()); load(p.width(), p.height(), p.data());
} }

View file

@ -1,8 +1,8 @@
#include <psemek/util/pixmap.hpp> #include <psemek/gfx/pixmap.hpp>
#include <iostream> #include <iostream>
namespace psemek::util namespace psemek::gfx
{ {
pixmap_monochrome read_pgm(std::istream & is) pixmap_monochrome read_pgm(std::istream & is)

View file

@ -3,4 +3,4 @@ file(GLOB_RECURSE PSEMEK_PCG_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "sou
add_library(pcg ${PSEMEK_PCG_HEADERS} ${PSEMEK_PCG_SOURCES}) add_library(pcg ${PSEMEK_PCG_HEADERS} ${PSEMEK_PCG_SOURCES})
target_include_directories(pcg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") target_include_directories(pcg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(pcg PUBLIC util geom) target_link_libraries(pcg PUBLIC util geom gfx)

View file

@ -1,6 +1,6 @@
#pragma once #pragma once
#include <psemek/util/pixmap.hpp> #include <psemek/gfx/pixmap.hpp>
#include <psemek/geom/vector.hpp> #include <psemek/geom/vector.hpp>
namespace psemek::pcg namespace psemek::pcg
@ -9,7 +9,7 @@ namespace psemek::pcg
struct perlin struct perlin
{ {
perlin() = default; perlin() = default;
perlin(util::basic_pixmap<geom::vector<float, 2>> grad_map); perlin(gfx::basic_pixmap<geom::vector<float, 2>> grad_map);
perlin(perlin &&) = default; perlin(perlin &&) = default;
perlin & operator = (perlin &&) = default; perlin & operator = (perlin &&) = default;
@ -29,7 +29,7 @@ namespace psemek::pcg
float operator()(float x, float y) const; float operator()(float x, float y) const;
private: private:
util::basic_pixmap<geom::vector<float, 2>> grad_map_; gfx::basic_pixmap<geom::vector<float, 2>> grad_map_;
}; };
} }

View file

@ -7,7 +7,7 @@
namespace psemek::pcg namespace psemek::pcg
{ {
perlin::perlin(util::basic_pixmap<geom::vector<float, 2>> grad_map) perlin::perlin(gfx::basic_pixmap<geom::vector<float, 2>> grad_map)
: grad_map_(std::move(grad_map)) : grad_map_(std::move(grad_map))
{} {}

View file

@ -3,3 +3,4 @@
* Create a simple generic primive painter * Create a simple generic primive painter
* Design ui system * Design ui system
* Add platform deployment tools * Add platform deployment tools
* Add color utilities