31 lines
560 B
Java
31 lines
560 B
Java
package speiger.src.coreengine.rendering.input.window;
|
|
|
|
import java.util.function.LongFunction;
|
|
|
|
import org.lwjgl.system.Callback;
|
|
|
|
public class WindowCallback
|
|
{
|
|
Callback callback;
|
|
LongFunction<Callback> provider;
|
|
|
|
public WindowCallback(LongFunction<Callback> provider) {
|
|
this.provider = provider;
|
|
}
|
|
|
|
public void reload(long windowId) {
|
|
destroy();
|
|
load(windowId);
|
|
}
|
|
|
|
public void load(long windowId) {
|
|
callback = provider.apply(windowId);
|
|
}
|
|
|
|
public void destroy() {
|
|
if(callback == null) return;
|
|
callback.free();
|
|
callback = null;
|
|
}
|
|
}
|