Print this page
Added gradle and cmake project
*** 31,40 ****
--- 31,43 ----
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import sun.awt.CGraphicsConfig;
import sun.awt.CGraphicsEnvironment;
+ import sun.java2d.macos.MacOSFlags;
+ import sun.java2d.metal.MTLLayer;
+ import sun.java2d.metal.MTLSurfaceData;
import sun.lwawt.LWWindowPeer;
import sun.java2d.SurfaceData;
import sun.java2d.opengl.CGLLayer;
import sun.java2d.opengl.CGLSurfaceData;
*** 46,75 ****
private static native Rectangle2D nativeGetLocationOnScreen(long awtView);
private static native boolean nativeIsViewUnderMouse(long ptr);
private LWWindowPeer peer;
private SurfaceData surfaceData;
! private CGLLayer windowLayer;
private CPlatformResponder responder;
public CPlatformView() {
super(0, true);
}
public void initialize(LWWindowPeer peer, CPlatformResponder responder) {
initializeBase(peer, responder);
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! this.windowLayer = createCGLayer();
}
setPtr(nativeCreateView(0, 0, 0, 0, getWindowLayerPtr()));
}
public CGLLayer createCGLayer() {
return new CGLLayer(peer);
}
protected void initializeBase(LWWindowPeer peer, CPlatformResponder responder) {
this.peer = peer;
this.responder = responder;
}
--- 49,83 ----
private static native Rectangle2D nativeGetLocationOnScreen(long awtView);
private static native boolean nativeIsViewUnderMouse(long ptr);
private LWWindowPeer peer;
private SurfaceData surfaceData;
! private CFRetainedResource windowLayer;
private CPlatformResponder responder;
public CPlatformView() {
super(0, true);
}
public void initialize(LWWindowPeer peer, CPlatformResponder responder) {
initializeBase(peer, responder);
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! this.windowLayer = MacOSFlags.isMetalEnabled()? createMTLLayer() : createCGLayer();
}
setPtr(nativeCreateView(0, 0, 0, 0, getWindowLayerPtr()));
}
public CGLLayer createCGLayer() {
return new CGLLayer(peer);
}
+ public MTLLayer createMTLLayer() {
+ return new MTLLayer(peer);
+ }
+
+
protected void initializeBase(LWWindowPeer peer, CPlatformResponder responder) {
this.peer = peer;
this.responder = responder;
}
*** 105,115 ****
// ----------------------------------------------------------------------
// PAINTING METHODS
// ----------------------------------------------------------------------
public SurfaceData replaceSurfaceData() {
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! surfaceData = windowLayer.replaceSurfaceData();
} else {
if (surfaceData == null) {
CGraphicsConfig graphicsConfig = (CGraphicsConfig)getGraphicsConfiguration();
surfaceData = graphicsConfig.createSurfaceData(this);
} else {
--- 113,126 ----
// ----------------------------------------------------------------------
// PAINTING METHODS
// ----------------------------------------------------------------------
public SurfaceData replaceSurfaceData() {
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! surfaceData = (MacOSFlags.isMetalEnabled()) ?
! ((MTLLayer)windowLayer).replaceSurfaceData() :
! ((CGLLayer)windowLayer).replaceSurfaceData()
! ;
} else {
if (surfaceData == null) {
CGraphicsConfig graphicsConfig = (CGraphicsConfig)getGraphicsConfiguration();
surfaceData = graphicsConfig.createSurfaceData(this);
} else {
*** 119,129 ****
return surfaceData;
}
private void validateSurface() {
if (surfaceData != null) {
! ((CGLSurfaceData)surfaceData).validate();
}
}
public GraphicsConfiguration getGraphicsConfiguration() {
return peer.getGraphicsConfiguration();
--- 130,144 ----
return surfaceData;
}
private void validateSurface() {
if (surfaceData != null) {
! if (MacOSFlags.isMetalEnabled()) {
! ((MTLSurfaceData) surfaceData).validate();
! } else {
! ((CGLSurfaceData) surfaceData).validate();
! }
}
}
public GraphicsConfiguration getGraphicsConfiguration() {
return peer.getGraphicsConfiguration();
*** 141,151 ****
super.dispose();
}
public long getWindowLayerPtr() {
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! return windowLayer.getPointer();
} else {
return 0;
}
}
--- 156,168 ----
super.dispose();
}
public long getWindowLayerPtr() {
if (!LWCToolkit.getSunAwtDisableCALayers()) {
! return MacOSFlags.isMetalEnabled() ?
! ((MTLLayer)windowLayer).getPointer() :
! ((CGLLayer)windowLayer).getPointer();
} else {
return 0;
}
}