send method

  1. @override
void send(
  1. ThreadRequest data
)
override

Sends a ThreadRequest to the thread for processing.

data - The data to be processed by the thread.

Implementation

@override
void send(ThreadRequest data) {
  activeTasks++;

  worker.postMessage({
    'mode': data is ImageConvertThreadRequest ? 'convert' : 'encode',
    'id': data.id,
    'generateOnlyImageBounds': data is ImageConvertThreadRequest
        ? data.generateOnlyImageBounds
        : null,
    'outputFormat': data.outputFormat.name,
    'jpegChroma': data.jpegChroma.name,
    'pngFilter': data.pngFilter.name,
    'jpegQuality': data.jpegQuality,
    'pngLevel': data.pngLevel,
    'singleFrame': data.singleFrame,
    'image': {
      'buffer': data.image.buffer,
      'width': data.image.width,
      'height': data.image.height,
      'textData': data.image.textData,
      'frameDuration': data.image.frameDuration,
      'frameIndex': data.image.frameIndex,
      'loopCount': data.image.loopCount,
      'numChannels': data.image.numChannels,
      'rowStride': data.image.rowStride,
      'frameType': data.image.frameType.name,
      'format': data.image.format.name,
      // 'exif': data.image.exif,
      // 'palette': data.image.palette,
      // 'backgroundColor': data.image.backgroundColor,
    }
  });
}