AlpacaLibrary/Include/Core/Paint.hpp

30 lines
1.6 KiB
C++

#ifndef PAINT_HPP_INCLUDED
#define PAINT_HPP_INCLUDED
#include <vector>
#include "Types/Convex.hpp"
#include "Types/Tile.hpp"
/** @addtogroup Core
* @{ */
class Paint
{
public:
static std::uint32_t* GetPixels();
static void Clear();
static void DrawPoint(const Point& P, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawPoints(const std::vector<Point>& Points, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawLine(const Point& A, const Point& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static 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);
static void DrawBox(const Box& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawSquare(const Box& B, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawConvex(const Convex& C, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawTile(const Tile& T, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static void DrawModel(const std::vector<Point>& Model, std::uint8_t Red, std::uint8_t Green, std::uint8_t Blue, std::uint8_t Alpha);
static 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);
};
/** @} */
#endif // PAINT_HPP_INCLUDED