WindowServerConnection.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibIPC/ServerConnection.h>
  8. #include <WindowServer/ScreenLayout.h>
  9. #include <WindowServer/WindowClientEndpoint.h>
  10. #include <WindowServer/WindowServerEndpoint.h>
  11. namespace GUI {
  12. class WindowServerConnection final
  13. : public IPC::ServerConnection<WindowClientEndpoint, WindowServerEndpoint>
  14. , public WindowClientEndpoint {
  15. C_OBJECT(WindowServerConnection)
  16. public:
  17. static WindowServerConnection& the();
  18. private:
  19. WindowServerConnection();
  20. virtual void fast_greet(Vector<Gfx::IntRect> const&, u32, u32, u32, Core::AnonymousBuffer const&, String const&, String const&) override;
  21. virtual void paint(i32, Gfx::IntSize const&, Vector<Gfx::IntRect> const&) override;
  22. virtual void mouse_move(i32, Gfx::IntPoint const&, u32, u32, u32, i32, bool, Vector<String> const&) override;
  23. virtual void mouse_down(i32, Gfx::IntPoint const&, u32, u32, u32, i32) override;
  24. virtual void mouse_double_click(i32, Gfx::IntPoint const&, u32, u32, u32, i32) override;
  25. virtual void mouse_up(i32, Gfx::IntPoint const&, u32, u32, u32, i32) override;
  26. virtual void mouse_wheel(i32, Gfx::IntPoint const&, u32, u32, u32, i32) override;
  27. virtual void window_entered(i32) override;
  28. virtual void window_left(i32) override;
  29. virtual void key_down(i32, u32, u32, u32, u32) override;
  30. virtual void key_up(i32, u32, u32, u32, u32) override;
  31. virtual void window_activated(i32) override;
  32. virtual void window_deactivated(i32) override;
  33. virtual void window_input_entered(i32) override;
  34. virtual void window_input_left(i32) override;
  35. virtual void window_close_request(i32) override;
  36. virtual void window_resized(i32, Gfx::IntRect const&) override;
  37. virtual void menu_item_activated(i32, u32) override;
  38. virtual void menu_item_entered(i32, u32) override;
  39. virtual void menu_item_left(i32, u32) override;
  40. virtual void menu_visibility_did_change(i32, bool) override;
  41. virtual void screen_rects_changed(Vector<Gfx::IntRect> const&, u32, u32, u32) override;
  42. virtual void set_wallpaper_finished(bool) override;
  43. virtual void drag_dropped(i32, Gfx::IntPoint const&, String const&, HashMap<String, ByteBuffer> const&) override;
  44. virtual void drag_accepted() override;
  45. virtual void drag_cancelled() override;
  46. virtual void update_system_theme(Core::AnonymousBuffer const&) override;
  47. virtual void update_system_fonts(String const&, String const&) override;
  48. virtual void window_state_changed(i32, bool, bool) override;
  49. virtual void display_link_notification() override;
  50. virtual void ping() override;
  51. bool m_display_link_notification_pending { false };
  52. };
  53. }