ConnectionToWindowMangerServer.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * Copyright (c) 2021, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibIPC/ConnectionToServer.h>
  8. #include <WindowServer/ScreenLayout.h>
  9. #include <WindowServer/WindowManagerClientEndpoint.h>
  10. #include <WindowServer/WindowManagerServerEndpoint.h>
  11. namespace GUI {
  12. class ConnectionToWindowMangerServer final
  13. : public IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint>
  14. , public WindowManagerClientEndpoint {
  15. IPC_CLIENT_CONNECTION(ConnectionToWindowMangerServer, "/tmp/portal/wm")
  16. public:
  17. static ConnectionToWindowMangerServer& the();
  18. private:
  19. ConnectionToWindowMangerServer(NonnullOwnPtr<Core::Stream::LocalSocket> socket)
  20. : IPC::ConnectionToServer<WindowManagerClientEndpoint, WindowManagerServerEndpoint>(*this, move(socket))
  21. {
  22. }
  23. virtual void window_removed(i32, i32, i32) override;
  24. virtual void window_state_changed(i32, i32, i32, i32, i32, u32, u32, bool, bool, bool, bool, i32, String const&, Gfx::IntRect const&, Optional<i32> const&) override;
  25. virtual void window_icon_bitmap_changed(i32, i32, i32, Gfx::ShareableBitmap const&) override;
  26. virtual void window_rect_changed(i32, i32, i32, Gfx::IntRect const&) override;
  27. virtual void applet_area_size_changed(i32, Gfx::IntSize const&) override;
  28. virtual void super_key_pressed(i32) override;
  29. virtual void super_space_key_pressed(i32) override;
  30. virtual void super_digit_key_pressed(i32, u8) override;
  31. virtual void workspace_changed(i32, u32, u32) override;
  32. virtual void keymap_changed(i32, String const&) override;
  33. };
  34. }