Struct FontFile
#[repr(C)]pub struct FontFile { /* private fields */ }
Expand description
Godot class FontFile.
Inherits Font
.
Related symbols:
IFontFile
: virtual methods
See also Godot docs for FontFile
.
§Construction
This class is reference-counted. You can create a new instance using FontFile::new_gd()
.
Implementations§
§impl FontFile
impl FontFile
pub fn load_bitmap_font(&mut self, path: impl AsArg<GString>) -> Error
pub fn load_dynamic_font(&mut self, path: impl AsArg<GString>) -> Error
pub fn set_data(&mut self, data: &PackedByteArray)
pub fn get_data(&self) -> PackedByteArray
pub fn set_font_name(&mut self, name: impl AsArg<GString>)
pub fn set_font_style_name(&mut self, name: impl AsArg<GString>)
pub fn set_font_style(&mut self, style: FontStyle)
pub fn set_font_weight(&mut self, weight: i32)
pub fn set_font_stretch(&mut self, stretch: i32)
pub fn set_antialiasing(&mut self, antialiasing: FontAntialiasing)
pub fn get_antialiasing(&self) -> FontAntialiasing
pub fn set_disable_embedded_bitmaps(&mut self, disable_embedded_bitmaps: bool)
pub fn get_disable_embedded_bitmaps(&self) -> bool
pub fn set_generate_mipmaps(&mut self, generate_mipmaps: bool)
pub fn get_generate_mipmaps(&self) -> bool
pub fn set_multichannel_signed_distance_field(&mut self, msdf: bool)
pub fn is_multichannel_signed_distance_field(&self) -> bool
pub fn set_msdf_pixel_range(&mut self, msdf_pixel_range: i32)
pub fn get_msdf_pixel_range(&self) -> i32
pub fn set_msdf_size(&mut self, msdf_size: i32)
pub fn get_msdf_size(&self) -> i32
pub fn set_fixed_size(&mut self, fixed_size: i32)
pub fn get_fixed_size(&self) -> i32
pub fn set_fixed_size_scale_mode( &mut self, fixed_size_scale_mode: FixedSizeScaleMode, )
pub fn get_fixed_size_scale_mode(&self) -> FixedSizeScaleMode
pub fn set_allow_system_fallback(&mut self, allow_system_fallback: bool)
pub fn is_allow_system_fallback(&self) -> bool
pub fn set_force_autohinter(&mut self, force_autohinter: bool)
pub fn is_force_autohinter(&self) -> bool
pub fn set_hinting(&mut self, hinting: Hinting)
pub fn get_hinting(&self) -> Hinting
pub fn set_subpixel_positioning( &mut self, subpixel_positioning: SubpixelPositioning, )
pub fn get_subpixel_positioning(&self) -> SubpixelPositioning
pub fn set_oversampling(&mut self, oversampling: f32)
pub fn get_oversampling(&self) -> f32
pub fn get_cache_count(&self) -> i32
pub fn clear_cache(&mut self)
pub fn remove_cache(&mut self, cache_index: i32)
pub fn get_size_cache_list(&self, cache_index: i32) -> Array<Vector2i>
pub fn clear_size_cache(&mut self, cache_index: i32)
pub fn remove_size_cache(&mut self, cache_index: i32, size: Vector2i)
pub fn set_variation_coordinates( &mut self, cache_index: i32, variation_coordinates: &Dictionary, )
pub fn get_variation_coordinates(&self, cache_index: i32) -> Dictionary
pub fn set_embolden(&mut self, cache_index: i32, strength: f32)
pub fn get_embolden(&self, cache_index: i32) -> f32
pub fn set_transform(&mut self, cache_index: i32, transform: Transform2D)
pub fn get_transform(&self, cache_index: i32) -> Transform2D
pub fn set_extra_spacing( &mut self, cache_index: i32, spacing: SpacingType, value: i64, )
pub fn get_extra_spacing(&self, cache_index: i32, spacing: SpacingType) -> i64
pub fn set_extra_baseline_offset( &mut self, cache_index: i32, baseline_offset: f32, )
pub fn get_extra_baseline_offset(&self, cache_index: i32) -> f32
pub fn set_face_index(&mut self, cache_index: i32, face_index: i64)
pub fn get_face_index(&self, cache_index: i32) -> i64
pub fn set_cache_ascent(&mut self, cache_index: i32, size: i32, ascent: f32)
pub fn get_cache_ascent(&self, cache_index: i32, size: i32) -> f32
pub fn set_cache_descent(&mut self, cache_index: i32, size: i32, descent: f32)
pub fn get_cache_descent(&self, cache_index: i32, size: i32) -> f32
pub fn set_cache_underline_position( &mut self, cache_index: i32, size: i32, underline_position: f32, )
pub fn get_cache_underline_position(&self, cache_index: i32, size: i32) -> f32
pub fn set_cache_underline_thickness( &mut self, cache_index: i32, size: i32, underline_thickness: f32, )
pub fn get_cache_underline_thickness(&self, cache_index: i32, size: i32) -> f32
pub fn set_cache_scale(&mut self, cache_index: i32, size: i32, scale: f32)
pub fn get_cache_scale(&self, cache_index: i32, size: i32) -> f32
pub fn get_texture_count(&self, cache_index: i32, size: Vector2i) -> i32
pub fn clear_textures(&mut self, cache_index: i32, size: Vector2i)
pub fn remove_texture( &mut self, cache_index: i32, size: Vector2i, texture_index: i32, )
pub fn set_texture_image( &mut self, cache_index: i32, size: Vector2i, texture_index: i32, image: impl AsObjectArg<Image>, )
pub fn get_texture_image( &self, cache_index: i32, size: Vector2i, texture_index: i32, ) -> Option<Gd<Image>>
pub fn set_texture_offsets( &mut self, cache_index: i32, size: Vector2i, texture_index: i32, offset: &PackedInt32Array, )
pub fn get_texture_offsets( &self, cache_index: i32, size: Vector2i, texture_index: i32, ) -> PackedInt32Array
pub fn get_glyph_list( &self, cache_index: i32, size: Vector2i, ) -> PackedInt32Array
pub fn clear_glyphs(&mut self, cache_index: i32, size: Vector2i)
pub fn remove_glyph(&mut self, cache_index: i32, size: Vector2i, glyph: i32)
pub fn set_glyph_advance( &mut self, cache_index: i32, size: i32, glyph: i32, advance: Vector2, )
pub fn get_glyph_advance( &self, cache_index: i32, size: i32, glyph: i32, ) -> Vector2
pub fn set_glyph_offset( &mut self, cache_index: i32, size: Vector2i, glyph: i32, offset: Vector2, )
pub fn get_glyph_offset( &self, cache_index: i32, size: Vector2i, glyph: i32, ) -> Vector2
pub fn set_glyph_size( &mut self, cache_index: i32, size: Vector2i, glyph: i32, gl_size: Vector2, )
pub fn get_glyph_size( &self, cache_index: i32, size: Vector2i, glyph: i32, ) -> Vector2
pub fn set_glyph_uv_rect( &mut self, cache_index: i32, size: Vector2i, glyph: i32, uv_rect: Rect2, )
pub fn get_glyph_uv_rect( &self, cache_index: i32, size: Vector2i, glyph: i32, ) -> Rect2
pub fn set_glyph_texture_idx( &mut self, cache_index: i32, size: Vector2i, glyph: i32, texture_idx: i32, )
pub fn get_glyph_texture_idx( &self, cache_index: i32, size: Vector2i, glyph: i32, ) -> i32
pub fn get_kerning_list(&self, cache_index: i32, size: i32) -> Array<Vector2i>
pub fn clear_kerning_map(&mut self, cache_index: i32, size: i32)
pub fn remove_kerning( &mut self, cache_index: i32, size: i32, glyph_pair: Vector2i, )
pub fn set_kerning( &mut self, cache_index: i32, size: i32, glyph_pair: Vector2i, kerning: Vector2, )
pub fn get_kerning( &self, cache_index: i32, size: i32, glyph_pair: Vector2i, ) -> Vector2
pub fn render_range( &mut self, cache_index: i32, size: Vector2i, start: i64, end: i64, )
pub fn render_glyph(&mut self, cache_index: i32, size: Vector2i, index: i32)
pub fn set_language_support_override( &mut self, language: impl AsArg<GString>, supported: bool, )
pub fn get_language_support_override( &self, language: impl AsArg<GString>, ) -> bool
pub fn remove_language_support_override( &mut self, language: impl AsArg<GString>, )
pub fn get_language_support_overrides(&self) -> PackedStringArray
pub fn set_script_support_override( &mut self, script: impl AsArg<GString>, supported: bool, )
pub fn get_script_support_override(&self, script: impl AsArg<GString>) -> bool
pub fn remove_script_support_override(&mut self, script: impl AsArg<GString>)
pub fn get_script_support_overrides(&self) -> PackedStringArray
pub fn set_opentype_feature_overrides(&mut self, overrides: &Dictionary)
pub fn get_opentype_feature_overrides(&self) -> Dictionary
pub fn get_glyph_index( &self, size: i32, char: i64, variation_selector: i64, ) -> i32
pub fn get_char_from_glyph_index(&self, size: i32, glyph_index: i32) -> i64
Methods from Deref<Target = Font>§
pub fn set_fallbacks(&mut self, fallbacks: &Array<Gd<Font>>)
pub fn get_fallbacks(&self) -> Array<Gd<Font>>
pub fn find_variation(&self, variation_coordinates: &Dictionary) -> Rid
pub fn find_variation(&self, variation_coordinates: &Dictionary) -> Rid
To set the default parameters, use Self::find_variation_ex
and its builder methods. See the book for detailed usage instructions.
pub fn find_variation_ex<'a>( &'a self, variation_coordinates: &'a Dictionary, ) -> ExFindVariation<'a>
pub fn get_rids(&self) -> Array<Rid>
pub fn get_height(&self) -> f32
pub fn get_height(&self) -> f32
To set the default parameters, use Self::get_height_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_height_ex<'a>(&'a self) -> ExGetHeight<'a>
pub fn get_ascent(&self) -> f32
pub fn get_ascent(&self) -> f32
To set the default parameters, use Self::get_ascent_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_ascent_ex<'a>(&'a self) -> ExGetAscent<'a>
pub fn get_descent(&self) -> f32
pub fn get_descent(&self) -> f32
To set the default parameters, use Self::get_descent_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_descent_ex<'a>(&'a self) -> ExGetDescent<'a>
pub fn get_underline_position(&self) -> f32
pub fn get_underline_position(&self) -> f32
To set the default parameters, use Self::get_underline_position_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_underline_position_ex<'a>(&'a self) -> ExGetUnderlinePosition<'a>
pub fn get_underline_thickness(&self) -> f32
pub fn get_underline_thickness(&self) -> f32
To set the default parameters, use Self::get_underline_thickness_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_underline_thickness_ex<'a>(&'a self) -> ExGetUnderlineThickness<'a>
pub fn get_font_name(&self) -> GString
pub fn get_font_style_name(&self) -> GString
pub fn get_ot_name_strings(&self) -> Dictionary
pub fn get_font_style(&self) -> FontStyle
pub fn get_font_weight(&self) -> i32
pub fn get_font_stretch(&self) -> i32
pub fn get_spacing(&self, spacing: SpacingType) -> i32
pub fn get_opentype_features(&self) -> Dictionary
pub fn set_cache_capacity(&mut self, single_line: i32, multi_line: i32)
pub fn get_string_size(&self, text: impl AsArg<GString>) -> Vector2
pub fn get_string_size(&self, text: impl AsArg<GString>) -> Vector2
To set the default parameters, use Self::get_string_size_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_string_size_ex<'a>( &'a self, text: impl AsArg<GString> + 'a, ) -> ExGetStringSize<'a>
pub fn get_multiline_string_size(&self, text: impl AsArg<GString>) -> Vector2
pub fn get_multiline_string_size(&self, text: impl AsArg<GString>) -> Vector2
To set the default parameters, use Self::get_multiline_string_size_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_multiline_string_size_ex<'a>( &'a self, text: impl AsArg<GString> + 'a, ) -> ExGetMultilineStringSize<'a>
pub fn draw_string(
&self,
canvas_item: Rid,
pos: Vector2,
text: impl AsArg<GString>,
)
pub fn draw_string( &self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString>, )
To set the default parameters, use Self::draw_string_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_string_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString> + 'a, ) -> ExDrawString<'a>
pub fn draw_multiline_string(
&self,
canvas_item: Rid,
pos: Vector2,
text: impl AsArg<GString>,
)
pub fn draw_multiline_string( &self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString>, )
To set the default parameters, use Self::draw_multiline_string_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_multiline_string_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString> + 'a, ) -> ExDrawMultilineString<'a>
pub fn draw_string_outline(
&self,
canvas_item: Rid,
pos: Vector2,
text: impl AsArg<GString>,
)
pub fn draw_string_outline( &self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString>, )
To set the default parameters, use Self::draw_string_outline_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_string_outline_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString> + 'a, ) -> ExDrawStringOutline<'a>
pub fn draw_multiline_string_outline(
&self,
canvas_item: Rid,
pos: Vector2,
text: impl AsArg<GString>,
)
pub fn draw_multiline_string_outline( &self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString>, )
To set the default parameters, use Self::draw_multiline_string_outline_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_multiline_string_outline_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, text: impl AsArg<GString> + 'a, ) -> ExDrawMultilineStringOutline<'a>
pub fn get_char_size(&self, char: i64, font_size: i32) -> Vector2
pub fn draw_char(
&self,
canvas_item: Rid,
pos: Vector2,
char: i64,
font_size: i32,
) -> f32
pub fn draw_char( &self, canvas_item: Rid, pos: Vector2, char: i64, font_size: i32, ) -> f32
To set the default parameters, use Self::draw_char_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_char_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, char: i64, font_size: i32, ) -> ExDrawChar<'a>
pub fn draw_char_outline(
&self,
canvas_item: Rid,
pos: Vector2,
char: i64,
font_size: i32,
) -> f32
pub fn draw_char_outline( &self, canvas_item: Rid, pos: Vector2, char: i64, font_size: i32, ) -> f32
To set the default parameters, use Self::draw_char_outline_ex
and its builder methods. See the book for detailed usage instructions.
pub fn draw_char_outline_ex<'a>( &'a self, canvas_item: Rid, pos: Vector2, char: i64, font_size: i32, ) -> ExDrawCharOutline<'a>
pub fn has_char(&self, char: i64) -> bool
pub fn get_supported_chars(&self) -> GString
pub fn is_language_supported(&self, language: impl AsArg<GString>) -> bool
pub fn is_script_supported(&self, script: impl AsArg<GString>) -> bool
pub fn get_supported_feature_list(&self) -> Dictionary
pub fn get_supported_variation_list(&self) -> Dictionary
pub fn get_face_count(&self) -> i64
Methods from Deref<Target = Resource>§
pub fn set_path(&mut self, path: impl AsArg<GString>)
pub fn take_over_path(&mut self, path: impl AsArg<GString>)
pub fn get_path(&self) -> GString
pub fn set_name(&mut self, name: impl AsArg<GString>)
pub fn get_name(&self) -> GString
pub fn get_rid(&self) -> Rid
pub fn set_local_to_scene(&mut self, enable: bool)
pub fn is_local_to_scene(&self) -> bool
pub fn get_local_scene(&self) -> Option<Gd<Node>>
pub fn setup_local_to_scene(&mut self)
pub fn set_scene_unique_id(&mut self, id: impl AsArg<GString>)
pub fn get_scene_unique_id(&self) -> GString
pub fn emit_changed(&mut self)
pub fn duplicate(&self) -> Option<Gd<Resource>>
pub fn duplicate(&self) -> Option<Gd<Resource>>
To set the default parameters, use Self::duplicate_ex
and its builder methods. See the book for detailed usage instructions.
pub fn duplicate_ex<'a>(&'a self) -> ExDuplicate<'a>
Methods from Deref<Target = RefCounted>§
pub fn get_reference_count(&self) -> i32
Methods from Deref<Target = Object>§
pub fn get_class(&self) -> GString
pub fn is_class(&self, class: impl AsArg<GString>) -> bool
pub fn set(&mut self, property: impl AsArg<StringName>, value: &Variant)
pub fn get(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_indexed( &mut self, property_path: impl AsArg<NodePath>, value: &Variant, )
pub fn get_indexed(&self, property_path: impl AsArg<NodePath>) -> Variant
pub fn get_property_list(&self) -> Array<Dictionary>
pub fn get_method_list(&self) -> Array<Dictionary>
pub fn property_can_revert(&self, property: impl AsArg<StringName>) -> bool
pub fn property_get_revert(&self, property: impl AsArg<StringName>) -> Variant
pub fn set_script(&mut self, script: &Variant)
pub fn get_script(&self) -> Variant
pub fn set_meta(&mut self, name: impl AsArg<StringName>, value: &Variant)
pub fn remove_meta(&mut self, name: impl AsArg<StringName>)
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
pub fn get_meta(&self, name: impl AsArg<StringName>) -> Variant
To set the default parameters, use Self::get_meta_ex
and its builder methods. See the book for detailed usage instructions.
pub fn get_meta_ex<'a>( &'a self, name: impl AsArg<StringName> + 'a, ) -> ExGetMeta<'a>
pub fn has_meta(&self, name: impl AsArg<StringName>) -> bool
pub fn get_meta_list(&self) -> Array<StringName>
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
pub fn add_user_signal(&mut self, signal: impl AsArg<GString>)
To set the default parameters, use Self::add_user_signal_ex
and its builder methods. See the book for detailed usage instructions.
pub fn add_user_signal_ex<'a>( &'a mut self, signal: impl AsArg<GString> + 'a, ) -> ExAddUserSignal<'a>
pub fn has_user_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn remove_user_signal(&mut self, signal: impl AsArg<StringName>)
pub fn emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Error
pub fn emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Error
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_emit_signal(
&mut self,
signal: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Error, CallError>
pub fn try_emit_signal( &mut self, signal: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Error, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Variant
pub fn call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Variant
§Panics
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will panic in such a case.
pub fn try_call_deferred(
&mut self,
method: impl AsArg<StringName>,
varargs: &[Variant],
) -> Result<Variant, CallError>
pub fn try_call_deferred( &mut self, method: impl AsArg<StringName>, varargs: &[Variant], ) -> Result<Variant, CallError>
§Return type
This is a varcall method, meaning parameters and return values are passed as Variant
.
It can detect call failures and will return Err
in such a case.
pub fn set_deferred( &mut self, property: impl AsArg<StringName>, value: &Variant, )
pub fn callv( &mut self, method: impl AsArg<StringName>, arg_array: &Array<Variant>, ) -> Variant
pub fn has_method(&self, method: impl AsArg<StringName>) -> bool
pub fn get_method_argument_count(&self, method: impl AsArg<StringName>) -> i32
pub fn has_signal(&self, signal: impl AsArg<StringName>) -> bool
pub fn get_signal_list(&self) -> Array<Dictionary>
pub fn get_signal_connection_list( &self, signal: impl AsArg<StringName>, ) -> Array<Dictionary>
pub fn get_incoming_connections(&self) -> Array<Dictionary>
pub fn connect(
&mut self,
signal: impl AsArg<StringName>,
callable: &Callable,
) -> Error
pub fn connect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, ) -> Error
To set the default parameters, use Self::connect_ex
and its builder methods. See the book for detailed usage instructions.
pub fn connect_ex<'a>( &'a mut self, signal: impl AsArg<StringName> + 'a, callable: &'a Callable, ) -> ExConnect<'a>
pub fn disconnect( &mut self, signal: impl AsArg<StringName>, callable: &Callable, )
pub fn is_connected( &self, signal: impl AsArg<StringName>, callable: &Callable, ) -> bool
pub fn set_block_signals(&mut self, enable: bool)
pub fn is_blocking_signals(&self) -> bool
pub fn notify_property_list_changed(&mut self)
pub fn set_message_translation(&mut self, enable: bool)
pub fn can_translate_messages(&self) -> bool
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
pub fn tr(&self, message: impl AsArg<StringName>) -> GString
To set the default parameters, use Self::tr_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_ex<'a>(&'a self, message: impl AsArg<StringName> + 'a) -> ExTr<'a>
pub fn tr_n(
&self,
message: impl AsArg<StringName>,
plural_message: impl AsArg<StringName>,
n: i32,
) -> GString
pub fn tr_n( &self, message: impl AsArg<StringName>, plural_message: impl AsArg<StringName>, n: i32, ) -> GString
To set the default parameters, use Self::tr_n_ex
and its builder methods. See the book for detailed usage instructions.
pub fn tr_n_ex<'a>( &'a self, message: impl AsArg<StringName> + 'a, plural_message: impl AsArg<StringName> + 'a, n: i32, ) -> ExTrN<'a>
pub fn is_queued_for_deletion(&self) -> bool
pub fn cancel_free(&mut self)
pub fn notify(&mut self, what: ObjectNotification)
pub fn notify(&mut self, what: ObjectNotification)
⚠️ Sends a Godot notification to all classes inherited by the object.
Triggers calls to on_notification()
, and depending on the notification, also to Godot’s lifecycle callbacks such as ready()
.
Starts from the highest ancestor (the Object
class) and goes down the hierarchy.
See also Godot docs for Object::notification()
.
§Panics
If you call this method on a user-defined object while holding a GdRef
or GdMut
guard on the instance, you will encounter
a panic. The reason is that the receiving virtual method on_notification()
acquires a GdMut
lock dynamically, which must
be exclusive.
pub fn notify_reversed(&mut self, what: ObjectNotification)
pub fn notify_reversed(&mut self, what: ObjectNotification)
⚠️ Like Self::notify()
, but starts at the most-derived class and goes up the hierarchy.
See docs of that method, including the panics.