Wayland: Implement is_window_transparency_available

This commit is contained in:
Riteo 2024-05-25 14:11:52 +02:00
parent b7feebefab
commit 9734feb449
2 changed files with 11 additions and 0 deletions

View file

@ -1209,6 +1209,15 @@ void DisplayServerWayland::set_context(Context p_context) {
wayland_thread.window_set_app_id(MAIN_WINDOW_ID, app_id);
}
bool DisplayServerWayland::is_window_transparency_available() const {
#if defined(RD_ENABLED)
if (rendering_device && !rendering_device->is_composite_alpha_supported()) {
return false;
}
#endif
return OS::get_singleton()->is_layered_allowed();
}
Vector<String> DisplayServerWayland::get_rendering_drivers_func() {
Vector<String> drivers;

View file

@ -280,6 +280,8 @@ public:
virtual void set_context(Context p_context) override;
virtual bool is_window_transparency_available() const override;
static DisplayServer *create_func(const String &p_rendering_driver, WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Point2i *p_position, const Size2i &p_resolution, int p_screen, Context p_context, Error &r_error);
static Vector<String> get_rendering_drivers_func();