PixaRuntimeCapabilities.current constructor

PixaRuntimeCapabilities.current()

Reads capabilities from the runtime bridge.

Implementation

factory PixaRuntimeCapabilities.current() {
  final PixaRuntimePlatformStatus status =
      PixaRuntimePlatformStatus.current();
  if (!status.runtimeAvailable) {
    return PixaRuntimeCapabilities(
      diskCache: false,
      httpTransport: false,
      exifParser: false,
      pixelProcessors: false,
      runtimePluginAbiVersion: null,
      imageFormats: const <PixaRuntimeImageFormatCapability>[],
      platformStatus: status,
    );
  }
  final int bits = PixaRuntimeBridge.capabilityBits();
  return PixaRuntimeCapabilities(
    diskCache: bits & 0x01 != 0,
    httpTransport: bits & 0x02 != 0,
    exifParser: bits & 0x04 != 0,
    pixelProcessors: bits & 0x08 != 0,
    runtimePluginAbiVersion: PixaRuntimeBridge.runtimePluginAbiVersion(),
    runtimePluginRegistryStats:
        PixaRuntimeBridge.runtimePluginRegistryStats(),
    imageFormats: _decodeImageFormatCapabilities(
      PixaRuntimeBridge.imageFormatCapabilitiesPayload(),
    ),
    platformStatus: status,
  );
}