--- a/jdk/src/solaris/native/sun/awt/cursor.c Wed Jul 05 16:40:31 2017 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
- * Copyright 1997-2003 Sun Microsystems, Inc. All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-#ifdef HEADLESS
- #error This file should not be included in headless library
-#endif
-
-#include "awt_p.h"
-#include "java_awt_Cursor.h"
-#include "awt_Cursor.h"
-#include "sun_awt_motif_MCustomCursor.h"
-
-#include "jni.h"
-#include "jni_util.h"
-
-extern struct CursorIDs cursorIDs;
-static jfieldID widthID;
-static jfieldID heightID;
-
-/*
- * Class: sun_awt_motif_MCustomCursor
- * Method: cacheInit
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_sun_awt_motif_MCustomCursor_cacheInit
- (JNIEnv *env, jclass cls)
-{
- jclass clsDimension = (*env)->FindClass(env, "java/awt/Dimension");
- widthID = (*env)->GetFieldID(env, clsDimension, "width", "I");
- heightID = (*env)->GetFieldID(env, clsDimension, "height", "I");
-}
-
-/*
- * Class: sun_awt_motif_MCustomCursor
- * Method: queryBestCursor
- * Signature: (Ljava/awt/Dimension;)V
- */
-JNIEXPORT void JNICALL Java_sun_awt_motif_MCustomCursor_queryBestCursor
- (JNIEnv *env, jclass cls, jobject dimension)
-{
- Window root;
- uint32_t width, height;
-
- AWT_LOCK();
- root = RootWindow(awt_display, DefaultScreen(awt_display));
- XQueryBestCursor(awt_display, root,
- (*env)->GetIntField(env, dimension, widthID),
- (*env)->GetIntField(env, dimension, heightID),
- &width, &height);
- (*env)->SetIntField(env, dimension, widthID, (int32_t) width);
- (*env)->SetIntField(env, dimension, heightID, (int32_t) height);
- AWT_UNLOCK();
-}
-
-/*
- * Class: sun_awt_motif_MCustomCursor
- * Method: createCursor
- * Signature: ([B[BIIII)V
- */
-JNIEXPORT void JNICALL Java_sun_awt_motif_MCustomCursor_createCursor
- (JNIEnv *env , jobject this, jbyteArray xorMask, jbyteArray andMask,
- jint width, jint height, jint fc, jint bc, jint xHotSpot, jint yHotSpot)
-{
- Cursor cursor;
- char *sourceBits, *maskBits;
- Window root;
- Pixmap source, mask;
- XColor fcolor, bcolor;
- AwtGraphicsConfigDataPtr defaultConfig =
- getDefaultConfig(DefaultScreen(awt_display));
-
- AWT_LOCK();
-
- root = RootWindow(awt_display, DefaultScreen(awt_display));
- fcolor.flags = DoRed | DoGreen | DoBlue;
- fcolor.red = ((fc >> 16) & 0x000000ff) << 8;
- fcolor.green = ((fc >> 8) & 0x000000ff) << 8;
- fcolor.blue = ((fc >> 0) & 0x000000ff) << 8;
- XAllocColor(awt_display, defaultConfig->awt_cmap, &fcolor);
- bcolor.flags = DoRed | DoGreen | DoBlue;
- bcolor.red = ((bc >> 16) & 0x000000ff) << 8;
- bcolor.green = ((bc >> 8) & 0x000000ff) << 8;
- bcolor.blue = ((bc >> 0) & 0x000000ff) << 8;
- XAllocColor(awt_display, defaultConfig->awt_cmap, &bcolor);
-
- /* Create source pixmap. */
- sourceBits = (char *)(*env)->GetPrimitiveArrayCritical(env, xorMask, NULL);
- source = XCreateBitmapFromData(awt_display, root, sourceBits,
- width, height);
-
- /* Create mask pixmap */
- maskBits = (char *)(*env)->GetPrimitiveArrayCritical(env, andMask, NULL);
- mask = XCreateBitmapFromData(awt_display, root, maskBits,
- width, height);
-
- /* Create cursor */
- cursor = XCreatePixmapCursor(awt_display, source, mask, &fcolor, &bcolor,
- xHotSpot, yHotSpot);
-
- /* Free resources */
- XFreePixmap(awt_display, source);
- XFreePixmap(awt_display, mask);
-
- (*env)->ReleasePrimitiveArrayCritical(env, xorMask, sourceBits, JNI_ABORT);
- (*env)->ReleasePrimitiveArrayCritical(env, andMask, maskBits, JNI_ABORT);
-
- JNU_SetLongFieldFromPtr(env, this, cursorIDs.pData, cursor);
-
- AWT_FLUSH_UNLOCK();
-}