aboutsummaryrefslogtreecommitdiffstats
path: root/src/native/ogl/DrawingSurfaceObjectAWT.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/native/ogl/DrawingSurfaceObjectAWT.c')
-rw-r--r--src/native/ogl/DrawingSurfaceObjectAWT.c290
1 files changed, 0 insertions, 290 deletions
diff --git a/src/native/ogl/DrawingSurfaceObjectAWT.c b/src/native/ogl/DrawingSurfaceObjectAWT.c
deleted file mode 100644
index 899a7dc..0000000
--- a/src/native/ogl/DrawingSurfaceObjectAWT.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright 1999-2008 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.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- * Portions of this code were derived from work done by the Blackdown
- * group (www.blackdown.org), who did the initial Linux implementation
- * of the Java 3D API.
- */
-
-#include <jni.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-#include <jawt_md.h>
-
-#include "javax_media_j3d_NativePipeline.h"
-#include "javax_media_j3d_DrawingSurfaceObjectAWT.h"
-
-#ifdef DEBUG
-/* Uncomment the following for VERBOSE debug messages */
-/* #define VERBOSE */
-#endif /* DEBUG */
-
-
-#if defined(SOLARIS) && defined(__sparc)
-#pragma weak XDgaGetXineramaInfo
-
-/*
- * The following include file contains the definitions of unsupported,
- * undocumented data structures and functions used to implement Xinerama.
- * They are also used by the Solaris implementations of OpenGL and AWT. This
- * is an interim solution until they are made part of the X Window System
- * standard or replaced with a fully supported API.
- */
-#include "panoramiXext.h"
-#endif /* SOLARIS && __sparc */
-
-
-JNIEXPORT jlong JNICALL
-Java_javax_media_j3d_NativePipeline_getAWT(
- JNIEnv *env, jobject obj)
-{
- JAWT *awt;
-
- awt = (JAWT*) malloc(sizeof(JAWT));
- if (awt == NULL) {
- fprintf(stderr, "malloc failed\n");
- return 0;
- }
-
- awt->version = JAWT_VERSION_1_4;
-
- if (JAWT_GetAWT(env, awt) == JNI_FALSE) {
- fprintf(stderr, "AWT not found\n");
- return 0;
- }
-
- return (jlong)awt;
-}
-
-JNIEXPORT
-jlong JNICALL
-Java_javax_media_j3d_DrawingSurfaceObjectAWT_getDrawingSurfaceAWT(
- JNIEnv *env,
- jobject obj,
- jobject canvas,
- jlong awtObj)
-{
- JAWT *awt = (JAWT*) awtObj;
- JAWT_DrawingSurface *ds;
-
- ds = awt->GetDrawingSurface(env, canvas);
- if (ds == NULL) {
- fprintf(stderr, "NULL drawing surface\n");
- return 0;
- }
- return (jlong)ds;
-}
-
-
-JNIEXPORT
-jint JNICALL
-Java_javax_media_j3d_DrawingSurfaceObjectAWT_getDrawingSurfaceWindowIdAWT(
- JNIEnv *env,
- jobject obj,
- jobject canvas,
- jlong dsObj,
- jlong dsiObj,
- jlong display,
- jint screen,
- jboolean xineramaDisabled)
-{
- JAWT_DrawingSurface *ds = (JAWT_DrawingSurface*) dsObj;
- JAWT_DrawingSurfaceInfo *dsi = (JAWT_DrawingSurfaceInfo *) dsiObj;
- jint window;
-
-#ifdef WIN32
- JAWT_Win32DrawingSurfaceInfo *wds =
- (JAWT_Win32DrawingSurfaceInfo*) dsi->platformInfo;
- window = (jint)wds->hdc;
-#endif /* WIN32 */
-
-#ifdef SOLARIS
- JAWT_X11DrawingSurfaceInfo *xds =
- (JAWT_X11DrawingSurfaceInfo*) dsi->platformInfo;
- window = (jint)xds->drawable;
-
-#ifdef __sparc
- if (xineramaDisabled) {
- XineramaInfo xineramaInfo;
-
-#ifdef VERBOSE
- fprintf(stderr, "getDrawingSurfaceWindowIdAWT: Xinerama disabled\n");
-#endif /* VERBOSE */
-
- /*
- * The existence of the weak symbol XDgaGetXineramaInfo is checked in
- * the native MasterControl.initializeJ3D(); execution will not get
- * here if it is unbound.
- */
- if (XDgaGetXineramaInfo((Display *)display,
- xds->drawable, &xineramaInfo)) {
-
- /* return Xinerama subwid instead of primary Xinerama wid */
- window = (jint)xineramaInfo.subs[screen].wid;
-
-#ifdef VERBOSE
- fprintf(stderr,
- " subwid for display %d screen %d window %d: %d\n",
- (Display *)display, screen, xds->drawable, window);
-#endif /* VERBOSE */
- }
- else {
- window = (jint)xds->drawable;
- fprintf(stderr, "Get Xinerama subwid, screen %d failed\n", screen);
- }
- }
-#endif /* __sparc */
-#endif /* SOLARIS */
-
-#ifdef LINUX
- JAWT_X11DrawingSurfaceInfo *xds =
- (JAWT_X11DrawingSurfaceInfo*) dsi->platformInfo;
- window = (jint)xds->drawable;
-#endif /* LINUX */
-
- /*
- * Don't free DrawingSurfaceInfo here, otherwise
- * HDC will free in windows JDK1.4 and window
- * is invalid.
- */
- ds->env = env;
- ds->Unlock(ds);
-
- return window;
-}
-
-
-
-JNIEXPORT
-jlong JNICALL
-Java_javax_media_j3d_DrawingSurfaceObjectAWT_getDrawingSurfaceInfo(
- JNIEnv *env,
- jobject obj,
- jlong dsObj)
-{
- JAWT_DrawingSurface *ds = (JAWT_DrawingSurface*) dsObj;
- JAWT_DrawingSurfaceInfo *dsi;
- jint lock;
-
- ds->env = env;
- lock = ds->Lock(ds);
- if ((lock & JAWT_LOCK_ERROR) != 0) {
- fprintf(stderr, "Error locking surface\n");
- return 0;
- }
-
- dsi = ds->GetDrawingSurfaceInfo(ds);
-
- if (dsi == NULL) {
- fprintf(stderr, "Error GetDrawingSurfaceInfo\n");
- ds->Unlock(ds);
- return 0;
- }
- return (jlong)dsi;
-}
-
-JNIEXPORT
-jboolean JNICALL Java_javax_media_j3d_DrawingSurfaceObjectAWT_lockAWT(
- JNIEnv *env,
- jobject obj,
- jlong drawingSurface)
-{
- JAWT_DrawingSurface *ds = (JAWT_DrawingSurface*)drawingSurface;
- jint lock;
-
- ds->env = env;
- lock = ds->Lock(ds);
-
- if ((lock & JAWT_LOCK_ERROR) != 0) {
- return JNI_FALSE;
- } else if ((lock & JAWT_LOCK_SURFACE_CHANGED) != 0) {
- ds->Unlock(ds);
- return JNI_FALSE;
- } else {
- return JNI_TRUE;
- }
-}
-
-JNIEXPORT
-void JNICALL Java_javax_media_j3d_DrawingSurfaceObjectAWT_unlockAWT(
- JNIEnv *env,
- jobject obj,
- jlong drawingSurface)
-{
- JAWT_DrawingSurface *ds = (JAWT_DrawingSurface*)drawingSurface;
- ds->env = env;
- ds->Unlock(ds);
-}
-
-
-JNIEXPORT
-void JNICALL Java_javax_media_j3d_DrawingSurfaceObjectAWT_lockGlobal(
- JNIEnv *env,
- jclass obj,
- jlong awt)
-{
- ((JAWT *) awt)->Lock(env);
-}
-
-
-JNIEXPORT
-void JNICALL Java_javax_media_j3d_DrawingSurfaceObjectAWT_unlockGlobal(
- JNIEnv *env,
- jclass obj,
- jlong awt)
-{
- ((JAWT *) awt)->Unlock(env);
-}
-
-
-
-JNIEXPORT
-void JNICALL Java_javax_media_j3d_DrawingSurfaceObjectAWT_freeResource(
- JNIEnv *env,
- jclass obj,
- jlong awtObj,
- jlong drawingSurface,
- jlong drawingSurfaceInfo)
-{
- JAWT *awt = (JAWT*) awtObj;
- JAWT_DrawingSurface *ds = (JAWT_DrawingSurface*)drawingSurface;
- JAWT_DrawingSurfaceInfo *dsi = (JAWT_DrawingSurfaceInfo *) drawingSurfaceInfo;
-
- ds->env = env;
- ds->FreeDrawingSurfaceInfo(dsi);
- awt->FreeDrawingSurface(ds);
-}
-
-
-