diff options
Diffstat (limited to 'platform/linuxbsd/display_server_x11.h')
| -rw-r--r-- | platform/linuxbsd/display_server_x11.h | 39 | 
1 files changed, 18 insertions, 21 deletions
diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h index 9ff28b9ed2..6f437f3be9 100644 --- a/platform/linuxbsd/display_server_x11.h +++ b/platform/linuxbsd/display_server_x11.h @@ -43,7 +43,7 @@  #include "drivers/unix/os_unix.h"  #include "joypad_linux.h"  #include "servers/audio_server.h" -#include "servers/rendering/rasterizer.h" +#include "servers/rendering/renderer_compositor.h"  #include "servers/rendering_server.h"  #if defined(OPENGL_ENABLED) @@ -61,27 +61,18 @@  #include <X11/extensions/Xrandr.h>  #include <X11/keysym.h> -// Hints for X11 fullscreen -typedef struct { -	unsigned long flags; -	unsigned long functions; -	unsigned long decorations; -	long inputMode; -	unsigned long status; -} Hints; -  typedef struct _xrr_monitor_info {  	Atom name; -	Bool primary; -	Bool automatic; -	int noutput; -	int x; -	int y; -	int width; -	int height; -	int mwidth; -	int mheight; -	RROutput *outputs; +	Bool primary = false; +	Bool automatic = false; +	int noutput = 0; +	int x = 0; +	int y = 0; +	int width = 0; +	int height = 0; +	int mwidth = 0; +	int mheight = 0; +	RROutput *outputs = nullptr;  } xrr_monitor_info;  #undef CursorShape @@ -204,10 +195,13 @@ class DisplayServerX11 : public DisplayServer {  	Point2i center;  	void _handle_key_event(WindowID p_window, XKeyEvent *p_event, LocalVector<XEvent> &p_events, uint32_t &p_event_index, bool p_echo = false); -	void _handle_selection_request_event(XSelectionRequestEvent *p_event); + +	Atom _process_selection_request_target(Atom p_target, Window p_requestor, Atom p_property) const; +	void _handle_selection_request_event(XSelectionRequestEvent *p_event) const;  	String _clipboard_get_impl(Atom p_source, Window x11_window, Atom target) const;  	String _clipboard_get(Atom p_source, Window x11_window) const; +	void _clipboard_transfer_ownership(Atom p_source, Window x11_window) const;  	//bool minimized;  	//bool window_has_focus; @@ -262,10 +256,13 @@ class DisplayServerX11 : public DisplayServer {  	bool events_thread_done = false;  	LocalVector<XEvent> polled_events;  	static void _poll_events_thread(void *ud); +	bool _wait_for_events() const;  	void _poll_events();  	static Bool _predicate_all_events(Display *display, XEvent *event, XPointer arg);  	static Bool _predicate_clipboard_selection(Display *display, XEvent *event, XPointer arg); +	static Bool _predicate_clipboard_incr(Display *display, XEvent *event, XPointer arg); +	static Bool _predicate_clipboard_save_targets(Display *display, XEvent *event, XPointer arg);  protected:  	void _window_changed(XEvent *event);  |