Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
This commit is contained in:
parent
2a5c64f2a1
commit
3682978aee
104 changed files with 1389 additions and 1227 deletions
|
|
@ -151,9 +151,7 @@ void CanvasItem::_update_callback() {
|
|||
current_item_drawn = this;
|
||||
notification(NOTIFICATION_DRAW);
|
||||
emit_signal(SceneStringNames::get_singleton()->draw);
|
||||
if (get_script_instance()) {
|
||||
get_script_instance()->call(SceneStringNames::get_singleton()->_draw);
|
||||
}
|
||||
GDVIRTUAL_CALL(_draw);
|
||||
current_item_drawn = nullptr;
|
||||
drawing = false;
|
||||
}
|
||||
|
|
@ -934,7 +932,7 @@ void CanvasItem::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_clip_children", "enable"), &CanvasItem::set_clip_children);
|
||||
ClassDB::bind_method(D_METHOD("is_clipping_children"), &CanvasItem::is_clipping_children);
|
||||
|
||||
BIND_VMETHOD(MethodInfo("_draw"));
|
||||
GDVIRTUAL_BIND(_draw);
|
||||
|
||||
ADD_GROUP("Visibility", "");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "visible"), "set_visible", "is_visible");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue