mirror of
https://github.com/glfw/glfw.git
synced 2024-11-29 15:44:35 +00:00
Clarified clipboard format atom use.
This commit is contained in:
parent
3252829fe0
commit
b8676f01db
@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
Atom _glfwSelectionRequest(XSelectionRequestEvent* request)
|
Atom _glfwSelectionRequest(XSelectionRequestEvent* request)
|
||||||
{
|
{
|
||||||
Atom* formats = _glfwLibrary.X11.selection.atoms.string;
|
Atom* formats = _glfwLibrary.X11.selection.formats;
|
||||||
char* target = _glfwLibrary.X11.selection.clipboard.string;
|
char* target = _glfwLibrary.X11.selection.clipboard.string;
|
||||||
|
|
||||||
if (request->target == XA_STRING)
|
if (request->target == XA_STRING)
|
||||||
@ -63,8 +63,8 @@ Atom _glfwSelectionRequest(XSelectionRequestEvent* request)
|
|||||||
(unsigned char*) target,
|
(unsigned char*) target,
|
||||||
8);
|
8);
|
||||||
}
|
}
|
||||||
else if (request->target == formats[_GLFW_STRING_ATOM_COMPOUND] ||
|
else if (request->target == formats[_GLFW_CLIPBOARD_FORMAT_COMPOUND] ||
|
||||||
request->target == formats[_GLFW_STRING_ATOM_UTF8])
|
request->target == formats[_GLFW_CLIPBOARD_FORMAT_UTF8])
|
||||||
{
|
{
|
||||||
XChangeProperty(_glfwLibrary.X11.display,
|
XChangeProperty(_glfwLibrary.X11.display,
|
||||||
request->requestor,
|
request->requestor,
|
||||||
@ -147,11 +147,11 @@ size_t _glfwPlatformGetClipboardData(void* data, size_t size, int format)
|
|||||||
// Get the currently active window
|
// Get the currently active window
|
||||||
Window window = _glfwLibrary.activeWindow->X11.handle;
|
Window window = _glfwLibrary.activeWindow->X11.handle;
|
||||||
|
|
||||||
for (i = 0; i < _GLFW_STRING_ATOM_COUNT; i++)
|
for (i = 0; i < _GLFW_CLIPBOARD_FORMAT_COUNT; i++)
|
||||||
{
|
{
|
||||||
// Specify the format we would like.
|
// Specify the format we would like.
|
||||||
_glfwLibrary.X11.selection.request =
|
_glfwLibrary.X11.selection.request =
|
||||||
_glfwLibrary.X11.selection.atoms.strings[i];
|
_glfwLibrary.X11.selection.formats[i];
|
||||||
|
|
||||||
// Convert the selection into a format we would like.
|
// Convert the selection into a format we would like.
|
||||||
XConvertSelection(_glfwLibrary.X11.display,
|
XConvertSelection(_glfwLibrary.X11.display,
|
||||||
|
@ -461,11 +461,12 @@ static GLboolean initDisplay(void)
|
|||||||
XInternAtom(_glfwLibrary.X11.display, "CLIPBOARD", False);
|
XInternAtom(_glfwLibrary.X11.display, "CLIPBOARD", False);
|
||||||
|
|
||||||
// Find or create selection atoms
|
// Find or create selection atoms
|
||||||
_glfwLibrary.X11.selection.atoms.string[_GLFW_STRING_ATOM_UTF8] =
|
_glfwLibrary.X11.selection.formats[_GLFW_CLIPBOARD_FORMAT_UTF8] =
|
||||||
XInternAtom(_glfwLibrary.X11.display, "UTF8_STRING", False);
|
XInternAtom(_glfwLibrary.X11.display, "UTF8_STRING", False);
|
||||||
_glfwLibrary.X11.selection.atoms.string[_GLFW_STRING_ATOM_COMPOUND] =
|
_glfwLibrary.X11.selection.formats[_GLFW_CLIPBOARD_FORMAT_COMPOUND] =
|
||||||
XInternAtom(_glfwLibrary.X11.display, "COMPOUND_STRING", False);
|
XInternAtom(_glfwLibrary.X11.display, "COMPOUND_STRING", False);
|
||||||
_glfwLibrary.X11.selection.atoms.string[_GLFW_STRING_ATOM_STRING] = XA_STRING;
|
_glfwLibrary.X11.selection.formats[_GLFW_CLIPBOARD_FORMAT_STRING] =
|
||||||
|
XA_STRING;
|
||||||
|
|
||||||
return GL_TRUE;
|
return GL_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -85,11 +85,11 @@
|
|||||||
#define _GLFW_PLATFORM_LIBRARY_STATE _GLFWlibraryX11 X11
|
#define _GLFW_PLATFORM_LIBRARY_STATE _GLFWlibraryX11 X11
|
||||||
#define _GLFW_PLATFORM_CONTEXT_STATE _GLFWcontextGLX GLX
|
#define _GLFW_PLATFORM_CONTEXT_STATE _GLFWcontextGLX GLX
|
||||||
|
|
||||||
// String atoms
|
// Clipboard format atom indices
|
||||||
#define _GLFW_STRING_ATOM_UTF8 0
|
#define _GLFW_CLIPBOARD_FORMAT_UTF8 0
|
||||||
#define _GLFW_STRING_ATOM_COMPOUND 1
|
#define _GLFW_CLIPBOARD_FORMAT_COMPOUND 1
|
||||||
#define _GLFW_STRING_ATOM_STRING 2
|
#define _GLFW_CLIPBOARD_FORMAT_STRING 2
|
||||||
#define _GLFW_STRING_ATOM_COUNT 3
|
#define _GLFW_CLIPBOARD_FORMAT_COUNT 3
|
||||||
|
|
||||||
//========================================================================
|
//========================================================================
|
||||||
// GLFW platform specific types
|
// GLFW platform specific types
|
||||||
@ -231,9 +231,7 @@ typedef struct _GLFWlibraryX11
|
|||||||
// Selection data
|
// Selection data
|
||||||
struct {
|
struct {
|
||||||
Atom atom;
|
Atom atom;
|
||||||
struct {
|
Atom formats[_GLFW_CLIPBOARD_FORMAT_COUNT];
|
||||||
Atom string[_GLFW_STRING_ATOM_COUNT];
|
|
||||||
} atoms;
|
|
||||||
struct {
|
struct {
|
||||||
size_t stringlen;
|
size_t stringlen;
|
||||||
char *string;
|
char *string;
|
||||||
|
Loading…
Reference in New Issue
Block a user