Example #1
0
        /// <inheritdoc cref="ApplyRgbFilterEventArgs"/>
        public async Task OnEventHandler(object publisher, ApplyRgbFilterEventArgs e)
        {
            try
            {
                var filter = View.Dropdown;

                if (filter != RgbFltr.Unknown)
                {
                    var color = View.GetSelectedChannels();

                    var copy = await _locker.LockOperationAsync(
                        () => new Bitmap(ViewModel.Source)
                        ).ConfigureAwait(true);

                    Aggregator.PublishFromAll(publisher,
                                              new AttachBlockToRendererEventArgs(
                                                  block: new PipelineBlock(copy)
                                                  .Add <Bitmap, Bitmap>(
                                                      (bmp) => _factory.Get(color).Filter(bmp))
                                                  .Add <Bitmap, Bitmap>(
                                                      (bmp) => _factory.Get(filter).Filter(bmp))
                                                  )
                                              );
                }
            }
            catch (Exception ex)
            {
                View.Tooltip(Errors.ApplyRgbFilter);
            }
        }
 public virtual async Task OnEventHandler(object publisher, ApplyRgbFilterEventArgs e)
 {
 }