Compare commits

..

No commits in common. "rainbow" and "main" have entirely different histories.

6 changed files with 9 additions and 35 deletions

View File

@ -22,8 +22,8 @@ void rect_textured(float x, float y, float w, float h, rgba color,
float angle);
void circle(float x, float y, float radius, rgba color, float thickness, int steps);
void string(float x, float y, const std::string& string, const font& font, rgba color,
void string(float x, float y, const std::string& string, font& font, rgba color,
float* width, float* height);
void outlined_string(float x, float y, const std::string& string, const font& font,
void outlined_string(float x, float y, const std::string& string, font& font,
rgba color, rgba outline, float* width, float* height);
} // namespace glez::draw

View File

@ -22,8 +22,8 @@ public:
glez::font& operator=(glez::font&&);
// void stringSize(std::string_view string, float* width, float* height);
void stringSize(const std::string& string, float* width, float* height) const;
inline bool isLoaded() const { return this->m_font != nullptr && this->atlas != nullptr; };
void stringSize(const std::string& string, float* width, float* height);
inline bool isLoaded() { return this->m_font != nullptr && this->atlas != nullptr; };
public:
texture_font_t* m_font = nullptr;

View File

@ -1,8 +1,7 @@
target_sources(glez PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/color.cpp"
"${CMAKE_CURRENT_LIST_DIR}/draw.cpp"
"${CMAKE_CURRENT_LIST_DIR}/glez.cpp"
"${CMAKE_CURRENT_LIST_DIR}/font.cpp"
"${CMAKE_CURRENT_LIST_DIR}/texture.cpp")
add_subdirectory(picopng)
add_subdirectory(picopng)

View File

@ -1,25 +0,0 @@
/*
* Created by Rebekah Rowe on 04.07.22. GPL3
*/
#include <cmath>
#include <chrono>
#include <iostream>
#include <glm/gtx/color_space.hpp>
#include <glez/color.hpp>
namespace glez::color {
static auto start_time = std::chrono::steady_clock::now();
rgba RainbowCurrent() {
std::chrono::duration<float, std::deca> ctime = std::chrono::steady_clock::now() - start_time;
auto ret_raw = glm::rgbColor(glm::vec3(fabs(sin(ctime.count())) * 360.0f, 0.85f, 0.9f));
rgba ret;
ret.r = ret_raw.r;
ret.g = ret_raw.g;
ret.b = ret_raw.b;
return ret;
}
} // namespace glez::color

View File

@ -21,7 +21,7 @@ static GLuint triangle[3] = { 0, 1, 2 };
} // namespace indices
void internal_draw_string(float x, float y, const std::string& string,
const glez::font& font, glez::rgba color, float* width, float* height) {
glez::font& font, glez::rgba color, float* width, float* height) {
assert(font.isLoaded());
auto* fnt = font.m_font;
float pen_x = x;
@ -202,14 +202,14 @@ void circle(float x, float y, float radius, rgba color, float thickness,
}
}
void string(float x, float y, const std::string& string, const font& font, rgba color, float* width, float* height) {
void string(float x, float y, const std::string& string, font& font, rgba color, float* width, float* height) {
auto fnt = font.m_font;
fnt->rendermode = RENDER_NORMAL;
fnt->outline_thickness = 0.0f;
internal_draw_string(x, y, string, font, color, width, height);
}
void outlined_string(float x, float y, const std::string& string, const font& font, rgba color, rgba outline, float* width, float* height) {
void outlined_string(float x, float y, const std::string& string, font& font, rgba color, rgba outline, float* width, float* height) {
auto fnt = font.m_font;
fnt->rendermode = RENDER_OUTLINE_POSITIVE;
fnt->outline_thickness = 1.0f;

View File

@ -36,7 +36,7 @@ glez::font& font::operator=(glez::font&& var) {
var.atlas = nullptr;
return *this;
}
void font::stringSize(const std::string& string, float* width, float* height) const {
void font::stringSize(const std::string& string, float* width, float* height) {
assert(this->isLoaded());
float penX = 0;