diff options
Diffstat (limited to 'src/osd/windows/winclip.cpp')
-rw-r--r-- | src/osd/windows/winclip.cpp | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/osd/windows/winclip.cpp b/src/osd/windows/winclip.cpp deleted file mode 100644 index 7717f4e6188..00000000000 --- a/src/osd/windows/winclip.cpp +++ /dev/null @@ -1,89 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -//============================================================ -// -// winclip.c - Win32 OSD core clipboard access functions -// -//============================================================ - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> - -#include "strconv.h" - -//============================================================ -// get_clipboard_text_by_format -//============================================================ - -static char *get_clipboard_text_by_format(UINT format, char *(*convert)(LPCVOID data)) -{ - char *result = NULL; - HANDLE data_handle; - LPVOID data; - - // check to see if this format is available - if (IsClipboardFormatAvailable(format)) - { - // open the clipboard - if (OpenClipboard(NULL)) - { - // try to access clipboard data - data_handle = GetClipboardData(format); - if (data_handle != NULL) - { - // lock the data - data = GlobalLock(data_handle); - if (data != NULL) - { - // invoke the convert - result = (*convert)(data); - - // unlock the data - GlobalUnlock(data_handle); - } - } - - // close out the clipboard - CloseClipboard(); - } - } - return result; -} - -//============================================================ -// convert_wide -//============================================================ - -static char *convert_wide(LPCVOID data) -{ - return utf8_from_wstring((LPCWSTR) data); -} - -//============================================================ -// convert_ansi -//============================================================ - -static char *convert_ansi(LPCVOID data) -{ - return utf8_from_astring((LPCSTR) data); -} - - - -//============================================================ -// osd_get_clipboard_text -//============================================================ - -char *osd_get_clipboard_text(void) -{ - char *result; - - // try to access unicode text - result = get_clipboard_text_by_format(CF_UNICODETEXT, convert_wide); - - // try to access ANSI text - if (result == NULL) - result = get_clipboard_text_by_format(CF_TEXT, convert_ansi); - - return result; -} |