calloc method

Implementation

Pointer<SdlGpuRenderStateCreateInfo> calloc() {
  final pointer = ffi.calloc<SdlGpuRenderStateCreateInfo>();
  pointer.ref.fragmentShader = fragmentShader;
  if (samplerBindings.isNotEmpty) {
    pointer.ref.numSamplerBindings = samplerBindings.length;
    pointer.ref.samplerBindings = samplerBindings.calloc();
  }
  if (storageTextures.isNotEmpty) {
    pointer.ref.numStorageTextures = storageTextures.length;
    pointer.ref.storageTextures = ffi.calloc<Pointer<SdlGpuTexture>>(
      storageTextures.length,
    );
    for (var i = 0; i < storageTextures.length; i++) {
      pointer.ref.storageTextures[i] = storageTextures[i];
    }
  }
  if (storageBuffers.isNotEmpty) {
    pointer.ref.numStorageBuffers = storageBuffers.length;
    pointer.ref.storageBuffers = ffi.calloc<Pointer<SdlGpuBuffer>>(
      storageBuffers.length,
    );
    for (var i = 0; i < storageBuffers.length; i++) {
      pointer.ref.storageBuffers[i] = storageBuffers[i];
    }
  }
  pointer.ref.props = props;
  return pointer;
}