Color is now in one nice location.
This commit is contained in:
parent
c8fa68815b
commit
b7002917c1
4 changed files with 21 additions and 34 deletions
14
color.hpp
Normal file
14
color.hpp
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace color {
|
||||||
|
const sf::Color BLACK{1, 4, 2};
|
||||||
|
const sf::Color DARK_DARK{9, 29, 16};
|
||||||
|
const sf::Color DARK_MID{14, 50, 26};
|
||||||
|
const sf::Color DARK_LIGHT{0, 109, 44};
|
||||||
|
const sf::Color MID{63, 171, 92};
|
||||||
|
const sf::Color LIGHT_DARK{161, 217, 155};
|
||||||
|
const sf::Color LIGHT_MID{199, 233, 192};
|
||||||
|
const sf::Color LIGHT_LIGHT{229, 245, 224};
|
||||||
|
const sf::Color WHITE{255, 255, 255};
|
||||||
|
const sf::Color TRANSPARENT = sf::Color::Transparent;
|
||||||
|
}
|
|
@ -9,6 +9,7 @@
|
||||||
#include <SFML/Graphics/Color.hpp>
|
#include <SFML/Graphics/Color.hpp>
|
||||||
#include <locale>
|
#include <locale>
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
#include "color.hpp"
|
||||||
|
|
||||||
const int UI_PANEL_BORDER_PX=5;
|
const int UI_PANEL_BORDER_PX=5;
|
||||||
|
|
||||||
|
@ -22,8 +23,8 @@ struct Panel {
|
||||||
bool has_border = false;
|
bool has_border = false;
|
||||||
bool must_clear = true;
|
bool must_clear = true;
|
||||||
bool grid = false;
|
bool grid = false;
|
||||||
sf::Color default_bg = sf::Color(0,0,0);
|
sf::Color default_bg = color::BLACK;
|
||||||
sf::Color border_color = sf::Color::Red;
|
sf::Color border_color = color::MID;
|
||||||
int border_px = UI_PANEL_BORDER_PX;
|
int border_px = UI_PANEL_BORDER_PX;
|
||||||
|
|
||||||
bool $dirty = true;
|
bool $dirty = true;
|
||||||
|
|
28
render.cpp
28
render.cpp
|
@ -5,36 +5,16 @@
|
||||||
#include <array>
|
#include <array>
|
||||||
#include "map.hpp"
|
#include "map.hpp"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include "color.hpp"
|
||||||
|
|
||||||
using namespace fmt;
|
using namespace fmt;
|
||||||
|
|
||||||
std::array<sf::Color, 10> VALUES{
|
|
||||||
sf::Color{1, 4, 2}, // black
|
|
||||||
sf::Color{9, 29, 16}, // dark dark
|
|
||||||
sf::Color{14, 50, 26}, // dark mid
|
|
||||||
sf::Color{0, 109, 44}, // dark light
|
|
||||||
sf::Color{63, 171, 92}, // mid
|
|
||||||
sf::Color{161, 217, 155}, // light dark
|
|
||||||
sf::Color{199, 233, 192}, // light mid
|
|
||||||
sf::Color{229, 245, 224}, // light light
|
|
||||||
sf::Color{255, 255, 255}, // white
|
|
||||||
sf::Color::Transparent, // white
|
|
||||||
};
|
|
||||||
|
|
||||||
sf::Color SFMLRender::color(int val) {
|
|
||||||
return VALUES[size_t(val)];
|
|
||||||
}
|
|
||||||
|
|
||||||
sf::Color SFMLRender::color(Value val) {
|
|
||||||
return VALUES[size_t(val)];
|
|
||||||
}
|
|
||||||
|
|
||||||
SFMLRender::SFMLRender() :
|
SFMLRender::SFMLRender() :
|
||||||
$window(sf::VideoMode(VIDEO_X,VIDEO_Y), "Roguish"),
|
$window(sf::VideoMode(VIDEO_X,VIDEO_Y), "Roguish"),
|
||||||
$map_font_size(0),
|
$map_font_size(0),
|
||||||
$line_spacing(0),
|
$line_spacing(0),
|
||||||
$default_fg(color(Value::LIGHT_MID)),
|
$default_fg(color::LIGHT_MID),
|
||||||
$default_bg(color(Value::BLACK)),
|
$default_bg(color::BLACK),
|
||||||
$ansi($default_fg, $default_bg)
|
$ansi($default_fg, $default_bg)
|
||||||
{
|
{
|
||||||
// force true color, but maybe I want to support different color sets
|
// force true color, but maybe I want to support different color sets
|
||||||
|
@ -43,7 +23,7 @@ SFMLRender::SFMLRender() :
|
||||||
$ui_text.setFont($font);
|
$ui_text.setFont($font);
|
||||||
$ui_text.setPosition(0,0);
|
$ui_text.setPosition(0,0);
|
||||||
$ui_text.setCharacterSize(UI_FONT_SIZE);
|
$ui_text.setCharacterSize(UI_FONT_SIZE);
|
||||||
$ui_text.setFillColor(color(Value::LIGHT_MID));
|
$ui_text.setFillColor(color::LIGHT_MID);
|
||||||
sf::Glyph glyph = $font.getGlyph(UI_BASE_CHAR, UI_FONT_SIZE, false);
|
sf::Glyph glyph = $font.getGlyph(UI_BASE_CHAR, UI_FONT_SIZE, false);
|
||||||
$ui_bounds = glyph.bounds;
|
$ui_bounds = glyph.bounds;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,12 +24,6 @@ const wchar_t BG_TILE = L'█';
|
||||||
const wchar_t UI_BASE_CHAR = L'█';
|
const wchar_t UI_BASE_CHAR = L'█';
|
||||||
const int BG_BOX_OFFSET=5;
|
const int BG_BOX_OFFSET=5;
|
||||||
|
|
||||||
enum class Value {
|
|
||||||
BLACK=0, DARK_DARK, DARK_MID,
|
|
||||||
DARK_LIGHT, MID, LIGHT_DARK, LIGHT_MID,
|
|
||||||
LIGHT_LIGHT, WHITE, TRANSPARENT
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SFMLRender {
|
struct SFMLRender {
|
||||||
sf::RenderWindow $window;
|
sf::RenderWindow $window;
|
||||||
int $map_font_size;
|
int $map_font_size;
|
||||||
|
@ -52,8 +46,6 @@ struct SFMLRender {
|
||||||
// disable copy
|
// disable copy
|
||||||
SFMLRender(SFMLRender &other) = delete;
|
SFMLRender(SFMLRender &other) = delete;
|
||||||
|
|
||||||
sf::Color color(int val);
|
|
||||||
sf::Color color(Value val);
|
|
||||||
sf::Sprite &get_text_sprite(wchar_t tile);
|
sf::Sprite &get_text_sprite(wchar_t tile);
|
||||||
bool resize_map(int new_size, Point &view_port);
|
bool resize_map(int new_size, Point &view_port);
|
||||||
void render_grid(const std::wstring &text, float x, float y);
|
void render_grid(const std::wstring &text, float x, float y);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue