diff options
Diffstat (limited to 'scene/resources/font.h')
-rw-r--r-- | scene/resources/font.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/scene/resources/font.h b/scene/resources/font.h index 77bff8e8b0..1cce46a3e3 100644 --- a/scene/resources/font.h +++ b/scene/resources/font.h @@ -105,6 +105,7 @@ protected: #ifndef DISABLE_DEPRECATED RID _find_variation_compat_80954(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D()) const; + RID _find_variation_compat_87668(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0) const; static void _bind_compatibility_methods(); #endif @@ -118,8 +119,8 @@ public: virtual TypedArray<Font> get_fallbacks() const; // Output. - virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0) const { return RID(); }; - virtual RID _get_rid() const { return RID(); }; + virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0, float p_baseline_offset = 0.0) const { return RID(); } + virtual RID _get_rid() const { return RID(); } virtual TypedArray<RID> get_rids() const; // Font metrics. @@ -136,7 +137,7 @@ public: virtual int get_font_weight() const; virtual int get_font_stretch() const; - virtual int get_spacing(TextServer::SpacingType p_spacing) const { return 0; }; + virtual int get_spacing(TextServer::SpacingType p_spacing) const { return 0; } virtual Dictionary get_opentype_features() const; // Drawing string. @@ -277,7 +278,7 @@ public: virtual real_t get_oversampling() const; // Cache. - virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0) const override; + virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0, float p_baseline_offset = 0.0) const override; virtual RID _get_rid() const override; virtual int get_cache_count() const; @@ -300,6 +301,9 @@ public: virtual void set_extra_spacing(int p_cache_index, TextServer::SpacingType p_spacing, int64_t p_value); virtual int64_t get_extra_spacing(int p_cache_index, TextServer::SpacingType p_spacing) const; + virtual float get_extra_baseline_offset(int p_cache_index) const; + virtual void set_extra_baseline_offset(int p_cache_index, float p_baseline_offset); + virtual void set_face_index(int p_cache_index, int64_t p_index); virtual int64_t get_face_index(int p_cache_index) const; @@ -400,6 +404,7 @@ class FontVariation : public Font { Variation variation; Dictionary opentype_features; int extra_spacing[TextServer::SPACING_MAX]; + float baseline_offset = 0.0; protected: static void _bind_methods(); @@ -431,8 +436,11 @@ public: virtual void set_spacing(TextServer::SpacingType p_spacing, int p_value); virtual int get_spacing(TextServer::SpacingType p_spacing) const override; + virtual float get_baseline_offset() const; + virtual void set_baseline_offset(float p_baseline_offset); + // Output. - virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0) const override; + virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0, float p_baseline_offset = 0.0) const override; virtual RID _get_rid() const override; FontVariation(); @@ -525,7 +533,7 @@ public: virtual int get_spacing(TextServer::SpacingType p_spacing) const override; - virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0) const override; + virtual RID find_variation(const Dictionary &p_variation_coordinates, int p_face_index = 0, float p_strength = 0.0, Transform2D p_transform = Transform2D(), int p_spacing_top = 0, int p_spacing_bottom = 0, int p_spacing_space = 0, int p_spacing_glyph = 0, float p_baseline_offset = 0.0) const override; virtual RID _get_rid() const override; int64_t get_face_count() const override; |