Mercurial > foo_out_sdl
comparison foosdk/sdk/libPPUI/clipboard.h @ 1:20d02a178406 default tip
*: check in everything else
yay
| author | Paper <paper@tflc.us> |
|---|---|
| date | Mon, 05 Jan 2026 02:15:46 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:e9bb126753e7 | 1:20d02a178406 |
|---|---|
| 1 #pragma once | |
| 2 | |
| 3 namespace ClipboardHelper { | |
| 4 | |
| 5 class OpenScope { | |
| 6 public: | |
| 7 OpenScope() : m_open(false) {} | |
| 8 ~OpenScope() {Close();} | |
| 9 void Open(HWND p_owner); | |
| 10 void Close(); | |
| 11 private: | |
| 12 bool m_open; | |
| 13 | |
| 14 PFC_CLASS_NOT_COPYABLE_EX(OpenScope) | |
| 15 }; | |
| 16 | |
| 17 void SetRaw(UINT format,const void * buffer, t_size size); | |
| 18 void SetString(const char * in); | |
| 19 | |
| 20 bool GetString(pfc::string_base & out); | |
| 21 | |
| 22 template<typename TArray> | |
| 23 bool GetRaw(UINT format,TArray & out) { | |
| 24 pfc::assert_byte_type<typename TArray::t_item>(); | |
| 25 HANDLE data = GetClipboardData(format); | |
| 26 if (data == NULL) return false; | |
| 27 CGlobalLockScope lock(data); | |
| 28 out.set_size( lock.GetSize() ); | |
| 29 memcpy(out.get_ptr(), lock.GetPtr(), lock.GetSize() ); | |
| 30 return true; | |
| 31 } | |
| 32 bool IsTextAvailable(); | |
| 33 }; |
