private void LoaderSaverProviderCallback(ProviderCallbackType callbackType, string message) { switch (callbackType) { case ProviderCallbackType.ShowControl: TopContent = _currentLoaderSaverProvider.ShowControl; return; case ProviderCallbackType.ShowSpinner: Application.Current.Dispatcher.Invoke(() => { TopContent = StaticClasses.GetSpinner(message); }); return; case ProviderCallbackType.End: // TopContent = null; if (_currentLoaderSaverProvider.Result) { switch (_currentMultiCommand) { case "loadRender": InitPost(); ShowRender(); break; } } _currentMultiCommand = string.Empty; ActionFire.Invoke("MAIN_WINDOW_VIEWMODEL-SET_BOTTOM_STRING", _currentLoaderSaverProvider.ResultString); break; default: throw new ArgumentOutOfRangeException(nameof(callbackType), callbackType, null); } }
private async void ShowRender() { Debug.WriteLine($"SHOW_RENDER"); if (_displayModel == null) { return; } await Task.Run(() => { Application.Current.Dispatcher.Invoke(() => { ImageSource = null; ImageTopContent = StaticClasses.GetSpinner(); }); }); await Task.Run(() => { if (RadioColor) { _currentImg = _displayModel.GetBitmapForRender(_postModel.TransformColors); } if (RadioGradient) { _currentImg = _displayModel.GetBitmapForRender(_postModel.GradientValues, _postModel.GradientModel); } ImageSource = _currentImg; ImageTopContent = null; Application.Current.Dispatcher.Invoke(SetUi); }); }
private async void SaveImage() { if (_currentImg == null) { return; } TopContent = StaticClasses.GetSpinner(); await Task.Run(() => { var filename = GetImageName(_currentLoaderSaverProvider.FlameName); ImageHelper.SaveImage(filename, _currentImg); }); TopContent = null; }
private void ColorPickProviderCallback(ProviderCallbackType callbackType, string message) { switch (callbackType) { case ProviderCallbackType.ShowControl: TopContent = _currentColorPickProvider.ShowControl; return; case ProviderCallbackType.ShowSpinner: TopContent = StaticClasses.GetSpinner(message); return; case ProviderCallbackType.End: TopContent = null; if (!_currentColorPickProvider.Result) { _currentColorPickProvider = null; return; } if (_currentSelectedColorIndex == -1) { SetBackColor(_currentColorPickProvider.ResultColor); } else if (_currentSelectedColorIndex == -2) { var resultColor = _currentColorPickProvider.ResultColor; _postModel.GradientModel.ChangeColor(1, resultColor); _currentColorPickProvider = null; _currentGradientPickProvider = new GradientPickProvider(GradientPickProviderCallback, _postModel.GradientModel); _currentGradientPickProvider.Exec(); } else { SetColor(_currentColorPickProvider.ResultColor); } _currentColorPickProvider = null; ShowRender(); return; default: throw new ArgumentOutOfRangeException(nameof(callbackType), callbackType, null); } }
private void GradientPickProviderCallback(ProviderCallbackType callbackType, string message) { switch (callbackType) { case ProviderCallbackType.ShowControl: TopContent = _currentGradientPickProvider.ShowControl; break; case ProviderCallbackType.ShowSpinner: TopContent = StaticClasses.GetSpinner(message); break; case ProviderCallbackType.End: TopContent = null; if (_currentGradientPickProvider.Result) { switch (_currentGradientPickProvider.GradientMode) { case GradientMode.Edit: _postModel.GradientModel = _currentGradientPickProvider.ResultGradientModel.Copy(); break; case GradientMode.Select: _postModel.GradientValues[_currentSelectedColorIndex] = _currentGradientPickProvider.ResultValue; break; default: throw new ArgumentOutOfRangeException(); } } _currentGradientPickProvider = null; _currentSelectedColorIndex = -1; ShowRender(); break; default: throw new ArgumentOutOfRangeException(nameof(callbackType), callbackType, null); } }