コード例 #1
0
        private void Grid_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton != MouseButton.Left || State != LoginAccountState.Normal)
            {
                return;
            }

            var anim = new ThicknessAnimation(new Thickness(8, 8, 8, 5), ButtonDuration);

            MainBorder.BeginAnimation(BorderThicknessProperty, anim);
        }
コード例 #2
0
        private void Normal_Elapsed(object sender, EventArgs e)
        {
            string fileName = $"{_pathTemp}{FrameCount}.png";

            var render = MainBorder.GetRender(_dpi); //TODO: Too heavy!

            ListFrames.Add(new FrameInfo(fileName, FrameRate.GetMilliseconds(_snapDelay)));

            ThreadPool.QueueUserWorkItem(delegate { AddFrames(fileName, render); });

            FrameCount++;
        }
コード例 #3
0
        private void Grid_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton != MouseButton.Left || state != LoginAccountState.Normal)
            {
                return;
            }

            Click?.Invoke(this, e);

            var anim = new ThicknessAnimation(new Thickness(5), ButtonDuration);

            MainBorder.BeginAnimation(BorderThicknessProperty, anim);
        }
コード例 #4
0
        private void Normal_Elapsed(object sender, EventArgs e)
        {
            string fileName = $"{Project.FullPath}{FrameCount}.png";

            //TODO: GetRender fails to create useful image when the control has decimals values as size.

            var render = MainBorder.GetRender(_dpi); //TODO: Too heavy! Maybe just save the strokes? like layers?

            Project.Frames.Add(new FrameInfo(fileName, FrameRate.GetMilliseconds(_snapDelay)));

            ThreadPool.QueueUserWorkItem(delegate { AddFrames(fileName, render); });

            FrameCount++;
        }
コード例 #5
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            #region Center the main UI

            var screen = Monitor.AllMonitors.FirstOrDefault(x => x.Bounds.Contains(Mouse.GetPosition(this))) ??
                         Monitor.AllMonitors.FirstOrDefault(x => x.IsPrimary);

            if (screen != null)
            {
                MainBorder.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
                MainBorder.Arrange(new Rect(MainBorder.DesiredSize));

                Canvas.SetLeft(MainBorder, (screen.WorkingArea.Left + screen.WorkingArea.Width / 2) - (MainBorder.ActualWidth / 2));
                Canvas.SetTop(MainBorder, screen.WorkingArea.Top + screen.WorkingArea.Height / 2 - MainBorder.ActualHeight / 2);
            }

            #endregion
        }
コード例 #6
0
 public void Unfocus()
 {
     MainBorder.Focus();
 }