2017-12-25 23:49:48 +00:00
|
|
|
#ifndef PAINT_HPP_INCLUDED
|
|
|
|
#define PAINT_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include "Types/Convex.hpp"
|
2018-03-09 03:34:50 +00:00
|
|
|
#include "Types/Tile.hpp"
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-06-20 07:00:06 +00:00
|
|
|
|
2017-12-25 23:49:48 +00:00
|
|
|
/** @addtogroup Core
|
|
|
|
* @{ */
|
2018-12-27 18:17:09 +00:00
|
|
|
namespace Paint
|
2017-12-25 23:49:48 +00:00
|
|
|
{
|
2018-12-27 18:17:09 +00:00
|
|
|
struct Pixel
|
|
|
|
{
|
|
|
|
std::uint8_t Red;
|
|
|
|
std::uint8_t Green;
|
|
|
|
std::uint8_t Blue;
|
|
|
|
std::uint8_t Alpha;
|
|
|
|
};
|
|
|
|
|
|
|
|
std::uint32_t* GetPixels();
|
|
|
|
void Clear();
|
|
|
|
void DrawDot(const Point& P, double Radius, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawPoint(const Point& P, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawPoints(const std::vector<Point>& Points, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawLine(const Point& A, const Point& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawLines(const std::vector<Point>& A, const std::vector<Point>& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawBox(const Box& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawSquare(const Box& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawConvex(const Convex& C, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawTile(const Tile& T, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawModel(const std::vector<Point>& Model, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawString(const std::string& String, const Point& P, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
|
|
|
|
void DrawPixels(const std::vector<Pixel> Pixels, std::uint32_t Width, std::uint32_t Height, const Point& P);
|
|
|
|
void SwapBuffer();
|
2017-12-25 23:49:48 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @} */
|
|
|
|
|
|
|
|
#endif // PAINT_HPP_INCLUDED
|