private void SetAutoBrightness(int Mode) { TimeSpan CurrentTime = DateTime.UtcNow.TimeOfDay; TimeSpan TrimmedCurrentTime = new TimeSpan(CurrentTime.Hours, CurrentTime.Minutes, 0); SunrisetTools RisetTools = new SunrisetTools(AutoBrightnessSettings.GetLat(), AutoBrightnessSettings.GetLon()); foreach (MONITOR mon in MonitorList) { if (TimeSpan.Compare(TrimmedCurrentTime, RisetTools.GetTodaySunrise()) == Mode) { try { DisplayConfiguration.SetMonitorBrightness(mon.Handle, AutoBrightnessSettings.GetSunriseBrightness(), mon.Min, mon.Max); } catch { } } else if (TimeSpan.Compare(TrimmedCurrentTime, RisetTools.GetTodaySunset()) == Mode) { try { DisplayConfiguration.SetMonitorBrightness(mon.Handle, AutoBrightnessSettings.GetSunsetBrightness(), mon.Min, mon.Max); } catch { } } else if (TimeSpan.Compare(TrimmedCurrentTime, RisetTools.GetTodayDawn()) == Mode) { try { DisplayConfiguration.SetMonitorBrightness(mon.Handle, AutoBrightnessSettings.GetAstroSunriseBrightness(), mon.Min, mon.Max); } catch { } } else if (TimeSpan.Compare(TrimmedCurrentTime, RisetTools.GetTodayDusk()) == Mode) { try { DisplayConfiguration.SetMonitorBrightness(mon.Handle, AutoBrightnessSettings.GetAstroSunsetBrightness(), mon.Min, mon.Max); } catch { } } } }
private void BrightnessHotkeyEvent(bool IsUp) { (FindResource("hideMe") as Storyboard).Begin(this); IniData data = SettingsController.GetCurrentSettings(); int StepSize = 5; if (int.TryParse(data["Hotkeys"]["StepSize"], out int StepSizeValue)) { StepSize = StepSizeValue; } try { double StepDouble = (double)StepSize / 100; DisplayConfiguration.PHYSICAL_MONITOR Handle = DisplayConfiguration.GetPhysicalMonitors(DisplayConfiguration.GetCurrentMonitor())[0]; /*Task.Run(() => { try { DisplayConfiguration.SetBrightnessOffset(Handle, IsUp ? StepDouble : -StepDouble); } catch { } });*/ if (HotkeyPopupWindow.IsVisible) { int HotkeyPopupBrightness = int.Parse(HotkeyPopupWindow.PercentText.Text); int NewBrightness = HotkeyPopupBrightness + (IsUp ? StepSize : -StepSize); if (NewBrightness > 100) { NewBrightness = 100; } else if (NewBrightness < 0) { NewBrightness = 0; } Task.Run(() => { try { DisplayConfiguration.SetMonitorBrightness(Handle, (double)NewBrightness / 100, HotkeyPopupWindow.dwMinimumBrightness, HotkeyPopupWindow.dwMaximumBrightness); } catch { } }); HotkeyPopupWindow.PercentText.Text = NewBrightness.ToString(); HotkeyPopupWindow.ShowMe(data["Misc"]["HotkeyPopupPosition"]); } else { DisplayConfiguration.MonitorExtremums MonExtems = DisplayConfiguration.GetMonitorExtremums(Handle); double CurrentBrightness = (double)(MonExtems.Current - MonExtems.Min) / (double)(MonExtems.Max - MonExtems.Min); Task.Run(() => { try { DisplayConfiguration.SetBrightnessOffset(Handle, IsUp ? StepDouble : -StepDouble, CurrentBrightness, MonExtems.Min, MonExtems.Max); } catch { } }); HotkeyPopupWindow.dwMinimumBrightness = MonExtems.Min; HotkeyPopupWindow.dwMaximumBrightness = MonExtems.Max; HotkeyPopupWindow.dwCurrentBrightness = MonExtems.Current; HotkeyPopupWindow.PercentText.Text = ((CurrentBrightness * 100) + (IsUp ? StepSize : -StepSize)).ToString(); HotkeyPopupWindow.ShowMe(data["Misc"]["HotkeyPopupPosition"]); } } catch { } }
private void Slider_Brightness_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { PercentText.Text = Convert.ToInt32(((Slider)sender).Value).ToString(); debounceTimer.Throttle(15, (p) => { try { DisplayConfiguration.PHYSICAL_MONITOR Handle = CurrentMonitor.Handle; uint Min = CurrentMonitor.Min; uint Max = CurrentMonitor.Max; double Value = ((Slider)sender).Value / 100; Task.Run(() => DisplayConfiguration.SetMonitorBrightness(Handle, Value, Min, Max)); } catch { } }); }