glfw: add glfw.setClipboardString

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2021-10-16 17:56:25 -07:00 committed by Stephen Gutekanst
parent 98d25ddfff
commit 0f35110123

View file

@ -1,25 +1,28 @@
// TODO(clipboard): const std = @import("std");
// /// Sets the clipboard to the specified string.
// ///
// /// This function sets the system clipboard to the specified, UTF-8 encoded
// /// string.
// ///
// /// @param[in] window Deprecated. Any valid window or null.
// /// @param[in] string A UTF-8 encoded string.
// ///
// /// Possible errors include glfw.Error.NotInitialized and glfw.Error.PlatformError.
// ///
// /// @pointer_lifetime The specified string is copied before this function
// /// returns.
// ///
// /// @thread_safety This function must only be called from the main thread.
// ///
// /// see also: clipboard, glfwGetClipboardString
// ///
// ///
// /// @ingroup input
// GLFWAPI void glfwSetClipboardString(GLFWwindow* window, const char* string);
const c = @import("c.zig").c;
const Error = @import("errors.zig").Error;
const getError = @import("errors.zig").getError;
/// Sets the clipboard to the specified string.
///
/// This function sets the system clipboard to the specified, UTF-8 encoded string.
///
/// @param[in] string A UTF-8 encoded string.
///
/// Possible errors include glfw.Error.NotInitialized and glfw.Error.PlatformError.
///
/// @pointer_lifetime The specified string is copied before this function returns.
///
/// @thread_safety This function must only be called from the main thread.
///
/// see also: clipboard, glfwGetClipboardString
pub inline fn setClipboardString(value: [*c]const u8) Error!void {
c.glfwSetClipboardString(null, value);
try getError();
}
// TODO(clipboard):
// /// Returns the contents of the clipboard as a string. // /// Returns the contents of the clipboard as a string.
// /// // ///
// /// This function returns the contents of the system clipboard, if it contains // /// This function returns the contents of the system clipboard, if it contains
@ -44,3 +47,11 @@
// /// // ///
// /// @ingroup input // /// @ingroup input
// GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window); // GLFWAPI const char* glfwGetClipboardString(GLFWwindow* window);
test "setClipboardString" {
const glfw = @import("main.zig");
try glfw.init();
defer glfw.terminate();
try glfw.setClipboardString("hello mach");
}