use super::*;
use std::ptr;
pub(crate) const VARIANT_BOOL: i32 = 1;
pub(crate) const VARIANT_INT: i32 = 2;
pub(crate) const VARIANT_FLOAT: i32 = 3;
pub(crate) const VARIANT_STRING: i32 = 4;
pub(crate) const VARIANT_VECTOR2: i32 = 5;
pub(crate) const VARIANT_COLOR: i32 = 20;
pub(crate) const VARIANT_STRING_NAME: i32 = 21;
pub(crate) const VARIANT_OBJECT: i32 = 24;
pub(crate) const METHOD_OBJECT_SET: i64 = 3776071444;
pub(crate) const METHOD_OBJECT_NOTIFICATION: i64 = 4023243586;
pub(crate) const METHOD_ENGINE_GET_MAIN_LOOP: i64 = 1016888095;
pub(crate) const METHOD_SCENE_TREE_GET_ROOT: i64 = 1757182445;
pub(crate) const METHOD_NODE_ADD_CHILD: i64 = 3863233950;
pub(crate) const METHOD_NODE_SET_NAME: i64 = 3304788590;
pub(crate) const METHOD_NODE_QUEUE_FREE: i64 = 3218959716;
pub(crate) const METHOD_CONTROL_SET_ANCHORS_PRESET: i64 = 509135270;
pub(crate) const METHOD_CONTROL_SET_OFFSET: i64 = 4290182280;
pub(crate) const METHOD_CONTROL_SET_CUSTOM_MINIMUM_SIZE: i64 = 743155724;
pub(crate) const METHOD_CONTROL_SET_H_SIZE_FLAGS: i64 = 394851643;
pub(crate) const METHOD_CONTROL_SET_V_SIZE_FLAGS: i64 = 394851643;
pub(crate) const METHOD_CONTROL_ADD_THEME_FONT_SIZE_OVERRIDE: i64 = 2415702435;
pub(crate) const METHOD_CONTROL_ADD_THEME_COLOR_OVERRIDE: i64 = 4260178595;
pub(crate) const METHOD_CONTROL_ADD_THEME_CONSTANT_OVERRIDE: i64 = 2415702435;
pub(crate) const METHOD_CONTROL_ADD_THEME_STYLEBOX_OVERRIDE: i64 = 4188838905;
pub(crate) const METHOD_CONTROL_SET_FOCUS_MODE: i64 = 3232914922;
pub(crate) const METHOD_CONTROL_HAS_FOCUS: i64 = 3302206351;
pub(crate) const METHOD_CONTROL_SET_MOUSE_FILTER: i64 = 3891156122;
pub(crate) const METHOD_CONTROL_SET_DEFAULT_CURSOR_SHAPE: i64 = 217062046;
pub(crate) const METHOD_CONTROL_RELEASE_FOCUS: i64 = 3218959716;
pub(crate) const METHOD_BASE_BUTTON_IS_PRESSED: i64 = 36873697;
pub(crate) const METHOD_BASE_BUTTON_IS_HOVERED: i64 = 36873697;
pub(crate) const METHOD_COLOR_RECT_SET_COLOR: i64 = 2920490490;
pub(crate) const METHOD_LABEL_SET_TEXT: i64 = 83702148;
pub(crate) const METHOD_TEXTURE_RECT_SET_EXPAND_MODE: i64 = 1870766882;
pub(crate) const METHOD_TEXTURE_RECT_SET_STRETCH_MODE: i64 = 58788729;
pub(crate) const METHOD_BUTTON_SET_TEXT: i64 = 83702148;
pub(crate) const METHOD_LINE_EDIT_SET_TEXT: i64 = 83702148;
pub(crate) const METHOD_LINE_EDIT_GET_TEXT: i64 = 201670096;
pub(crate) const METHOD_LINE_EDIT_SET_PLACEHOLDER: i64 = 83702148;
pub(crate) const METHOD_SCROLL_CONTAINER_SET_HORIZONTAL_SCROLL_MODE: i64 = 2750506364;
pub(crate) const METHOD_SCROLL_CONTAINER_SET_VERTICAL_SCROLL_MODE: i64 = 2750506364;
pub(crate) const METHOD_RESOURCE_LOADER_LOAD: i64 = 3358495409;
pub(crate) const METHOD_IMAGE_LOAD: i64 = 166001499;
pub(crate) const METHOD_IMAGE_TEXTURE_SET_IMAGE: i64 = 532598488;
pub(crate) const METHOD_SHADER_SET_CODE: i64 = 83702148;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_BG_COLOR: i64 = 2920490490;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_BORDER_COLOR: i64 = 2920490490;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_BORDER_WIDTH_ALL: i64 = 1286410249;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_CORNER_RADIUS_ALL: i64 = 1286410249;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_SHADOW_COLOR: i64 = 2920490490;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_SHADOW_SIZE: i64 = 1286410249;
pub(crate) const METHOD_STYLE_BOX_FLAT_SET_SHADOW_OFFSET: i64 = 743155724;
pub(crate) const NOTIFICATION_POSTINITIALIZE: i64 = 0;
pub(crate) const LAYOUT_PRESET_FULL_RECT: i64 = 15;
pub(crate) const SIDE_LEFT: i64 = 0;
pub(crate) const SIDE_TOP: i64 = 1;
pub(crate) const SIDE_RIGHT: i64 = 2;
pub(crate) const SIDE_BOTTOM: i64 = 3;
pub(crate) const SIZE_FILL_EXPAND: i64 = 3;
pub(crate) const INTERNAL_MODE_DISABLED: i64 = 0;
pub(crate) const FOCUS_ALL: i64 = 2;
pub(crate) const MOUSE_FILTER_STOP: i64 = 0;
pub(crate) const RESOURCE_LOADER_CACHE_MODE_REUSE: i64 = 1;
pub(crate) const SCROLL_MODE_AUTO: i64 = 1;
pub(crate) const TEXTURE_RECT_EXPAND_IGNORE_SIZE: i64 = 1;
pub(crate) const TEXTURE_RECT_STRETCH_SCALE: i64 = 0;
pub(crate) const TEXTURE_RECT_STRETCH_KEEP_ASPECT_CENTERED: i64 = 5;
pub(crate) const TEXTURE_RECT_STRETCH_KEEP_ASPECT_COVERED: i64 = 6;
#[derive(Clone)]
pub(crate) struct GodotMethods {
pub(crate) objectSet: GDExtensionMethodBindPtr,
pub(crate) objectNotification: GDExtensionMethodBindPtr,
pub(crate) engineGetMainLoop: GDExtensionMethodBindPtr,
pub(crate) sceneTreeGetRoot: GDExtensionMethodBindPtr,
pub(crate) nodeAddChild: GDExtensionMethodBindPtr,
pub(crate) nodeSetName: GDExtensionMethodBindPtr,
pub(crate) nodeQueueFree: GDExtensionMethodBindPtr,
pub(crate) controlSetAnchorsPreset: GDExtensionMethodBindPtr,
pub(crate) controlSetOffset: GDExtensionMethodBindPtr,
pub(crate) controlSetCustomMinimumSize: GDExtensionMethodBindPtr,
pub(crate) controlSetHSizeFlags: GDExtensionMethodBindPtr,
pub(crate) controlSetVSizeFlags: GDExtensionMethodBindPtr,
pub(crate) controlAddThemeFontSizeOverride: GDExtensionMethodBindPtr,
pub(crate) controlAddThemeColorOverride: GDExtensionMethodBindPtr,
pub(crate) controlAddThemeConstantOverride: GDExtensionMethodBindPtr,
pub(crate) controlAddThemeStyleboxOverride: GDExtensionMethodBindPtr,
pub(crate) controlSetFocusMode: GDExtensionMethodBindPtr,
pub(crate) controlHasFocus: GDExtensionMethodBindPtr,
pub(crate) controlSetMouseFilter: GDExtensionMethodBindPtr,
pub(crate) controlSetDefaultCursorShape: GDExtensionMethodBindPtr,
pub(crate) controlReleaseFocus: GDExtensionMethodBindPtr,
pub(crate) baseButtonIsPressed: GDExtensionMethodBindPtr,
pub(crate) baseButtonIsHovered: GDExtensionMethodBindPtr,
pub(crate) colorRectSetColor: GDExtensionMethodBindPtr,
pub(crate) labelSetText: GDExtensionMethodBindPtr,
pub(crate) textureRectSetExpandMode: GDExtensionMethodBindPtr,
pub(crate) textureRectSetStretchMode: GDExtensionMethodBindPtr,
pub(crate) buttonSetText: GDExtensionMethodBindPtr,
pub(crate) lineEditSetText: GDExtensionMethodBindPtr,
pub(crate) lineEditGetText: GDExtensionMethodBindPtr,
pub(crate) lineEditSetPlaceholder: GDExtensionMethodBindPtr,
pub(crate) scrollContainerSetHorizontalScrollMode: GDExtensionMethodBindPtr,
pub(crate) scrollContainerSetVerticalScrollMode: GDExtensionMethodBindPtr,
pub(crate) resourceLoaderLoad: GDExtensionMethodBindPtr,
pub(crate) imageLoad: GDExtensionMethodBindPtr,
pub(crate) imageTextureSetImage: GDExtensionMethodBindPtr,
pub(crate) shaderSetCode: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetBgColor: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetBorderColor: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetBorderWidthAll: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetCornerRadiusAll: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetShadowColor: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetShadowSize: GDExtensionMethodBindPtr,
pub(crate) styleBoxFlatSetShadowOffset: GDExtensionMethodBindPtr,
}
impl GodotMethods {
pub(crate) fn empty() -> Self {
Self {
objectSet: ptr::null(),
objectNotification: ptr::null(),
engineGetMainLoop: ptr::null(),
sceneTreeGetRoot: ptr::null(),
nodeAddChild: ptr::null(),
nodeSetName: ptr::null(),
nodeQueueFree: ptr::null(),
controlSetAnchorsPreset: ptr::null(),
controlSetOffset: ptr::null(),
controlSetCustomMinimumSize: ptr::null(),
controlSetHSizeFlags: ptr::null(),
controlSetVSizeFlags: ptr::null(),
controlAddThemeFontSizeOverride: ptr::null(),
controlAddThemeColorOverride: ptr::null(),
controlAddThemeConstantOverride: ptr::null(),
controlAddThemeStyleboxOverride: ptr::null(),
controlSetFocusMode: ptr::null(),
controlHasFocus: ptr::null(),
controlSetMouseFilter: ptr::null(),
controlSetDefaultCursorShape: ptr::null(),
controlReleaseFocus: ptr::null(),
baseButtonIsPressed: ptr::null(),
baseButtonIsHovered: ptr::null(),
colorRectSetColor: ptr::null(),
labelSetText: ptr::null(),
textureRectSetExpandMode: ptr::null(),
textureRectSetStretchMode: ptr::null(),
buttonSetText: ptr::null(),
lineEditSetText: ptr::null(),
lineEditGetText: ptr::null(),
lineEditSetPlaceholder: ptr::null(),
scrollContainerSetHorizontalScrollMode: ptr::null(),
scrollContainerSetVerticalScrollMode: ptr::null(),
resourceLoaderLoad: ptr::null(),
imageLoad: ptr::null(),
imageTextureSetImage: ptr::null(),
shaderSetCode: ptr::null(),
styleBoxFlatSetBgColor: ptr::null(),
styleBoxFlatSetBorderColor: ptr::null(),
styleBoxFlatSetBorderWidthAll: ptr::null(),
styleBoxFlatSetCornerRadiusAll: ptr::null(),
styleBoxFlatSetShadowColor: ptr::null(),
styleBoxFlatSetShadowSize: ptr::null(),
styleBoxFlatSetShadowOffset: ptr::null(),
}
}
pub(crate) fn load(bridge: &GodotBridge) -> GodoruResult<Self> {
Ok(Self {
objectSet: bridge.methodBind("Object", "set", METHOD_OBJECT_SET)?,
objectNotification: bridge.methodBind(
"Object",
"notification",
METHOD_OBJECT_NOTIFICATION,
)?,
engineGetMainLoop: bridge.methodBind(
"Engine",
"get_main_loop",
METHOD_ENGINE_GET_MAIN_LOOP,
)?,
sceneTreeGetRoot: bridge.methodBind(
"SceneTree",
"get_root",
METHOD_SCENE_TREE_GET_ROOT,
)?,
nodeAddChild: bridge.methodBind("Node", "add_child", METHOD_NODE_ADD_CHILD)?,
nodeSetName: bridge.methodBind("Node", "set_name", METHOD_NODE_SET_NAME)?,
nodeQueueFree: bridge.methodBind("Node", "queue_free", METHOD_NODE_QUEUE_FREE)?,
controlSetAnchorsPreset: bridge.methodBind(
"Control",
"set_anchors_preset",
METHOD_CONTROL_SET_ANCHORS_PRESET,
)?,
controlSetOffset: bridge.methodBind(
"Control",
"set_offset",
METHOD_CONTROL_SET_OFFSET,
)?,
controlSetCustomMinimumSize: bridge.methodBind(
"Control",
"set_custom_minimum_size",
METHOD_CONTROL_SET_CUSTOM_MINIMUM_SIZE,
)?,
controlSetHSizeFlags: bridge.methodBind(
"Control",
"set_h_size_flags",
METHOD_CONTROL_SET_H_SIZE_FLAGS,
)?,
controlSetVSizeFlags: bridge.methodBind(
"Control",
"set_v_size_flags",
METHOD_CONTROL_SET_V_SIZE_FLAGS,
)?,
controlAddThemeFontSizeOverride: bridge.methodBind(
"Control",
"add_theme_font_size_override",
METHOD_CONTROL_ADD_THEME_FONT_SIZE_OVERRIDE,
)?,
controlAddThemeColorOverride: bridge.methodBind(
"Control",
"add_theme_color_override",
METHOD_CONTROL_ADD_THEME_COLOR_OVERRIDE,
)?,
controlAddThemeConstantOverride: bridge.methodBind(
"Control",
"add_theme_constant_override",
METHOD_CONTROL_ADD_THEME_CONSTANT_OVERRIDE,
)?,
controlAddThemeStyleboxOverride: bridge.methodBind(
"Control",
"add_theme_stylebox_override",
METHOD_CONTROL_ADD_THEME_STYLEBOX_OVERRIDE,
)?,
controlSetFocusMode: bridge.methodBind(
"Control",
"set_focus_mode",
METHOD_CONTROL_SET_FOCUS_MODE,
)?,
controlHasFocus: bridge.methodBind("Control", "has_focus", METHOD_CONTROL_HAS_FOCUS)?,
controlSetMouseFilter: bridge.methodBind(
"Control",
"set_mouse_filter",
METHOD_CONTROL_SET_MOUSE_FILTER,
)?,
controlSetDefaultCursorShape: bridge.methodBind(
"Control",
"set_default_cursor_shape",
METHOD_CONTROL_SET_DEFAULT_CURSOR_SHAPE,
)?,
controlReleaseFocus: bridge.methodBind(
"Control",
"release_focus",
METHOD_CONTROL_RELEASE_FOCUS,
)?,
baseButtonIsPressed: bridge.methodBind(
"BaseButton",
"is_pressed",
METHOD_BASE_BUTTON_IS_PRESSED,
)?,
baseButtonIsHovered: bridge.methodBind(
"BaseButton",
"is_hovered",
METHOD_BASE_BUTTON_IS_HOVERED,
)?,
colorRectSetColor: bridge.methodBind(
"ColorRect",
"set_color",
METHOD_COLOR_RECT_SET_COLOR,
)?,
labelSetText: bridge.methodBind("Label", "set_text", METHOD_LABEL_SET_TEXT)?,
textureRectSetExpandMode: bridge.methodBind(
"TextureRect",
"set_expand_mode",
METHOD_TEXTURE_RECT_SET_EXPAND_MODE,
)?,
textureRectSetStretchMode: bridge.methodBind(
"TextureRect",
"set_stretch_mode",
METHOD_TEXTURE_RECT_SET_STRETCH_MODE,
)?,
buttonSetText: bridge.methodBind("Button", "set_text", METHOD_BUTTON_SET_TEXT)?,
lineEditSetText: bridge.methodBind(
"LineEdit",
"set_text",
METHOD_LINE_EDIT_SET_TEXT,
)?,
lineEditGetText: bridge.methodBind(
"LineEdit",
"get_text",
METHOD_LINE_EDIT_GET_TEXT,
)?,
lineEditSetPlaceholder: bridge.methodBind(
"LineEdit",
"set_placeholder",
METHOD_LINE_EDIT_SET_PLACEHOLDER,
)?,
scrollContainerSetHorizontalScrollMode: bridge.methodBind(
"ScrollContainer",
"set_horizontal_scroll_mode",
METHOD_SCROLL_CONTAINER_SET_HORIZONTAL_SCROLL_MODE,
)?,
scrollContainerSetVerticalScrollMode: bridge.methodBind(
"ScrollContainer",
"set_vertical_scroll_mode",
METHOD_SCROLL_CONTAINER_SET_VERTICAL_SCROLL_MODE,
)?,
resourceLoaderLoad: bridge.methodBind(
"ResourceLoader",
"load",
METHOD_RESOURCE_LOADER_LOAD,
)?,
imageLoad: bridge.methodBind("Image", "load", METHOD_IMAGE_LOAD)?,
imageTextureSetImage: bridge.methodBind(
"ImageTexture",
"set_image",
METHOD_IMAGE_TEXTURE_SET_IMAGE,
)?,
shaderSetCode: bridge.methodBind("Shader", "set_code", METHOD_SHADER_SET_CODE)?,
styleBoxFlatSetBgColor: bridge.methodBind(
"StyleBoxFlat",
"set_bg_color",
METHOD_STYLE_BOX_FLAT_SET_BG_COLOR,
)?,
styleBoxFlatSetBorderColor: bridge.methodBind(
"StyleBoxFlat",
"set_border_color",
METHOD_STYLE_BOX_FLAT_SET_BORDER_COLOR,
)?,
styleBoxFlatSetBorderWidthAll: bridge.methodBind(
"StyleBoxFlat",
"set_border_width_all",
METHOD_STYLE_BOX_FLAT_SET_BORDER_WIDTH_ALL,
)?,
styleBoxFlatSetCornerRadiusAll: bridge.methodBind(
"StyleBoxFlat",
"set_corner_radius_all",
METHOD_STYLE_BOX_FLAT_SET_CORNER_RADIUS_ALL,
)?,
styleBoxFlatSetShadowColor: bridge.methodBind(
"StyleBoxFlat",
"set_shadow_color",
METHOD_STYLE_BOX_FLAT_SET_SHADOW_COLOR,
)?,
styleBoxFlatSetShadowSize: bridge.methodBind(
"StyleBoxFlat",
"set_shadow_size",
METHOD_STYLE_BOX_FLAT_SET_SHADOW_SIZE,
)?,
styleBoxFlatSetShadowOffset: bridge.methodBind(
"StyleBoxFlat",
"set_shadow_offset",
METHOD_STYLE_BOX_FLAT_SET_SHADOW_OFFSET,
)?,
})
}
}