private void Messages_OnPanEvent(object sender, PanEvent e) { if (UserSettings.Control.BrightnessChange == BrightnessChange.None) { return; } var totalWidth = (int)WebView.Width; var edge = totalWidth / 5; if ((UserSettings.Control.BrightnessChange != BrightnessChange.Left || e.StartX > edge) && (UserSettings.Control.BrightnessChange != BrightnessChange.Right || e.StartX < totalWidth - edge)) { return; } var brightness = UserSettings.Reader.Brightness - e.DiffY / WebView.Height; Debug.WriteLine(UserSettings.Reader.Brightness + ", " + e.DiffY + ", " + WebView.Height + ", " + (e.DiffY / WebView.Height) + ", " + brightness); brightness = ChangeBrightnessMessage.Validate(brightness); _messageBus.Send(new ChangeBrightnessMessage(brightness)); if (e.IsFinal) { UserSettings.Reader.Brightness = brightness; Debug.WriteLine("Saved brightness: " + UserSettings.Reader.Brightness); } }
private void ChangeBrightness(ChangeBrightnessMessage msg) { RunOnUiThread(() => { var attributesWindow = new WindowManagerLayoutParams(); attributesWindow.CopyFrom(Window.Attributes); attributesWindow.ScreenBrightness = (float)ChangeBrightnessMessage.Validate(msg.Brightness); Window.Attributes = attributesWindow; }); }