snake_2024/include/Canvas.hpp

49 lines
725 B
C++
Raw Normal View History

#pragma once
#include <cmath>
#include "Engine.h"
2024-07-22 21:22:52 +03:00
#include "Vec.hpp"
enum class Color : uint32_t {
BLACK = 0x000000ff,
WHITE = 0x00ff6000,
BLUE = 0x000000ff,
GREEN = 0x0000ff00,
CYAN = 0x0000ffff,
RED = 0x00ff0000,
MAGENTA = 0x00ff00ff,
YELLOW = 0x00ffff00,
GRAY = 0x001f1f1f,
ORANGE = 0x00ff6000,
};
constexpr Color CL_BG = Color::BLACK;
using Screen = uint32_t[SCREEN_HEIGHT][SCREEN_WIDTH];
2024-07-22 21:22:52 +03:00
namespace canvas {
2024-07-22 21:22:52 +03:00
struct Object {
Veci pos;
Color color;
};
2024-07-22 21:22:52 +03:00
struct Square : public Object {
int side;
};
2024-07-22 21:22:52 +03:00
struct Circle : public Object {
int radius;
};
2024-07-22 21:22:52 +03:00
} // namespace canvas
2024-07-22 21:22:52 +03:00
namespace paint {
2024-07-22 21:22:52 +03:00
void square(const canvas::Square &s);
2024-07-22 21:22:52 +03:00
void circle(const canvas::Circle &c);
2024-07-22 21:22:52 +03:00
} // namespace paint