aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c')
-rw-r--r--gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c440
1 files changed, 0 insertions, 440 deletions
diff --git a/gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c b/gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
deleted file mode 100644
index ea9c1d6e8..000000000
--- a/gcc-4.8.1/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
+++ /dev/null
@@ -1,440 +0,0 @@
-/* gdkrobotpeer.c
- Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-#include "gtkpeer.h"
-#include "gnu_java_awt_peer_gtk_GdkRobotPeer.h"
-
-#ifdef HAVE_XTEST
-#include <gdk/gdkx.h>
-#include <X11/extensions/XTest.h>
-#endif
-
-#ifdef HAVE_XTEST
-
-static int
-awt_button_mask_to_num (int buttons)
-{
- switch (buttons)
- {
- case AWT_BUTTON1_MASK:
- return 1;
- case AWT_BUTTON2_MASK:
- return 2;
- case AWT_BUTTON3_MASK:
- return 3;
- }
-
- return 0;
-}
-
-#endif
-
-JNIEXPORT jboolean JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_initXTest
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)))
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- int event_basep;
- int error_basep;
- int majorp;
- int minorp;
- jboolean result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- result = XTestQueryExtension (xdisplay,
- &event_basep,
- &error_basep,
- &majorp,
- &minorp);
-
- gdk_threads_leave ();
-
- return result;
-
-#else
-
- return JNI_FALSE;
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_mouseMove
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint x, jint y)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- int result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- result = XTestFakeMotionEvent (xdisplay,
- -1,
- x, y, CurrentTime);
- if (result)
- g_warning("XTestFakeMotionEvent returned %d\n", result);
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) x; // Unused.
- (void) y; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_mousePress
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint buttons)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- int result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- result = XTestFakeButtonEvent (xdisplay,
- awt_button_mask_to_num (buttons),
- True, CurrentTime);
- if (result)
- g_warning("XTestFakeButtonEvent returned %d\n", result);
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) buttons; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_mouseRelease
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint buttons)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- int result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- result = XTestFakeButtonEvent (xdisplay,
- awt_button_mask_to_num (buttons),
- False, CurrentTime);
- if (result)
- g_warning("XTestFakeButtonEvent returned %d\n", result);
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) buttons; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_mouseWheel
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint wheelAmt)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- int i = 0;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- if (wheelAmt < 0)
- for (i = 0; i < -wheelAmt; i++)
- {
- XTestFakeButtonEvent (xdisplay,
- 4,
- True, CurrentTime);
- XTestFakeButtonEvent (xdisplay,
- 4,
- False, CurrentTime);
- }
- else
- for (i = 0; i < wheelAmt; i++)
- {
- XTestFakeButtonEvent (xdisplay,
- 5,
- True, CurrentTime);
- XTestFakeButtonEvent (xdisplay,
- 5,
- False, CurrentTime);
- }
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) wheelAmt; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_keyPress
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint keycode)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- GdkKeymapKey *keymap_keys = NULL;
- gint n_keys = 0;
- guint lookup_keyval = 0;
- int result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- lookup_keyval = cp_gtk_awt_keycode_to_keysym (keycode,
- AWT_KEY_LOCATION_LEFT);
-
- if (!gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (),
- lookup_keyval,
- &keymap_keys,
- &n_keys))
- {
- /* No matching keymap entry was found. */
- g_message ("No matching keymap entries were found\n");
- gdk_threads_leave ();
- return;
- }
-
- /* If n_keys > 1 then there are multiple hardware keycodes that
- translate to lookup_keyval. We arbitrarily choose the first
- hardware keycode from the list returned by
- gdk_keymap_get_entries_for_keyval. */
- result = XTestFakeKeyEvent (xdisplay,
- keymap_keys[0].keycode,
- True, CurrentTime);
- if (result)
- g_warning("XTestFakeKeyEvent returned %d\n", result);
-
- g_free (keymap_keys);
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) keycode; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_keyRelease
- (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)), jint keycode)
-{
-
-#ifdef HAVE_XTEST
-
- GdkDisplay *display;
- Display *xdisplay;
- GdkKeymapKey *keymap_keys = NULL;
- gint n_keys = 0;
- guint lookup_keyval = 0;
- int result;
-
- gdk_threads_enter ();
-
- display = gdk_display_get_default ();
- xdisplay = GDK_DISPLAY_XDISPLAY (display);
-
- lookup_keyval = cp_gtk_awt_keycode_to_keysym (keycode,
- AWT_KEY_LOCATION_LEFT);
-
- if (!gdk_keymap_get_entries_for_keyval (gdk_keymap_get_default (),
- lookup_keyval,
- &keymap_keys,
- &n_keys))
- {
- /* No matching keymap entry was found. */
- g_message ("No matching keymap entries were found\n");
- gdk_threads_leave ();
- return;
- }
-
- /* If n_keys > 1 then there are multiple hardware keycodes that
- translate to lookup_keyval. We arbitrarily choose the first
- hardware keycode from the list returned by
- gdk_keymap_get_entries_for_keyval. */
- result = XTestFakeKeyEvent (xdisplay,
- keymap_keys[0].keycode,
- False, CurrentTime);
- if (result)
- g_warning("XTestFakeKeyEvent returned %d\n", result);
-
- g_free (keymap_keys);
-
- XFlush (xdisplay);
-
- gdk_threads_leave ();
-
-#else
-
- (void) keycode; // Unused.
-
-#endif
-
-}
-
-JNIEXPORT jintArray JNICALL
-Java_gnu_java_awt_peer_gtk_GdkRobotPeer_nativeGetRGBPixels
- (JNIEnv *env, jobject obj __attribute__((unused)), jint x, jint y,
- jint width, jint height)
-{
-
-#ifdef HAVE_XTEST
-
- jint stride_bytes, stride_pixels, n_channels, n_pixels;
- jintArray jpixels;
- jint *java_pixels;
- guchar *gdk_pixels;
- GdkPixbuf *pixbuf_no_alpha = NULL;
- GdkPixbuf *pixbuf = NULL;
-
-#ifndef WORDS_BIGENDIAN
- int i;
-#endif
-
- gdk_threads_enter ();
-
- pixbuf_no_alpha = gdk_pixbuf_get_from_drawable (NULL,
- gdk_get_default_root_window (),
- NULL, x, y, 0, 0,
- width, height);
-
- pixbuf = gdk_pixbuf_add_alpha(pixbuf_no_alpha, FALSE, 0, 0, 0);
- g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
-
- stride_bytes = gdk_pixbuf_get_rowstride (pixbuf);
- n_channels = gdk_pixbuf_get_n_channels (pixbuf);
- stride_pixels = stride_bytes / n_channels;
- n_pixels = height * stride_pixels;
- gdk_pixels = gdk_pixbuf_get_pixels (pixbuf);
-
- jpixels = (*env)->NewIntArray (env, n_pixels);
-
- java_pixels = (*env)->GetIntArrayElements (env, jpixels, NULL);
-
- memcpy (java_pixels,
- gdk_pixels,
- (height * stride_bytes));
-
-#ifndef WORDS_BIGENDIAN
- /* convert pixels from 0xBBGGRRAA to 0xAARRGGBB */
- for (i = 0; i < n_pixels; ++i)
- {
- java_pixels[i] = SWAPU32 ((unsigned)java_pixels[i]);
- }
-#endif
-
- g_object_unref (pixbuf);
-
- (*env)->ReleaseIntArrayElements (env, jpixels, java_pixels, 0);
-
- gdk_threads_leave ();
-
- return jpixels;
-
-#else
-
- (void) env;
- (void) x;
- (void) y;
- (void) width;
- (void) height;
- return NULL;
-
-#endif
-
-}