コード例 #1
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (msg == 0x007e) // WM_DISPLAYCHANGE
            {
                DisplayChanged?.Invoke();
            }

            return(IntPtr.Zero);
        }
コード例 #2
0
        /// <summary>
        /// Starts observing display information for changes.
        /// </summary>
        /// <remarks>
        /// Display events will be never invoked before calling this method.
        /// </remarks>
        public void StartListening()
        {
            Display.StateChanged +=
                (s, e) =>
            {
                DisplayChanged?.Invoke(s, new DisplayStateEventArgs(EnumMapper.DisplayStateMapper(e.State)));
            };

            SystemSettings.ScreenBacklightTimeChanged +=
                (s, e) =>
            {
                ScreenBacklightTimeChanged?.Invoke(s,
                                                   new SystemInfo.Model.Display.ScreenBacklightTimeChangedEventArgs(e.Value));
            };
        }
コード例 #3
0
ファイル: Lcd44780.cs プロジェクト: svpetry/Mini8086
        private void ProcessData(byte data)
        {
            if (CursorCol < 16)
            {
                var chars = Lines[CursorRow].ToCharArray();
                chars[CursorCol] = (char)data;
                Lines[CursorRow] = new String(chars);

                if (_cursorDir == CursorDir.Right)
                {
                    CursorCol++;
                }
                else if (CursorCol > 0)
                {
                    CursorCol--;
                }

                DisplayChanged?.Invoke();
            }
        }
コード例 #4
0
 private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
 {
     logger.Info("Display change detected!");
     Task.Run(() => DisplayChanged?.Invoke());
 }
コード例 #5
0
ファイル: WindowBackend.cs プロジェクト: ms2mml/osu-framework
 protected virtual void OnDisplayChanged(Display display) => DisplayChanged?.Invoke(display);