[TextServer] Store font extra spacing variations without making a full copy of font.
This commit is contained in:
@ -51,6 +51,7 @@ void TextServerExtension::_bind_methods() {
|
||||
/* Font interface */
|
||||
|
||||
GDVIRTUAL_BIND(_create_font);
|
||||
GDVIRTUAL_BIND(_create_font_linked_variation, "font_rid");
|
||||
|
||||
GDVIRTUAL_BIND(_font_set_data, "font_rid", "data");
|
||||
GDVIRTUAL_BIND(_font_set_data_ptr, "font_rid", "data_ptr", "data_size");
|
||||
@ -412,6 +413,12 @@ RID TextServerExtension::create_font() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
RID TextServerExtension::create_font_linked_variation(const RID &p_font_rid) {
|
||||
RID ret;
|
||||
GDVIRTUAL_CALL(_create_font_linked_variation, p_font_rid, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void TextServerExtension::font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) {
|
||||
GDVIRTUAL_CALL(_font_set_data, p_font_rid, p_data);
|
||||
}
|
||||
|
||||
@ -80,6 +80,9 @@ public:
|
||||
virtual RID create_font() override;
|
||||
GDVIRTUAL0R(RID, _create_font);
|
||||
|
||||
virtual RID create_font_linked_variation(const RID &p_font_rid) override;
|
||||
GDVIRTUAL1R(RID, _create_font_linked_variation, RID);
|
||||
|
||||
virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) override;
|
||||
virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) override;
|
||||
GDVIRTUAL2(_font_set_data, RID, const PackedByteArray &);
|
||||
|
||||
Reference in New Issue
Block a user