Example #1
0
 private void ViewerClosing(object sender, CancelEventArgs e)
 {
     _renderer.Playing = false;
     DisplayDevice.Default.RestoreResolution();
     _renderer.Dispose();
     _renderer = null;
     SaveViewerSettings();
 }
Example #2
0
 private void SnapShotButtonClick(object sender, EventArgs e)
 {
     if (_replayController.Playing)
     {
         return;
     }
     if (SaveFileDialog1.ShowDialog() == DialogResult.OK)
     {
         using (var bmp = ElmaRenderer.GetSnapShotOfCurrent(_replayController.ZoomCtrl))
         {
             bmp.Save(SaveFileDialog1.FileName, ImageFormat.Png);
         }
     }
 }
Example #3
0
        internal static void BeginArrowScroll(ElmaRenderer renderer)
        {
            if (_scrollInProgress)
            {
                return;
            }
            _scrollInProgress = true;
            var timer = new Stopwatch();

            timer.Start();
            long lastTime = timer.ElapsedMilliseconds;

            while (Keyboard.IsKeyDown(Key.Up) || Keyboard.IsKeyDown(Key.Down) || Keyboard.IsKeyDown(Key.Left) ||
                   Keyboard.IsKeyDown(Key.Right))
            {
                long timeDelta = timer.ElapsedMilliseconds - lastTime;
                if (Keyboard.IsKeyDown(Key.Up))
                {
                    renderer.CenterY += timeDelta / 200.0 * renderer.ZoomLevel;
                }

                if (Keyboard.IsKeyDown(Key.Down))
                {
                    renderer.CenterY -= timeDelta / 200.0 * renderer.ZoomLevel;
                }

                if (Keyboard.IsKeyDown(Key.Right))
                {
                    renderer.CenterX += timeDelta / 200.0 * renderer.ZoomLevel;
                }

                if (Keyboard.IsKeyDown(Key.Left))
                {
                    renderer.CenterX -= timeDelta / 200.0 * renderer.ZoomLevel;
                }

                lastTime = timer.ElapsedMilliseconds;
                renderer.RedrawScene();
                Thread.Sleep(1);
                Application.DoEvents();
            }

            timer.Stop();
            _scrollInProgress = false;
        }
Example #4
0
        private void Initialize()
        {
            MemberInfo[] playListObjectMembers =
                typeof(PlayListObject).GetMembers(BindingFlags.Public | BindingFlags.Instance);
            for (int i = 0; i <= 1; i++)
            {
                PlayList.GetColumn(i).AspectName = playListObjectMembers[i + 4].Name;
            }
            _renderer = new ElmaRenderer(ViewerBox, Global.AppSettings.ReplayViewer.RenderingSettings);
            _renderer.UpdateReplaySettings();
            _renderer.AfterDrawing    = AfterRendering;
            _renderer.CustomRendering = CustomRendering;
            foreach (DisplayResolution resolution in DisplayDevice.Default.AvailableResolutions)
            {
                ResolutionBox.Items.Add(resolution.Width + "x" + resolution.Height + "x" + resolution.BitsPerPixel +
                                        ", " + resolution.RefreshRate + " Hz");
                if (resolution.Equals(DisplayDevice.Default.SelectResolution(1, 1, 1, 1)))
                {
                    ResolutionBox.SelectedIndex = ResolutionBox.Items.Count - 1;
                }
            }

            Size = Global.AppSettings.ReplayViewer.Size;
            playbackSpeedBar.Value         = 0;
            FollowDriverBox.Checked        = Global.AppSettings.ReplayViewer.FollowDriver;
            followAlsoWhenZooming.Checked  = Global.AppSettings.ReplayViewer.FollowAlsoWhenZooming;
            LoopPlayingBox.Checked         = Global.AppSettings.ReplayViewer.LoopPlaying;
            ShowDriverPathBox.Checked      = Global.AppSettings.ReplayViewer.ShowDriverPath;
            MouseClickZoomBox.Text         = Global.AppSettings.ReplayViewer.MouseClickStep.ToString();
            MouseWheelZoomBox.Text         = Global.AppSettings.ReplayViewer.MouseWheelStep.ToString();
            LockedCamBox.Checked           = Global.AppSettings.ReplayViewer.LockedCamera;
            TransparentInactiveBox.Checked = Global.AppSettings.ReplayViewer.DrawTransparentInactive;
            PictBackGroundBox.Checked      = Global.AppSettings.ReplayViewer.PicturesInBackGround;
            PlayerFramesBox.Checked        = Global.AppSettings.ReplayViewer.DrawOnlyPlayerFrames;
            SelectNoPlayersBox.Checked     = Global.AppSettings.ReplayViewer.DontSelectPlayersByDefault;
            HideStartObjectBox.Checked     = Global.AppSettings.ReplayViewer.HideStartObject;
            multiSpyBox.Checked            = Global.AppSettings.ReplayViewer.MultiSpy;
            WindowState = Global.AppSettings.ReplayViewer.WindowState;
            UpdateControlColor(ActivePlayerPanel, Global.AppSettings.ReplayViewer.ActivePlayerColor);
            UpdateControlColor(InActivePlayerPanel, Global.AppSettings.ReplayViewer.InactivePlayerColor);
            SetupEventHandlers();
        }
Example #5
0
 protected ToolBase(LevelEditor editor)
 {
     LevEditor      = editor;
     Renderer       = editor.Renderer;
     _editorControl = editor.EditorControl;
 }