diff --git a/test/jdk/java/awt/JAWT/MyMacCanvas.java b/test/jdk/java/awt/JAWT/MyMacCanvas.java deleted file mode 100644 index 9c27013cee31a..0000000000000 --- a/test/jdk/java/awt/JAWT/MyMacCanvas.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2021, Oracle and/or its affiliates. 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. - * - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - -public class MyMacCanvas extends Canvas { - - static { - try { - System.loadLibrary("mylib"); - } catch (Throwable t) { - System.out.println("Test failed!!"); - t.printStackTrace(); - System.exit(1); - } - } - - public void addNotify() { - super.addNotify(); - addNativeCoreAnimationLayer(); - } - - public native void addNativeCoreAnimationLayer(); - - static JAWTFrame f; - public static void main(String[] args) { - try { - Robot robot = new Robot(); - EventQueue.invokeLater(new Runnable() { - public void run() { - f = new JAWTFrame("JAWTExample"); - f.setBackground(Color.white); - f.setLayout(new BorderLayout(10, 20)); - f.setLocation(50, 50); - ((JComponent) f.getContentPane()).setBorder(BorderFactory.createMatteBorder(10, 10, 10, 10, Color.cyan)); - f.addNotify(); - f.pack(); - f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - f.setVisible(true); - } - }); - robot.delay(5000); - Color col1 = new Color(0, 0, 0); - Color col2 = robot.getPixelColor(f.getX()+50, f.getY()+50); - if (col1.equals(col2)) { - System.out.println("Test passed!"); - } else { - System.out.println("col1 " + col1 + " col2 " + col2); - throw new RuntimeException("Color of JAWT canvas is wrong or " + - "it was not rendered. " + "Check that other windows " + - "do not block the test frame."); - } - System.exit(0); - } catch (Throwable t) { - System.out.println("Test failed!"); - t.printStackTrace(); - System.exit(1); - } - } - - private static class JAWTFrame extends JFrame { - public JAWTFrame(final String title) { - super(title); - } - - public void addNotify() { - super.addNotify(); // ensures native component hierarchy is setup - - final Component layerBackedCanvas = new MyMacCanvas(); - layerBackedCanvas.setPreferredSize(new Dimension(400, 200)); - add(layerBackedCanvas, BorderLayout.CENTER); - - invalidate(); - } - } -} diff --git a/test/jdk/java/awt/JAWT/jawt-mac-buildrun.sh b/test/jdk/java/awt/JAWT/jawt-mac-buildrun.sh deleted file mode 100644 index bf843ff2a1c99..0000000000000 --- a/test/jdk/java/awt/JAWT/jawt-mac-buildrun.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -set -e - -JAVA_HOME='/export/lanai/build/macosx-x64-debug/jdk' - -$JAVA_HOME/bin/javac MyMacCanvas.java - -gcc -v myfile.m -I"$JAVA_HOME/include" -c -o myfile.o - -gcc -v myfile.o -L$JAVA_HOME/lib -ljawt -framework AppKit -framework OpenGL -framework Metal -framework Quartz -shared -o libmylib.jnilib - -$JAVA_HOME/bin/java -Djava.library.path=. -Dsun.java2d.metal=True MyMacCanvas diff --git a/test/jdk/java/awt/JAWT/myfile.m b/test/jdk/java/awt/JAWT/myfile.m deleted file mode 100644 index 4f4d5573ec7ab..0000000000000 --- a/test/jdk/java/awt/JAWT/myfile.m +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2021, Oracle and/or its affiliates. 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. - * - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#import "JAVAVM/jawt_md.h" -#import - -/* - * Pass the block to a selector of a class that extends NSObject - * There is no need to copy the block since this class always waits. - */ -@interface BlockRunner : NSObject { } - -+ (void)invokeBlock:(void (^)())block; -@end - -@implementation BlockRunner - -+ (void)invokeBlock:(void (^)())block{ - block(); -} - -+ (void)performBlock:(void (^)())block { - [self performSelectorOnMainThread:@selector(invokeBlock:) withObject:block waitUntilDone:YES]; -} - -@end - - -/* - * Class: MyMacCanvas - * Method: paint - * SIgnature: (Ljava/awt/Graphics;)V - */ -JNIEXPORT void JNICALL Java_MyMacCanvas_addNativeCoreAnimationLayer -(JNIEnv* env, jobject canvas, jobject graphics) -{ - printf("paint called\n"); - - JAWT awt; - awt.version = JAWT_VERSION_1_4 | JAWT_MACOSX_USE_CALAYER; - if (JAWT_GetAWT(env, &awt) == JNI_FALSE) { - printf("AWT Not found\n"); - return; - } - - printf("JAWT found\n"); - - /* Get the drawing surface */ - JAWT_DrawingSurface* ds = awt.GetDrawingSurface(env, canvas); - if (ds == NULL) { - printf("NULL drawing surface\n"); - return; - } - - /* Lock the drawing surface */ - jint lock = ds->Lock(ds); - printf("Lock value %d\n", (int)lock); - if((lock & JAWT_LOCK_ERROR) != 0) { - printf("Error locking surface"); - return; - } - - /* Get the drawing surface info */ - JAWT_DrawingSurfaceInfo *dsi = ds->GetDrawingSurfaceInfo(ds); - if (dsi == NULL) { - printf("Error getting surface info\n"); - ds->Unlock(ds); - return; - } - - // create and attach the layer on the AppKit thread - void (^block)() = ^(){ - // attach the "root layer" to the AWT Canvas surface layers - CALayer *layer = [[CALayer new] autorelease]; - id surfaceLayers = (id )dsi->platformInfo; - CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB (); - CGFloat rgba[4] = {0.0, 0.0, 0.0, 1.0}; - CGColorRef color = CGColorCreate (colorspace, rgba); - layer.backgroundColor = color; - surfaceLayers.layer = layer; - }; - - if ([NSThread isMainThread]) { - block(); - } else { - [BlockRunner performBlock:block]; - } - - /* Free the drawing surface info */ - ds->FreeDrawingSurfaceInfo(dsi); - - /* Unlock the drawing surface */ - ds->Unlock(ds); - - /* Free the drawing surface */ - awt.FreeDrawingSurface(ds); -}