private void FrameSignaled() { if (!cameraConnected) { return; } UpdateStats(); if (PreferencesManager.CapturePreferences.UseCameraSignalSynchronization) { GrabFrame(); viewportController.Refresh(); } }
public formConfigureTrajectoryDisplay(DrawingTrack track, Metadata metadata, Bitmap image, long timestamp, Action invalidate) { InitializeComponent(); this.track = track; memoStatus = track.Status; track.Status = TrackStatus.Configuration; track.TrackerParametersChanged += new EventHandler(track_TrackParametersChanged); this.invalidate = invalidate; this.timestamp = timestamp; pnlViewport.Controls.Add(viewportController.View); viewportController.View.Dock = DockStyle.Fill; viewportController.Bitmap = image; viewportController.Timestamp = timestamp; InitializeDisplayRectangle(image.Size, timestamp); metadataRenderer = new MetadataRenderer(metadata); metadataManipulator = new MetadataManipulator(metadata, screenToolManager); metadataManipulator.SetFixedTimestamp(timestamp); metadataManipulator.SetFixedKeyframe(-1); viewportController.MetadataRenderer = metadataRenderer; viewportController.MetadataManipulator = metadataManipulator; viewportController.Refresh(); track.DrawingStyle.ReadValue(); // Save the current state in case of cancel. track.MemorizeState(); track.DrawingStyle.Memorize(); InitViewCombo(); InitMarkerCombo(); InitExtraDataCombo(); chkBestFitCircle.Checked = track.DisplayBestFitCircle; InitTrackParameters(); SetupStyleControls(); SetCurrentOptions(); InitCulture(); interactionTimer.Interval = 15; interactionTimer.Tick += InteractionTimer_Tick; interactionTimer.Start(); }