1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 03:58:12 +00:00
serenity/WindowServer/WSClipboard.h
Andreas Kling 6820f9e14f WindowServer+LibGUI: Add a server-side clipboard.
On the client side, use GClipboard's data() and set_data(String) to access
the global clipboard. :^)
2019-03-08 13:27:19 +01:00

29 lines
605 B
C++

#pragma once
#include <AK/AKString.h>
#include <WindowServer/WSMessageReceiver.h>
#include <SharedBuffer.h>
class WSClipboard final : public WSMessageReceiver {
public:
static WSClipboard& the();
virtual ~WSClipboard() override;
bool has_data() const
{
return m_shared_buffer;
}
const byte* data() const;
int size() const;
void clear();
void set_data(Retained<SharedBuffer>&&, int contents_size);
private:
WSClipboard();
virtual void on_message(WSMessage&) override;
RetainPtr<SharedBuffer> m_shared_buffer;
int m_contents_size { 0 };
};