lwjgl-shaderc-3.3.3.jar

Download file
    package org.lwjgl.util.shaderc;

import javax.annotation.Nullable;
import org.lwjgl.system.Callback;

public abstract class ShadercIncludeResultRelease extends Callback implements ShadercIncludeResultReleaseI {
   public static ShadercIncludeResultRelease create(long functionPointer) {
      ShadercIncludeResultReleaseI instance = (ShadercIncludeResultReleaseI)Callback.get(functionPointer);
      return (ShadercIncludeResultRelease)(instance instanceof ShadercIncludeResultRelease ? (ShadercIncludeResultRelease)instance : new Container(functionPointer, instance));
   }

   @Nullable
   public static ShadercIncludeResultRelease createSafe(long functionPointer) {
      return functionPointer == 0L ? null : create(functionPointer);
   }

   public static ShadercIncludeResultRelease create(ShadercIncludeResultReleaseI instance) {
      return (ShadercIncludeResultRelease)(instance instanceof ShadercIncludeResultRelease ? (ShadercIncludeResultRelease)instance : new Container(instance.address(), instance));
   }

   protected ShadercIncludeResultRelease() {
      super(CIF);
   }

   ShadercIncludeResultRelease(long functionPointer) {
      super(functionPointer);
   }

   private static final class Container extends ShadercIncludeResultRelease {
      private final ShadercIncludeResultReleaseI delegate;

      Container(long functionPointer, ShadercIncludeResultReleaseI delegate) {
         super(functionPointer);
         this.delegate = delegate;
      }

      public void invoke(long user_data, long include_result) {
         this.delegate.invoke(user_data, include_result);
      }
   }
}
    
Download file