Merge pull request #92353 from Riteo/you-cant-see-me

Wayland: Implement `is_window_transparency_available`
This commit is contained in:
Rémi Verschelde 2024-05-28 15:49:33 +02:00
commit f98c259131
No known key found for this signature in database
GPG Key ID: C3336907360768E1
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();