- Replace header include guards with `#pragma once` and perform minor optimizations. - Replaced traditional include guards with `#pragma once` for simplicity and to reduce boilerplate in all headers. - Improved CLI line number handling with clamping and error messaging. - Enhanced `chdir` error handling for macOS GUI builds. - Removed redundant logic for GUI builds. - Adjusted font constructor and registry to handle `const` data pointers consistently.
34 lines
694 B
C++
34 lines
694 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <utility>
|
|
|
|
#include "BrassMonoCode.h"
|
|
|
|
namespace kte::Fonts {
|
|
// Provide default embedded font aliases used by GUIFrontend fallback loader
|
|
inline const unsigned int DefaultFontSize = BrassMonoCode::DefaultFontBoldCompressedSize;
|
|
inline const unsigned int *DefaultFontData = BrassMonoCode::DefaultFontBoldCompressedData;
|
|
|
|
class Font {
|
|
public:
|
|
Font(std::string name, const unsigned int *data, const unsigned int size)
|
|
: name_(std::move(name)),
|
|
data_(data),
|
|
size_(size) {}
|
|
|
|
|
|
std::string Name()
|
|
{
|
|
return name_;
|
|
}
|
|
|
|
|
|
void Load(float size) const;
|
|
|
|
private:
|
|
std::string name_;
|
|
const unsigned int *data_{nullptr};
|
|
unsigned int size_{0};
|
|
};
|
|
} |