Clipboard support for Xlib; initial IM support

This commit is contained in:
Jack Andersen
2015-12-23 17:30:52 -10:00
parent 1ed592e0a1
commit aab693ff2f
5 changed files with 453 additions and 22 deletions

View File

@@ -2,6 +2,7 @@
#define IWINDOW_HPP
#include "System.hpp"
#include <memory>
namespace boo
{
@@ -174,6 +175,14 @@ enum class EMouseCursor
IBeam = 4
};
enum class EClipboardType
{
None = 0,
String = 1,
UTF8String = 2,
PNGImage = 3
};
class IWindow
{
public:
@@ -211,6 +220,10 @@ public:
virtual bool isFullscreen() const=0;
virtual void setFullscreen(bool fs)=0;
virtual void claimKeyboardFocus()=0;
virtual bool clipboardCopy(EClipboardType type, const uint8_t* data, size_t sz)=0;
virtual std::unique_ptr<uint8_t[]> clipboardPaste(EClipboardType type, size_t& sz)=0;
virtual void waitForRetrace()=0;
virtual uintptr_t getPlatformHandle() const=0;