59 lines
937 B
C++
59 lines
937 B
C++
#pragma once
|
|
|
|
#include "ehs/EHS.h"
|
|
#include "ehs/Vec2.h"
|
|
#include "ehs/Rect.h"
|
|
#include "ehs/Serializer.h"
|
|
|
|
namespace ehs
|
|
{
|
|
class Glyph
|
|
{
|
|
private:
|
|
Char_32 code;
|
|
Vec2_u64 pos;
|
|
Vec2_u64 scale;
|
|
Rect_f uv;
|
|
Vec2_64 bearing;
|
|
Vec2_64 advance;
|
|
|
|
public:
|
|
Glyph();
|
|
|
|
Glyph(Serializer<UInt_64>& ser);
|
|
|
|
Glyph(const Char_32 code);
|
|
|
|
Glyph(const Glyph& glyph);
|
|
|
|
Glyph& operator=(const Glyph& glyph);
|
|
|
|
bool operator==(const Glyph& glyph) const;
|
|
|
|
bool operator!=(const Glyph& glyph) const;
|
|
|
|
Char_32 GetCode() const;
|
|
|
|
void SetPos(const Vec2_u64& newPos);
|
|
|
|
Vec2_u64 GetPos() const;
|
|
|
|
void SetScale(const Vec2_u64& newScale);
|
|
|
|
Vec2_u64 GetScale() const;
|
|
|
|
void SetUV(const Rect_f& newUV);
|
|
|
|
Rect_f GetUV() const;
|
|
|
|
void SetBearing(const Vec2_64& newBearing);
|
|
|
|
Vec2_32 GetBearing() const;
|
|
|
|
void SetAdvance(const Vec2_64& newAdvance);
|
|
|
|
Vec2_32 GetAdvance() const;
|
|
|
|
void Serialize(Serializer<>& ser) const;
|
|
};
|
|
} |