コード例 #1
0
        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);
            }
        }
コード例 #2
0
 private void ChangeBrightness(ChangeBrightnessMessage msg)
 {
     RunOnUiThread(() => {
         var attributesWindow = new WindowManagerLayoutParams();
         attributesWindow.CopyFrom(Window.Attributes);
         attributesWindow.ScreenBrightness = (float)ChangeBrightnessMessage.Validate(msg.Brightness);
         Window.Attributes = attributesWindow;
     });
 }