private void ViewerClosing(object sender, CancelEventArgs e) { _renderer.Playing = false; DisplayDevice.Default.RestoreResolution(); _renderer.Dispose(); _renderer = null; SaveViewerSettings(); }
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); } } }
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; }
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(); }
protected ToolBase(LevelEditor editor) { LevEditor = editor; Renderer = editor.Renderer; _editorControl = editor.EditorControl; }