public override void SetPreset(Preset preset) { if (preset == null) { throw new ArgumentNullException(); } }
public override void SetPreset(Preset preset) { if (preset == null) { throw new ArgumentNullException(); } outputWindow.PrepareCanvas(preset); active = true; }
/// <summary> /// Copy constructor /// </summary> /// <param name="original">Another preset to copy</param> public Preset(Preset original) { m_Name = original.Name; m_Trigger = original.Trigger; m_Compensation = new Helpers.HexColor(original.Compensation.HexValue); m_MaxRed = original.MaxRed; m_MaxGreen = original.MaxGreen; m_MaxBlue = original.MaxBlue; m_MinColor = new Helpers.HexColor(original.MinColor.HexValue); m_DarkEnhanceDuration = original.DarkEnhanceDuration; m_MaxColor = new Helpers.HexColor(original.MaxColor.HexValue); m_FlashEnhanceDuration = original.FlashEnhanceDuration; m_MonotoneEnhance = original.MonotoneEnhance; m_Framerate = original.Framerate; m_AveragingParam = original.AveragingParam; m_Sectors = original.Sectors; // TODO: make sure they are taken by value m_VerticalSectors = original.VerticalSectors; m_TopSectors = original.TopSectors; m_BottomSectors = original.BottomSectors; m_VerticalSectorWidth = original.VerticalSectorWidth; m_HorizontalSectorHeight = original.HorizontalSectorHeight; }
public void PrepareCanvas(Preset newPreset) { if (this.Dispatcher.CheckAccess()) { // Update the preset preset = new Preset(newPreset); rectangles = new List<Rectangle>(Config.numberOfLeds); for (int i = 0; i < Config.numberOfLeds; i++) { Rectangle r = new Rectangle(); rectangles.Add(r); } setRectangleSizes(); } else { this.Dispatcher.Invoke(new Action(() => PrepareCanvas(newPreset))); } }
public void updateSectorGui(Preset selectedPreset) { const double canvasWidth = 450; const double canvasHeight = 170; double ratio = Math.Min(canvasWidth / screenWidth, canvasHeight / screenHeight); if (ratio == 0) return; SectorPreview.Children.Clear(); Rectangle frame = new Rectangle(); frame.Width = screenWidth * ratio; frame.Height = screenHeight * ratio; if (2 * selectedPreset.VerticalSectors + selectedPreset.TopSectors + selectedPreset.BottomSectors != Config.numberOfLeds) { frame.Fill = new SolidColorBrush(Color.FromRgb(200, 50, 50)); } else { frame.Fill = new SolidColorBrush(Color.FromRgb(100, 100, 100)); } SectorPreview.Children.Add(frame); Canvas.SetTop(frame, 0); Canvas.SetLeft(frame, 0); for (int i = 0; i < Config.numberOfLeds; i++) { Rectangle r = new Rectangle(); r.Width = (selectedPreset.Sectors[i].Right - selectedPreset.Sectors[i].Left) * ratio; r.Height = (selectedPreset.Sectors[i].Bottom - selectedPreset.Sectors[i].Top) * ratio; r.Fill = new SolidColorBrush(Color.FromRgb(20, (byte)(i * 10), 50)); SectorPreview.Children.Add(r); Canvas.SetTop(r, selectedPreset.Sectors[i].Top * ratio); Canvas.SetLeft(r, selectedPreset.Sectors[i].Left * ratio); } }
public void ApplyPreset(Preset preset, AvailableDrivers driver) { Debug.WriteLine("ApplyPreset " + preset + ", " + driver.ToString()); // Save us from working if it is not needed now _paused = (driver == AvailableDrivers.Off); _queuedPreset = new Preset(preset); _needToApplyPreset = true; _relay.Connect(driver); // If this is the first time applying the preset, it is safe to execute this if (!_canStart || manualMode) { SafeApplyQueuedPreset(); } }
public abstract void SetPreset(Preset preset);
private void initializePresets() { // TODO: this should go into appropriate function _presets = this.Resources["model"] as PresetModel; if (_presets == null) { throw new NullReferenceException("Could not connect to the preset model"); } var loadedPresets = Preset.LoadPresets(); foreach (var loadedPreset in loadedPresets) { _presets.Presets.Add(loadedPreset); } // IF nothing was loaded, show defaults if (_presets.Presets.Count == 0) { Preset p1 = new Preset(); Preset p2 = new Preset(); // Make p1 a high performance preset p1.Name = "Low footprint"; p1.Framerate = 4; p1.AveragingParam = 3; // P2 should have appropriate names p2.Name = "High framerate"; p1.PropertyChanged += PresetPropertyChanged; p2.PropertyChanged += PresetPropertyChanged; _presets.Presets.Add(p1); // For now _presets.Presets.Add(p2); // For now p1.Save(); p2.Save(); } }
internal void ExecutePresetAction(string action) { Preset selectedPreset = presetList.SelectedItem as Preset; if (selectedPreset == null) { throw new InvalidOperationException("Unable to apply preset: Selected preset is invalid"); } if (action == "Save") { selectedPreset.Save(); } else if (action == "Duplicate") { Preset newPreset = new Preset(selectedPreset); newPreset.Name += " copy"; newPreset.Save(); _presets.Presets.Add(newPreset); } else if (action == "Remove") { _presets.Presets.Remove(selectedPreset); selectedPreset.Remove(); } }
// TODO: this should NOT be in GUI! Perhaps Preset would be a better place. public void updateSectors(Preset selectedPreset) { int i; int currentSector = 0; int verticalSectorHeight = screenHeight / selectedPreset.VerticalSectors; int topSectorWidth = (screenWidth - 2 * selectedPreset.VerticalSectorWidth) / selectedPreset.TopSectors; int bottomSectorWidth = ((int)(0.8 * screenWidth) - 2 * selectedPreset.VerticalSectorWidth) / selectedPreset.BottomSectors; int bottomSectorGap = (int) (0.1*screenWidth); if (2*selectedPreset.VerticalSectors + selectedPreset.TopSectors + selectedPreset.BottomSectors != Config.numberOfLeds) { return; } // Bottom edge, right side for (i = selectedPreset.BottomSectors / 2; i < selectedPreset.BottomSectors; i++) { selectedPreset.Sectors[currentSector] = new ScreenshotLogicCPP.Sector(2 * bottomSectorGap + selectedPreset.VerticalSectorWidth + i * bottomSectorWidth, screenHeight - selectedPreset.HorizontalSectorHeight, bottomSectorWidth, selectedPreset.HorizontalSectorHeight, currentSector); currentSector++; } // Right edge for (i = 0; i < selectedPreset.VerticalSectors; i++) { selectedPreset.Sectors[currentSector] = new ScreenshotLogicCPP.Sector(screenWidth - selectedPreset.VerticalSectorWidth, screenHeight - (i + 1) * verticalSectorHeight, selectedPreset.VerticalSectorWidth, verticalSectorHeight, currentSector); currentSector++; } // Top edge for (i = 0; i < selectedPreset.TopSectors; i++) { selectedPreset.Sectors[currentSector] = new ScreenshotLogicCPP.Sector(screenWidth - selectedPreset.VerticalSectorWidth - (i + 1) * topSectorWidth, 0, topSectorWidth, selectedPreset.HorizontalSectorHeight, currentSector); currentSector++; } // Left edge for (i = 0; i < selectedPreset.VerticalSectors; i++) { selectedPreset.Sectors[currentSector] = new ScreenshotLogicCPP.Sector(0, i * verticalSectorHeight, selectedPreset.VerticalSectorWidth, verticalSectorHeight, currentSector); currentSector++; } // Bottom edge, left side for (i = 0; i < selectedPreset.BottomSectors / 2; i++) { selectedPreset.Sectors[currentSector] = new ScreenshotLogicCPP.Sector(selectedPreset.VerticalSectorWidth + i * bottomSectorWidth, screenHeight - selectedPreset.HorizontalSectorHeight, bottomSectorWidth, selectedPreset.HorizontalSectorHeight, currentSector); currentSector++; } }
public void SetPreset(Preset p) { if (_dd == null) return; _dd.SetPreset(p); }
public override void SetPreset(Preset preset) { return; }