in skiko/src/awtMain/cpp/windows/InternalDirectXApi.cc [285:307]
JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_graphicapi_InternalDirectXApi_makeDirectXTexture(
JNIEnv *env, jobject redrawer, jlong devicePtr, jlong oldTexturePtr, jint width, jint height) {
DirectXOffscreenDevice *device = fromJavaPointer<DirectXOffscreenDevice *>(devicePtr);
DirectXOffScreenTexture *oldTexture = fromJavaPointer<DirectXOffScreenTexture *>(oldTexturePtr);
DirectXOffScreenTexture *texture;
if (oldTexture == nullptr || oldTexture->width != width || oldTexture->height != height) {
if (oldTexture != nullptr) {
delete oldTexture;
}
texture = new DirectXOffScreenTexture(device, width, height);
if (texture->resource == nullptr || texture->readbackBufferResource == nullptr) {
delete texture;
return 0;
}
} else {
texture = oldTexture;
}
return toJavaPointer(texture);
}