summaryrefslogtreecommitdiffstats
path: root/scene/resources/font.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/font.h')
-rw-r--r--scene/resources/font.h20
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;