Add system clipboard support to Windows

This commit is contained in:
elasota
2020-12-18 00:07:21 -05:00
parent fc043af3a1
commit 83d37a7c94
13 changed files with 508 additions and 2 deletions

View File

@@ -0,0 +1,11 @@
#pragma once
namespace GpClipboardContentsTypes
{
enum GpClipboardContentsType
{
kText,
};
}
typedef GpClipboardContentsTypes::GpClipboardContentsType GpClipboardContentsType_t;

View File

@@ -0,0 +1,16 @@
#include "GpClipboardContentsType.h"
#include <stdint.h>
struct IGpClipboardContents
{
virtual GpClipboardContentsType_t GetContentsType() const = 0;
virtual void Destroy() = 0;
virtual IGpClipboardContents *Clone() const = 0;
};
struct IGpClipboardContentsText : public IGpClipboardContents
{
virtual const uint8_t *GetBytes() const = 0;
virtual size_t GetSize() const = 0; // In bytes
};

View File

@@ -12,6 +12,7 @@
struct IGpMutex;
struct IGpThreadEvent;
struct IGpClipboardContents;
struct IGpSystemServices
{
@@ -34,4 +35,6 @@ public:
virtual void SetTextInputEnabled(bool isEnabled) = 0;
virtual bool IsTextInputEnabled() const = 0;
virtual bool AreFontResourcesSeekable() const = 0;
virtual IGpClipboardContents *GetClipboardContents() const = 0;
virtual void SetClipboardContents(IGpClipboardContents *contents) = 0;
};