From dd0886851aa28ab14aa9efab5a7021473dcff55a Mon Sep 17 00:00:00 2001 From: Caspian Rychlik-Prince Date: Wed, 11 Aug 2004 15:37:40 +0000 Subject: [PATCH] *** empty log message *** --- src/java/org/lwjgl/Sys.java | 26 +++++++++++++++++++++++++- src/native/common/common_tools.cpp | 2 +- src/native/common/org_lwjgl_Sys.h | 16 ++++++++++++++++ src/native/linux/org_lwjgl_Sys.cpp | 23 +++++++++++++++++++++++ src/native/win32/org_lwjgl_Sys.cpp | 24 ++++++++++++++++++++++++ 5 files changed, 89 insertions(+), 2 deletions(-) diff --git a/src/java/org/lwjgl/Sys.java b/src/java/org/lwjgl/Sys.java index b4fc378e..da4cd176 100644 --- a/src/java/org/lwjgl/Sys.java +++ b/src/java/org/lwjgl/Sys.java @@ -42,7 +42,7 @@ import java.io.IOException; * @version $Revision$ */ public final class Sys { - public static final String VERSION = "0.91"; + public static final String VERSION = "0.92"; /** Low process priority. @see #setProcessPriority() */ public static final int LOW_PRIORITY = -1; @@ -259,4 +259,28 @@ public final class Sys { * Where necessary, we use a native implementation of openURL. */ private static native void nOpenURL(String url); + + /** + * Get the contents of the system clipboard. The system might not have a clipboard + * (particularly if it doesn't even have a keyboard) in which case we return null. + * Otherwise we return a String, which may be the empty string "". + * @return a String, or null if there is no system clipboard. + */ + public static native String getClipboard(); + + /** + * Set the contents of the system clipboard. The system might not have a clipboard + * (particularly if it doesn't even have a keyboard) in which case we silently + * ignore this method as a no-op.

Passing null is allowed and is effectively the + * same as passing the empty string "". + * @param newClip the new clipboard contents + */ + public static void setClipboard(String newClip) { + if (newClip == null) { + newClip = ""; + } + nSetClipboard(newClip); + } + private static native void nSetClipboard(String newClip); + } diff --git a/src/native/common/common_tools.cpp b/src/native/common/common_tools.cpp index 1a0cd592..b9baaa21 100644 --- a/src/native/common/common_tools.cpp +++ b/src/native/common/common_tools.cpp @@ -41,7 +41,7 @@ #include "common_tools.h" static bool debug = false; -static const char* VERSION = "0.91"; +static const char* VERSION = "0.92"; JavaVM *jvm; void initAttribList(attrib_list_t *list) { diff --git a/src/native/common/org_lwjgl_Sys.h b/src/native/common/org_lwjgl_Sys.h index 60d15dee..a90c2433 100644 --- a/src/native/common/org_lwjgl_Sys.h +++ b/src/native/common/org_lwjgl_Sys.h @@ -75,6 +75,22 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_nAlert JNIEXPORT void JNICALL Java_org_lwjgl_Sys_nOpenURL (JNIEnv *, jclass, jstring); +/* + * Class: org_lwjgl_Sys + * Method: setClipboard + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setClipboard + (JNIEnv *, jclass, jstring ); + +/* + * Class: org_lwjgl_Sys + * Method: getClipboard + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_lwjgl_Sys_getClipboard + (JNIEnv *, jclass); + #ifdef __cplusplus } #endif diff --git a/src/native/linux/org_lwjgl_Sys.cpp b/src/native/linux/org_lwjgl_Sys.cpp index 89a8ca67..8f692857 100644 --- a/src/native/linux/org_lwjgl_Sys.cpp +++ b/src/native/linux/org_lwjgl_Sys.cpp @@ -166,3 +166,26 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_nOpenURL env->ReleaseStringUTFChars(url, urlString); } +/* + * Class: org_lwjgl_Sys + * Method: setClipboard + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setClipboard + (JNIEnv * env, jclass clazz, jstring clipboard) +{ + const char * urlString = env->GetStringUTFChars(clipboard, NULL); + // TODO +} + +/* + * Class: org_lwjgl_Sys + * Method: getClipboard + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_lwjgl_Sys_getClipboard + (JNIEnv * env, jclass clazz) +{ + return NULL; +} + diff --git a/src/native/win32/org_lwjgl_Sys.cpp b/src/native/win32/org_lwjgl_Sys.cpp index 2e576559..a5f04fac 100644 --- a/src/native/win32/org_lwjgl_Sys.cpp +++ b/src/native/win32/org_lwjgl_Sys.cpp @@ -175,3 +175,27 @@ JNIEXPORT void JNICALL Java_org_lwjgl_Sys_nOpenURL CloseHandle( pi.hThread ); } + +/* + * Class: org_lwjgl_Sys + * Method: setClipboard + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_Sys_setClipboard + (JNIEnv * env, jclass clazz, jstring clipboard) +{ + const char * urlString = env->GetStringUTFChars(clipboard, NULL); + // TODO +} + +/* + * Class: org_lwjgl_Sys + * Method: getClipboard + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_lwjgl_Sys_getClipboard + (JNIEnv * env, jclass clazz) +{ + return NULL; +} +