ladybird/Libraries/LibGUI/GEventLoop.h
Andreas Kling 34d0e96aec LibCore+LibGUI: Remove GEventLoop and use CEventLoop everywhere
GEventLoop was just a dummy subclass of CEventLoop anyway. The only
thing it actually did was make sure a GWindowServerConnectionw was
instantiated. We now take care of that in GApplication instead.

CEventLoop is now non-virtual and a little less confusing. :^)
2019-09-22 20:50:39 +02:00

35 lines
1.3 KiB
C++

#pragma once
#include <LibCore/CEventLoop.h>
#include <LibCore/CoreIPCClient.h>
#include <LibGUI/GEvent.h>
#include <WindowServer/WSAPITypes.h>
class GAction;
class CObject;
class CNotifier;
class GWindow;
class GWindowServerConnection : public IPC::Client::Connection<WSAPI_ServerMessage, WSAPI_ClientMessage> {
C_OBJECT(GWindowServerConnection)
public:
GWindowServerConnection()
: Connection("/tmp/wsportal")
{}
void handshake() override;
static GWindowServerConnection& the();
private:
void postprocess_bundles(Vector<IncomingMessageBundle>& m_unprocessed_bundles) override;
void handle_paint_event(const WSAPI_ServerMessage&, GWindow&, const ByteBuffer& extra_data);
void handle_resize_event(const WSAPI_ServerMessage&, GWindow&);
void handle_mouse_event(const WSAPI_ServerMessage&, GWindow&);
void handle_key_event(const WSAPI_ServerMessage&, GWindow&);
void handle_window_activation_event(const WSAPI_ServerMessage&, GWindow&);
void handle_window_close_request_event(const WSAPI_ServerMessage&, GWindow&);
void handle_menu_event(const WSAPI_ServerMessage&);
void handle_window_entered_or_left_event(const WSAPI_ServerMessage&, GWindow&);
void handle_wm_event(const WSAPI_ServerMessage&, GWindow&);
void handle_greeting(WSAPI_ServerMessage&);
};