|
@@ -1,45 +1,8 @@
|
|
|
#ifndef INCLUDE_GRAPHICS_H
|
|
#ifndef INCLUDE_GRAPHICS_H
|
|
|
#define INCLUDE_GRAPHICS_H
|
|
#define INCLUDE_GRAPHICS_H
|
|
|
|
|
|
|
|
-#include <cstdint>
|
|
|
|
|
-
|
|
|
|
|
namespace WalrusRPG{ namespace Graphics {
|
|
namespace WalrusRPG{ namespace Graphics {
|
|
|
|
|
|
|
|
- /*
|
|
|
|
|
- * Pixel structure
|
|
|
|
|
- * TODO?: Convert this into a class to hide value?
|
|
|
|
|
- */
|
|
|
|
|
- union Pixel {
|
|
|
|
|
- std::uint16_t value;
|
|
|
|
|
- struct {
|
|
|
|
|
- unsigned r : 5;
|
|
|
|
|
- unsigned g : 6;
|
|
|
|
|
- unsigned b : 5;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- Pixel(std::uint16_t color) : value(color) {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- Pixel(Pixel &pix) : value(pix.value) {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- Pixel(std::uint8_t red, std::uint8_t green, std::uint8_t blue) : r(red>>3), g(green>>2), b(blue>>3) {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // Overloading (unsigned) typecast
|
|
|
|
|
- operator std::uint16_t() {
|
|
|
|
|
- return value;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- Pixel& operator=(unsigned value) {
|
|
|
|
|
- this->value = value;
|
|
|
|
|
- return *this;
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
typedef struct Rect Rect_t;
|
|
typedef struct Rect Rect_t;
|
|
|
struct Rect
|
|
struct Rect
|
|
|
{
|
|
{
|