mirror of
https://github.com/NoelFB/blah.git
synced 2024-11-25 16:18:57 +08:00
removed trailing whitespace
This commit is contained in:
parent
e70d7a11a0
commit
e1d2e3066e
|
@ -35,7 +35,7 @@ add_library(blah
|
||||||
public/blah/input/virtual_button.h
|
public/blah/input/virtual_button.h
|
||||||
public/blah/input/virtual_axis.cpp
|
public/blah/input/virtual_axis.cpp
|
||||||
public/blah/input/virtual_axis.h
|
public/blah/input/virtual_axis.h
|
||||||
|
|
||||||
public/blah/containers/list.h
|
public/blah/containers/list.h
|
||||||
public/blah/containers/stacklist.h
|
public/blah/containers/stacklist.h
|
||||||
public/blah/containers/str.cpp
|
public/blah/containers/str.cpp
|
||||||
|
@ -103,7 +103,7 @@ add_library(blah
|
||||||
private/blah/internal/platform_sdl2.cpp
|
private/blah/internal/platform_sdl2.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(blah
|
target_include_directories(blah
|
||||||
PUBLIC
|
PUBLIC
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/public>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/public>
|
||||||
PRIVATE
|
PRIVATE
|
||||||
|
|
|
@ -3,11 +3,11 @@ a small C++ game framework for 2D games.
|
||||||
|
|
||||||
this will likely see breaking changes.
|
this will likely see breaking changes.
|
||||||
|
|
||||||
#### prerequisites
|
#### prerequisites
|
||||||
- A C++17 compiler and CMake
|
- A C++17 compiler and CMake
|
||||||
- Only an SDL2 `platform` [is done](https://github.com/NoelFB/blah/blob/master/private/blah/internal/platform_sdl2.cpp). CMake will need to find SDL2 via `SDL2_INCLUDE_DIRS` and `SDL2_LIBRARIES`
|
- Only an SDL2 `platform` [is done](https://github.com/NoelFB/blah/blob/master/private/blah/internal/platform_sdl2.cpp). CMake will need to find SDL2 via `SDL2_INCLUDE_DIRS` and `SDL2_LIBRARIES`
|
||||||
- Only an OpenGL `graphics` [is done](https://github.com/NoelFB/blah/blob/master/private/blah/internal/graphics_opengl.cpp), so it currently requires OpenGL.
|
- Only an OpenGL `graphics` [is done](https://github.com/NoelFB/blah/blob/master/private/blah/internal/graphics_opengl.cpp), so it currently requires OpenGL.
|
||||||
|
|
||||||
#### notes
|
#### notes
|
||||||
- There are probably lots of small bugs as this is highly untested. Best used as a learning resource for now.
|
- There are probably lots of small bugs as this is highly untested. Best used as a learning resource for now.
|
||||||
- There's a custom "vector" class which is called List and Stacklist which may later be replaced with std::vector
|
- There's a custom "vector" class which is called List and Stacklist which may later be replaced with std::vector
|
||||||
|
|
|
@ -409,7 +409,7 @@ void Platform::get_draw_size(int* width, int* height)
|
||||||
float Platform::get_content_scale()
|
float Platform::get_content_scale()
|
||||||
{
|
{
|
||||||
// TODO:
|
// TODO:
|
||||||
// This is incorrect! but for some reason the scale
|
// This is incorrect! but for some reason the scale
|
||||||
// is HUGE if I use the Display DPI on macOS :/
|
// is HUGE if I use the Display DPI on macOS :/
|
||||||
#if __APPLE__
|
#if __APPLE__
|
||||||
return 2.0f;
|
return 2.0f;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#include <blah/filesystem.h>
|
#include <blah/filesystem.h>
|
||||||
#include <blah/log.h>
|
#include <blah/log.h>
|
||||||
#include <blah/time.h>
|
#include <blah/time.h>
|
||||||
|
|
||||||
#include <blah/containers/list.h>
|
#include <blah/containers/list.h>
|
||||||
#include <blah/containers/stacklist.h>
|
#include <blah/containers/stacklist.h>
|
||||||
#include <blah/containers/str.h>
|
#include <blah/containers/str.h>
|
||||||
|
|
|
@ -15,14 +15,14 @@ const uint32_t UTF8_SURROGATE_OFFSET = 0x10000u - (UTF8_LEAD_SURROGATE_MIN << 10
|
||||||
|
|
||||||
char Str::empty_buffer[1] = { '\0' };
|
char Str::empty_buffer[1] = { '\0' };
|
||||||
|
|
||||||
bool Str::operator==(const Str& rhs) const
|
bool Str::operator==(const Str& rhs) const
|
||||||
{
|
{
|
||||||
return strcmp(cstr(), rhs.cstr()) == 0;
|
return strcmp(cstr(), rhs.cstr()) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Str::operator!=(const Str& rhs) const
|
bool Str::operator!=(const Str& rhs) const
|
||||||
{
|
{
|
||||||
return strcmp(cstr(), rhs.cstr()) != 0;
|
return strcmp(cstr(), rhs.cstr()) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Str::operator==(const char* rhs) const
|
bool Str::operator==(const char* rhs) const
|
||||||
|
@ -43,7 +43,7 @@ void Str::reserve(int size)
|
||||||
if (m_capacity <= 0)
|
if (m_capacity <= 0)
|
||||||
m_capacity = 16;
|
m_capacity = 16;
|
||||||
|
|
||||||
while (m_capacity < buffer_length)
|
while (m_capacity < buffer_length)
|
||||||
m_capacity *= 2;
|
m_capacity *= 2;
|
||||||
|
|
||||||
// expand from local buffer
|
// expand from local buffer
|
||||||
|
|
|
@ -388,8 +388,8 @@ void Batch::bezier_line(const Vec2& from, const Vec2& b, const Vec2& c, const Ve
|
||||||
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color color)
|
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color color)
|
||||||
{
|
{
|
||||||
PUSH_TRIANGLE(
|
PUSH_TRIANGLE(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
color, color, color,
|
color, color, color,
|
||||||
0, 0, 255);
|
0, 0, 255);
|
||||||
}
|
}
|
||||||
|
@ -397,8 +397,8 @@ void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color colo
|
||||||
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color col0, Color col1, Color col2)
|
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color col0, Color col1, Color col2)
|
||||||
{
|
{
|
||||||
PUSH_TRIANGLE(
|
PUSH_TRIANGLE(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
col0, col1, col2,
|
col0, col1, col2,
|
||||||
0, 0, 255);
|
0, 0, 255);
|
||||||
}
|
}
|
||||||
|
@ -406,18 +406,18 @@ void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, Color col0
|
||||||
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& tex0, const Vec2& tex1, const Vec2& tex2, Color color)
|
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& tex0, const Vec2& tex1, const Vec2& tex2, Color color)
|
||||||
{
|
{
|
||||||
PUSH_TRIANGLE(
|
PUSH_TRIANGLE(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
tex0.x, tex0.y, tex1.x, tex1.y, tex2.x, tex2.y,
|
tex0.x, tex0.y, tex1.x, tex1.y, tex2.x, tex2.y,
|
||||||
color, color, color,
|
color, color, color,
|
||||||
m_tex_mult, m_tex_wash, 0);
|
m_tex_mult, m_tex_wash, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& tex0, const Vec2& tex1, const Vec2& tex2, Color col0, Color col1, Color col2)
|
void Batch::tri(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& tex0, const Vec2& tex1, const Vec2& tex2, Color col0, Color col1, Color col2)
|
||||||
{
|
{
|
||||||
PUSH_TRIANGLE(
|
PUSH_TRIANGLE(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
tex0.x, tex0.y, tex1.x, tex1.y, tex2.x, tex2.y,
|
tex0.x, tex0.y, tex1.x, tex1.y, tex2.x, tex2.y,
|
||||||
col0, col1, col2,
|
col0, col1, col2,
|
||||||
m_tex_mult, m_tex_wash, 0);
|
m_tex_mult, m_tex_wash, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -633,7 +633,7 @@ void Batch::circle_line(const Vec2 center, float radius, float t, int steps, Col
|
||||||
void Batch::quad(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& pos3, Color color)
|
void Batch::quad(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& pos3, Color color)
|
||||||
{
|
{
|
||||||
PUSH_QUAD(
|
PUSH_QUAD(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y, pos3.x, pos3.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y, pos3.x, pos3.y,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
color, color, color, color,
|
color, color, color, color,
|
||||||
0, 0, 255);
|
0, 0, 255);
|
||||||
|
@ -642,7 +642,7 @@ void Batch::quad(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec
|
||||||
void Batch::quad(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& pos3, Color col0, Color col1, Color col2, Color col3)
|
void Batch::quad(const Vec2& pos0, const Vec2& pos1, const Vec2& pos2, const Vec2& pos3, Color col0, Color col1, Color col2, Color col3)
|
||||||
{
|
{
|
||||||
PUSH_QUAD(
|
PUSH_QUAD(
|
||||||
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y, pos3.x, pos3.y,
|
pos0.x, pos0.y, pos1.x, pos1.y, pos2.x, pos2.y, pos3.x, pos3.y,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
col0, col1, col2, col3,
|
col0, col1, col2, col3,
|
||||||
0, 0, 255);
|
0, 0, 255);
|
||||||
|
@ -699,9 +699,9 @@ void Batch::tex(const Subtexture& sub, const Vec2& pos, Color color)
|
||||||
if (!sub.texture || !sub.texture->is_valid())
|
if (!sub.texture || !sub.texture->is_valid())
|
||||||
{
|
{
|
||||||
PUSH_QUAD(
|
PUSH_QUAD(
|
||||||
pos.x + sub.draw_coords[0].x, pos.y + sub.draw_coords[0].y,
|
pos.x + sub.draw_coords[0].x, pos.y + sub.draw_coords[0].y,
|
||||||
pos.x + sub.draw_coords[1].x, pos.y + sub.draw_coords[1].y,
|
pos.x + sub.draw_coords[1].x, pos.y + sub.draw_coords[1].y,
|
||||||
pos.x + sub.draw_coords[2].x, pos.y + sub.draw_coords[2].y,
|
pos.x + sub.draw_coords[2].x, pos.y + sub.draw_coords[2].y,
|
||||||
pos.x + sub.draw_coords[3].x, pos.y + sub.draw_coords[3].y,
|
pos.x + sub.draw_coords[3].x, pos.y + sub.draw_coords[3].y,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
color, color, color, color,
|
color, color, color, color,
|
||||||
|
@ -716,9 +716,9 @@ void Batch::tex(const Subtexture& sub, const Vec2& pos, Color color)
|
||||||
pos.x + sub.draw_coords[1].x, pos.y + sub.draw_coords[1].y,
|
pos.x + sub.draw_coords[1].x, pos.y + sub.draw_coords[1].y,
|
||||||
pos.x + sub.draw_coords[2].x, pos.y + sub.draw_coords[2].y,
|
pos.x + sub.draw_coords[2].x, pos.y + sub.draw_coords[2].y,
|
||||||
pos.x + sub.draw_coords[3].x, pos.y + sub.draw_coords[3].y,
|
pos.x + sub.draw_coords[3].x, pos.y + sub.draw_coords[3].y,
|
||||||
sub.tex_coords[0].x, sub.tex_coords[0].y,
|
sub.tex_coords[0].x, sub.tex_coords[0].y,
|
||||||
sub.tex_coords[1].x, sub.tex_coords[1].y,
|
sub.tex_coords[1].x, sub.tex_coords[1].y,
|
||||||
sub.tex_coords[2].x, sub.tex_coords[2].y,
|
sub.tex_coords[2].x, sub.tex_coords[2].y,
|
||||||
sub.tex_coords[3].x, sub.tex_coords[3].y,
|
sub.tex_coords[3].x, sub.tex_coords[3].y,
|
||||||
color, color, color, color,
|
color, color, color, color,
|
||||||
m_tex_mult, m_tex_wash, 0);
|
m_tex_mult, m_tex_wash, 0);
|
||||||
|
@ -732,9 +732,9 @@ void Batch::tex(const Subtexture& sub, const Vec2& pos, const Vec2& origin, cons
|
||||||
if (!sub.texture || !sub.texture->is_valid())
|
if (!sub.texture || !sub.texture->is_valid())
|
||||||
{
|
{
|
||||||
PUSH_QUAD(
|
PUSH_QUAD(
|
||||||
sub.draw_coords[0].x, sub.draw_coords[0].y,
|
sub.draw_coords[0].x, sub.draw_coords[0].y,
|
||||||
sub.draw_coords[1].x, sub.draw_coords[1].y,
|
sub.draw_coords[1].x, sub.draw_coords[1].y,
|
||||||
sub.draw_coords[2].x, sub.draw_coords[2].y,
|
sub.draw_coords[2].x, sub.draw_coords[2].y,
|
||||||
sub.draw_coords[3].x, sub.draw_coords[3].y,
|
sub.draw_coords[3].x, sub.draw_coords[3].y,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
color, color, color, color,
|
color, color, color, color,
|
||||||
|
@ -749,9 +749,9 @@ void Batch::tex(const Subtexture& sub, const Vec2& pos, const Vec2& origin, cons
|
||||||
sub.draw_coords[1].x, sub.draw_coords[1].y,
|
sub.draw_coords[1].x, sub.draw_coords[1].y,
|
||||||
sub.draw_coords[2].x, sub.draw_coords[2].y,
|
sub.draw_coords[2].x, sub.draw_coords[2].y,
|
||||||
sub.draw_coords[3].x, sub.draw_coords[3].y,
|
sub.draw_coords[3].x, sub.draw_coords[3].y,
|
||||||
sub.tex_coords[0].x, sub.tex_coords[0].y,
|
sub.tex_coords[0].x, sub.tex_coords[0].y,
|
||||||
sub.tex_coords[1].x, sub.tex_coords[1].y,
|
sub.tex_coords[1].x, sub.tex_coords[1].y,
|
||||||
sub.tex_coords[2].x, sub.tex_coords[2].y,
|
sub.tex_coords[2].x, sub.tex_coords[2].y,
|
||||||
sub.tex_coords[3].x, sub.tex_coords[3].y,
|
sub.tex_coords[3].x, sub.tex_coords[3].y,
|
||||||
color, color, color, color,
|
color, color, color, color,
|
||||||
m_tex_mult, m_tex_wash, 0);
|
m_tex_mult, m_tex_wash, 0);
|
||||||
|
@ -807,7 +807,7 @@ void Batch::str(const SpriteFont& font, const String& text, const Vec2& pos, Tex
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// This doesn't parse Unicode!
|
// This doesn't parse Unicode!
|
||||||
// It will assume it's a 1-byte ASCII char which is incorrect
|
// It will assume it's a 1-byte ASCII char which is incorrect
|
||||||
auto ch = font[text[i]];
|
auto ch = font[text[i]];
|
||||||
|
|
||||||
|
@ -818,7 +818,7 @@ void Batch::str(const SpriteFont& font, const String& text, const Vec2& pos, Tex
|
||||||
if (i > 0 && text[i - 1] != '\n')
|
if (i > 0 && text[i - 1] != '\n')
|
||||||
{
|
{
|
||||||
// TODO:
|
// TODO:
|
||||||
// This doesn't parse Unicode!
|
// This doesn't parse Unicode!
|
||||||
at.x += font.get_kerning(text[i], text[i - 1]);
|
at.x += font.get_kerning(text[i], text[i - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -166,10 +166,10 @@ namespace Blah
|
||||||
rgba = blendColor;
|
rgba = blendColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool operator==(const BlendMode& rhs) const {
|
inline bool operator==(const BlendMode& rhs) const {
|
||||||
return colorOp == rhs.colorOp && colorSrc == rhs.colorSrc && colorDst == rhs.colorDst &&
|
return colorOp == rhs.colorOp && colorSrc == rhs.colorSrc && colorDst == rhs.colorDst &&
|
||||||
alphaOp == rhs.alphaOp && alphaSrc == rhs.alphaSrc && alphaDst == rhs.alphaDst &&
|
alphaOp == rhs.alphaOp && alphaSrc == rhs.alphaSrc && alphaDst == rhs.alphaDst &&
|
||||||
mask == rhs.mask && rgba == rhs.rgba;
|
mask == rhs.mask && rgba == rhs.rgba;
|
||||||
}
|
}
|
||||||
inline bool operator!=(const BlendMode& rhs) const { return !(*this == rhs); }
|
inline bool operator!=(const BlendMode& rhs) const { return !(*this == rhs); }
|
||||||
|
|
||||||
|
|
|
@ -158,7 +158,7 @@ void Aseprite::Parse(Stream& stream)
|
||||||
|
|
||||||
if (old_chunk_count == 0xFFFF)
|
if (old_chunk_count == 0xFFFF)
|
||||||
chunks = new_chunk_count;
|
chunks = new_chunk_count;
|
||||||
else
|
else
|
||||||
chunks = old_chunk_count;
|
chunks = old_chunk_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,10 @@ String GetName(stbtt_fontinfo* font, int nameId)
|
||||||
int length = 0;
|
int length = 0;
|
||||||
|
|
||||||
// get the name
|
// get the name
|
||||||
const uint16_t* ptr = (const uint16_t*)stbtt_GetFontNameStr(font, &length,
|
const uint16_t* ptr = (const uint16_t*)stbtt_GetFontNameStr(font, &length,
|
||||||
STBTT_PLATFORM_ID_MICROSOFT,
|
STBTT_PLATFORM_ID_MICROSOFT,
|
||||||
STBTT_MS_EID_UNICODE_BMP,
|
STBTT_MS_EID_UNICODE_BMP,
|
||||||
STBTT_MS_LANG_ENGLISH,
|
STBTT_MS_LANG_ENGLISH,
|
||||||
nameId);
|
nameId);
|
||||||
|
|
||||||
// we want the size in wide chars
|
// we want the size in wide chars
|
||||||
|
|
|
@ -295,7 +295,7 @@ namespace Blah
|
||||||
// Timestamp, in milliseconds, since each button was last pressed
|
// Timestamp, in milliseconds, since each button was last pressed
|
||||||
uint64_t button_timestamp[Input::max_controller_buttons];
|
uint64_t button_timestamp[Input::max_controller_buttons];
|
||||||
|
|
||||||
// Timestamp, in milliseconds, since each axis last had a value set
|
// Timestamp, in milliseconds, since each axis last had a value set
|
||||||
uint64_t axis_timestamp[Input::max_controller_axis];
|
uint64_t axis_timestamp[Input::max_controller_axis];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,7 @@ using namespace Blah;
|
||||||
char const hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
|
char const hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
|
||||||
#define LT_HEX_VALUE(n) ((n >= '0' && n <= '9') ? (n - '0') : ((n >= 'A' && n <= 'F') ? (10 + n - 'A') : ((n >= 'a' && n <= 'f') ? (10 + n - 'a') : 0)))
|
#define LT_HEX_VALUE(n) ((n >= '0' && n <= '9') ? (n - '0') : ((n >= 'A' && n <= 'F') ? (10 + n - 'A') : ((n >= 'a' && n <= 'f') ? (10 + n - 'a') : 0)))
|
||||||
|
|
||||||
Color::Color()
|
Color::Color()
|
||||||
: r(0), g(0), b(0), a(0) {}
|
: r(0), g(0), b(0), a(0) {}
|
||||||
|
|
||||||
Color::Color(int rgb) :
|
Color::Color(int rgb) :
|
||||||
|
@ -15,16 +15,16 @@ Color::Color(int rgb) :
|
||||||
b((uint8_t)(rgb & 0x0000FF)),
|
b((uint8_t)(rgb & 0x0000FF)),
|
||||||
a(255) {}
|
a(255) {}
|
||||||
|
|
||||||
Color::Color(int rgb, float alpha) :
|
Color::Color(int rgb, float alpha) :
|
||||||
r((int)(((uint8_t)((rgb & 0xFF0000) >> 16)) * alpha)),
|
r((int)(((uint8_t)((rgb & 0xFF0000) >> 16)) * alpha)),
|
||||||
g((int)(((uint8_t)((rgb & 0x00FF00) >> 8)) * alpha)),
|
g((int)(((uint8_t)((rgb & 0x00FF00) >> 8)) * alpha)),
|
||||||
b((int)(((uint8_t)(rgb & 0x0000FF)) * alpha)),
|
b((int)(((uint8_t)(rgb & 0x0000FF)) * alpha)),
|
||||||
a((int)(255 * alpha)) {}
|
a((int)(255 * alpha)) {}
|
||||||
|
|
||||||
Color::Color(uint8_t r, uint8_t g, uint8_t b)
|
Color::Color(uint8_t r, uint8_t g, uint8_t b)
|
||||||
: r(r), g(g), b(b), a(255) {}
|
: r(r), g(g), b(b), a(255) {}
|
||||||
|
|
||||||
Color::Color(uint8_t r, uint8_t g, uint8_t b, uint8_t a)
|
Color::Color(uint8_t r, uint8_t g, uint8_t b, uint8_t a)
|
||||||
: r(r), g(g), b(b), a(a) {}
|
: r(r), g(g), b(b), a(a) {}
|
||||||
|
|
||||||
Color::Color(const char* value) : r(0), g(0), b(0), a(255)
|
Color::Color(const char* value) : r(0), g(0), b(0), a(255)
|
||||||
|
@ -59,10 +59,10 @@ void Color::premultiply()
|
||||||
|
|
||||||
uint32_t Color::to_rgba() const
|
uint32_t Color::to_rgba() const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
((uint32_t)r << 24) |
|
((uint32_t)r << 24) |
|
||||||
((uint32_t)g << 16) |
|
((uint32_t)g << 16) |
|
||||||
((uint32_t)b << 8) |
|
((uint32_t)b << 8) |
|
||||||
(uint32_t)a;
|
(uint32_t)a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,9 +130,9 @@ Color Color::lerp(Color a, Color b, float amount)
|
||||||
Color Color::operator*(float multiply) const
|
Color Color::operator*(float multiply) const
|
||||||
{
|
{
|
||||||
return Color(
|
return Color(
|
||||||
(int)(r * multiply),
|
(int)(r * multiply),
|
||||||
(int)(g * multiply),
|
(int)(g * multiply),
|
||||||
(int)(b * multiply),
|
(int)(b * multiply),
|
||||||
(int)(a * multiply));
|
(int)(a * multiply));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
using namespace Blah;
|
using namespace Blah;
|
||||||
|
|
||||||
Mat3x2::Mat3x2()
|
Mat3x2::Mat3x2()
|
||||||
: m11(0), m12(0), m21(0), m22(0), m31(0), m32(0) {}
|
: m11(0), m12(0), m21(0), m22(0), m31(0), m32(0) {}
|
||||||
|
|
||||||
Mat3x2::Mat3x2(float m11, float m12, float m21, float m22, float m31, float m32)
|
Mat3x2::Mat3x2(float m11, float m12, float m21, float m22, float m31, float m32)
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
|
|
||||||
using namespace Blah;
|
using namespace Blah;
|
||||||
|
|
||||||
Point::Point()
|
Point::Point()
|
||||||
{
|
{
|
||||||
x = y = 0;
|
x = y = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Point::Point(int px, int py)
|
Point::Point(int px, int py)
|
||||||
{
|
{
|
||||||
x = px;
|
x = px;
|
||||||
y = py;
|
y = py;
|
||||||
}
|
}
|
||||||
|
|
||||||
Point Point::operator +(const Point rhs) const { return Point(x + rhs.x, y + rhs.y); }
|
Point Point::operator +(const Point rhs) const { return Point(x + rhs.x, y + rhs.y); }
|
||||||
|
@ -31,14 +31,14 @@ Point& Point::operator *=(int rhs) { x *= rhs; y *= rhs; return *this; }
|
||||||
bool Point::operator ==(const Point& rhs) { return x == rhs.x && y == rhs.y; }
|
bool Point::operator ==(const Point& rhs) { return x == rhs.x && y == rhs.y; }
|
||||||
bool Point::operator !=(const Point& rhs) { return x != rhs.x || y != rhs.y; }
|
bool Point::operator !=(const Point& rhs) { return x != rhs.x || y != rhs.y; }
|
||||||
|
|
||||||
float Point::length() const
|
float Point::length() const
|
||||||
{
|
{
|
||||||
return sqrtf((float)(x * x + y * y));
|
return sqrtf((float)(x * x + y * y));
|
||||||
}
|
}
|
||||||
|
|
||||||
int Point::length_squared() const
|
int Point::length_squared() const
|
||||||
{
|
{
|
||||||
return x * x + y * y;
|
return x * x + y * y;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Point Point::unitX = Point(1, 0);
|
const Point Point::unitX = Point(1, 0);
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
|
|
||||||
using namespace Blah;
|
using namespace Blah;
|
||||||
|
|
||||||
Rect::Rect()
|
Rect::Rect()
|
||||||
{
|
{
|
||||||
x = y = w = h = 0;
|
x = y = w = h = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
Rect::Rect(float rx, float ry, float rw, float rh)
|
Rect::Rect(float rx, float ry, float rw, float rh)
|
||||||
{
|
{
|
||||||
x = rx;
|
x = rx;
|
||||||
y = ry;
|
y = ry;
|
||||||
w = rw;
|
w = rw;
|
||||||
h = rh;
|
h = rh;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect::Rect(Vec2 pos, Vec2 size)
|
Rect::Rect(Vec2 pos, Vec2 size)
|
||||||
|
@ -28,30 +28,30 @@ Rect::Rect(Vec2 pos, Vec2 size)
|
||||||
h = size.y;
|
h = size.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect::Rect(RectI r)
|
Rect::Rect(RectI r)
|
||||||
{
|
{
|
||||||
x = (float)r.x;
|
x = (float)r.x;
|
||||||
y = (float)r.y;
|
y = (float)r.y;
|
||||||
w = (float)r.w;
|
w = (float)r.w;
|
||||||
h = (float)r.h;
|
h = (float)r.h;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect Rect::scale(float s)
|
Rect Rect::scale(float s)
|
||||||
{
|
{
|
||||||
x = (x * s);
|
x = (x * s);
|
||||||
y = (y * s);
|
y = (y * s);
|
||||||
w = (w * s);
|
w = (w * s);
|
||||||
h = (h * s);
|
h = (h * s);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rect Rect::scale(float sx, float sy)
|
Rect Rect::scale(float sx, float sy)
|
||||||
{
|
{
|
||||||
x = (x * sx);
|
x = (x * sx);
|
||||||
y = (y * sy);
|
y = (y * sy);
|
||||||
w = (w * sx);
|
w = (w * sx);
|
||||||
h = (h * sy);
|
h = (h * sy);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
Line Rect::left_line() const { return Line(left(), top(), left(), bottom()); }
|
Line Rect::left_line() const { return Line(left(), top(), left(), bottom()); }
|
||||||
|
@ -67,7 +67,7 @@ Rect& Rect::operator-=(const Vec2& rhs) { x -= rhs.x; y -= rhs.y; return *this;
|
||||||
Rect Rect::transform(const Rect& rect, const Mat3x2& matrix)
|
Rect Rect::transform(const Rect& rect, const Mat3x2& matrix)
|
||||||
{
|
{
|
||||||
return Rect(
|
return Rect(
|
||||||
(rect.x * matrix.m11) + (rect.y * matrix.m21) + matrix.m31,
|
(rect.x * matrix.m11) + (rect.y * matrix.m21) + matrix.m31,
|
||||||
(rect.x * matrix.m12) + (rect.y * matrix.m22) + matrix.m32,
|
(rect.x * matrix.m12) + (rect.y * matrix.m22) + matrix.m32,
|
||||||
(rect.w * matrix.m11) + (rect.h * matrix.m21),
|
(rect.w * matrix.m11) + (rect.h * matrix.m21),
|
||||||
(rect.w * matrix.m12) + (rect.h * matrix.m22));
|
(rect.w * matrix.m12) + (rect.h * matrix.m22));
|
||||||
|
|
|
@ -12,17 +12,17 @@ RectI::RectI()
|
||||||
|
|
||||||
RectI::RectI(int rx, int ry, int rw, int rh)
|
RectI::RectI(int rx, int ry, int rw, int rh)
|
||||||
{
|
{
|
||||||
x = rx;
|
x = rx;
|
||||||
y = ry;
|
y = ry;
|
||||||
w = rw;
|
w = rw;
|
||||||
h = rh;
|
h = rh;
|
||||||
}
|
}
|
||||||
|
|
||||||
RectI::RectI(Point pos, Point size)
|
RectI::RectI(Point pos, Point size)
|
||||||
{
|
{
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
w = size.x;
|
w = size.x;
|
||||||
h = size.y;
|
h = size.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ using namespace Blah;
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
float modf(float x, float m)
|
float modf(float x, float m)
|
||||||
{
|
{
|
||||||
return x - (int)(x / m) * m;
|
return x - (int)(x / m) * m;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user