You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Add Stretch Modes for Splash Screen
Co-authored-by: Samuel Pedrajas <samuelpedrajaspz@gmail.com>
This commit is contained in:
@@ -1849,7 +1849,23 @@ public:
|
||||
virtual void mesh_add_surface_from_mesh_data(RID p_mesh, const Geometry3D::MeshData &p_mesh_data);
|
||||
virtual void mesh_add_surface_from_planes(RID p_mesh, const Vector<Plane> &p_planes);
|
||||
|
||||
virtual void set_boot_image(const Ref<Image> &p_image, const Color &p_color, bool p_scale, bool p_use_filter = true) = 0;
|
||||
enum SplashStretchMode {
|
||||
SPLASH_STRETCH_MODE_DISABLED,
|
||||
SPLASH_STRETCH_MODE_KEEP,
|
||||
SPLASH_STRETCH_MODE_KEEP_WIDTH,
|
||||
SPLASH_STRETCH_MODE_KEEP_HEIGHT,
|
||||
SPLASH_STRETCH_MODE_COVER,
|
||||
SPLASH_STRETCH_MODE_IGNORE,
|
||||
};
|
||||
|
||||
virtual void set_boot_image_with_stretch(const Ref<Image> &p_image, const Color &p_color, SplashStretchMode p_stretch_mode, bool p_use_filter = true) = 0;
|
||||
static Rect2 get_splash_stretched_screen_rect(const Size2 &p_image_size, const Size2 &p_window_size, SplashStretchMode p_stretch_mode); // Helper for splash screen
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
void set_boot_image(const Ref<Image> &p_image, const Color &p_color, bool p_scale, bool p_use_filter = true); // Superseded, but left to preserve compat.
|
||||
#endif
|
||||
_ALWAYS_INLINE_ static SplashStretchMode map_scaling_option_to_stretch_mode(bool p_scale) {
|
||||
return p_scale ? SplashStretchMode::SPLASH_STRETCH_MODE_KEEP : SplashStretchMode::SPLASH_STRETCH_MODE_DISABLED;
|
||||
}
|
||||
virtual Color get_default_clear_color() = 0;
|
||||
virtual void set_default_clear_color(const Color &p_color) = 0;
|
||||
|
||||
@@ -2003,6 +2019,7 @@ VARIANT_ENUM_CAST(RenderingServer::CanvasLightShadowFilter);
|
||||
VARIANT_ENUM_CAST(RenderingServer::CanvasOccluderPolygonCullMode);
|
||||
VARIANT_ENUM_CAST(RenderingServer::GlobalShaderParameterType);
|
||||
VARIANT_ENUM_CAST(RenderingServer::RenderingInfo);
|
||||
VARIANT_ENUM_CAST(RenderingServer::SplashStretchMode);
|
||||
VARIANT_ENUM_CAST(RenderingServer::CanvasTextureChannel);
|
||||
VARIANT_ENUM_CAST(RenderingServer::BakeChannels);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user