public GesturesForm(GesturesForm gesturesForm, GestureRecognition.Logic.Enums.GestureFormOption option, GestureRecognition.UnistrokeRecognizer.Logic.Enums.RecognizeMode recognizeMethod) { InitializeComponent(); this._gesturesForm = gesturesForm; this._gestureOption = option; this._recognizeMethods = recognizeMethod; this.SquareButton.Visible = false; BuildSkeletonSave.Visible = false; graphics = this.CreateGraphics(); this.DoubleBuffered = true; switch (option) { case GestureRecognition.Logic.Enums.GestureFormOption.Record: { InitRecording(); } break; case GestureRecognition.Logic.Enums.GestureFormOption.Load: { InitLoading(); } break; case GestureRecognition.Logic.Enums.GestureFormOption.Recognize: { InitRecognizing(); } break; case GestureRecognition.Logic.Enums.GestureFormOption.SquareRecognizer: { InitSquareRecognizing(); }break; } }
private void SaveSkeleton_Click(object sender, EventArgs e) { _isDrawing = false; if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.RecordSkeletonBuild) { SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Filter = "Gestures (*.xml)|*.xml"; saveDialog.Title = "Save Gesture As"; saveDialog.AddExtension = true; saveDialog.RestoreDirectory = false; if (saveDialog.ShowDialog(this) == DialogResult.OK) { SaveGesture(saveDialog.FileName, _newGesture.Points); } saveDialog.Dispose(); _gestureOption = GestureRecognition.Logic.Enums.GestureFormOption.None; Invalidate(); } else if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.RecognizeMultiStroke) { Recognize(); } else if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.SquareRecognizer) { RecognizeSquares(); } Invalidate(); _newGesture.Points.Clear(); _squares.Clear(); }
private void GesturesForm_MouseUp(object sender, MouseEventArgs e) { if (_isMoving) { _isMoving = false; _selectedSquareIndex = -1; if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.Record) { BuildSkeletonSave.Visible = true; } else if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.Recognize) { BuildSkeletonSave.Text = "Recognize Skeleton"; BuildSkeletonSave.Visible = true; } } else if (_isDrawing) { _isDrawing = false; if (_newGesture.Points.Count > _mininumPointsValue) { if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.Record) { SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Filter = "Gestures (*.xml)|*.xml"; saveDialog.Title = "Save Gesture As"; saveDialog.AddExtension = true; saveDialog.RestoreDirectory = false; if (saveDialog.ShowDialog(this) == DialogResult.OK) { SaveGesture(saveDialog.FileName, _newGesture.Points); } saveDialog.Dispose(); _gestureOption = GestureRecognition.Logic.Enums.GestureFormOption.None; BuildSkeletonSave.Visible = false ; Invalidate(); } else if (_gestureOption == GestureRecognition.Logic.Enums.GestureFormOption.Recognize) { Recognize(); } else { GestureInfo.Text = "You need more points to draw a gesture (min " + _mininumPointsValue + ")"; } } } }