[Bitmap fonts] Add support for scaling.

This commit is contained in:
bruvzg 2023-08-14 10:42:49 +03:00
parent 37ee293be8
commit 9a1e0e4aef
No known key found for this signature in database
GPG key ID: 7960FCF39844EC38
17 changed files with 341 additions and 8 deletions

View file

@ -207,6 +207,12 @@ public:
STRUCTURED_TEXT_CUSTOM
};
enum FixedSizeScaleMode {
FIXED_SIZE_SCALE_DISABLE,
FIXED_SIZE_SCALE_INTEGER_ONLY,
FIXED_SIZE_SCALE_ENABLED,
};
void _draw_hex_code_box_number(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const;
protected:
@ -281,6 +287,9 @@ public:
virtual void font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) = 0;
virtual int64_t font_get_fixed_size(const RID &p_font_rid) const = 0;
virtual void font_set_fixed_size_scale_mode(const RID &p_font_rid, FixedSizeScaleMode p_fixed_size_scale) = 0;
virtual FixedSizeScaleMode font_get_fixed_size_scale_mode(const RID &p_font_rid) const = 0;
virtual void font_set_allow_system_fallback(const RID &p_font_rid, bool p_allow_system_fallback) = 0;
virtual bool font_is_allow_system_fallback(const RID &p_font_rid) const = 0;
@ -620,6 +629,7 @@ VARIANT_BITFIELD_CAST(TextServer::FontStyle);
VARIANT_ENUM_CAST(TextServer::StructuredTextParser);
VARIANT_ENUM_CAST(TextServer::FontAntialiasing);
VARIANT_ENUM_CAST(TextServer::FontLCDSubpixelLayout);
VARIANT_ENUM_CAST(TextServer::FixedSizeScaleMode);
GDVIRTUAL_NATIVE_PTR(Glyph);
GDVIRTUAL_NATIVE_PTR(CaretInfo);