/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Menu_Mouse_Down(object sender, RoutedEventArgs e) { FrameworkElement feSource = e.Source as FrameworkElement; switch (feSource.Name) { case "Connect": if(!init) Init_Connect_Window(); else { portWindow.Visibility = Visibility.Visible; } break; case "Bluetooth": BluetoothWindow b_w = new BluetoothWindow(this); b_w.Show(); break; case "Draw": if (tetris != null) { tetris.Stop_Tetris(); } if (video != null) video.RunVideo = false; if (webcam != null) webcam.closeWebcam(); runningTask = RunningTask.Draw; drawAccept = true; draw = new Draw(drawlayer,monitorImg,monitor); ex_eff = draw.Draw_execute; draw.setColor = Color.FromArgb(255, 0, 0, 255); draw.setDrawtype = Drawtype.rectangle; Binding ColorBinding = new Binding("setColor"); ColorBinding.Source = draw; ColorBinding.Mode = BindingMode.TwoWay; DrawingColorPicker.SetBinding(Xceed.Wpf.Toolkit.ColorCanvas.SelectedColorProperty, ColorBinding); break; case "Effects": if (tetris != null) { tetris.Stop_Tetris(); } if (video != null) video.RunVideo = false; if (webcam != null) webcam.closeWebcam(); runningTask = RunningTask.Effect; drawAccept = false; ex_eff = plasma.Plasma_execute; monitorTimer.IsEnabled = true; break; case "Images": if (tetris != null) { tetris.Stop_Tetris(); monitor = BitmapFactory.New(68, 42); monitorImg.Source = monitor; } if (webcam != null) webcam.closeWebcam(); if (video != null) video.RunVideo = false; drawAccept = false; monitorImg.Source = monitor; runningTask = RunningTask.Image; ip = new ImagePixelate(monitor); ex_eff = ip.execute; break; case "Video": if (tetris != null) { tetris.Stop_Tetris(); monitorImg.Source = monitor; } if (webcam != null) webcam.closeWebcam(); runningTask = RunningTask.Video; CentralMonitor.IsEnabled = false; drawAccept = false; video = new Video(monitor); ex_eff = video.video_execute; video.RunVideo = true; break; case "Tetris": if (webcam != null) webcam.closeWebcam(); if (video != null) video.RunVideo = false; runningTask = RunningTask.Tetris; drawAccept = false; if (tetris == null) { tetris = new TetrisExecute(monitor, monitorTimer, AuroraWindow); ex_eff = tetris.tetris_exe; } else { tetris.Stop_Tetris(); tetris = new TetrisExecute(monitor, monitorTimer, AuroraWindow); ex_eff = tetris.tetris_exe; } break; case "Webcam": runningTask = RunningTask.Webcam; CentralMonitor.IsEnabled = false; drawAccept = false; if (tetris != null) tetris.Stop_Tetris(); if (webcam == null) { webcam = new Webcam(monitor); } if (video != null) video.RunVideo = false; webcam.resumeWebcam(monitor); ex_eff = webcam.Webcam_execute; break; } SetUserControls(); }
private void Bluetooth_Command_Listener(object sender, PropertyChangeArgs command) { try { int Mode = -1; string comm = command.mesg; System.Diagnostics.Debug.WriteLine("Command wurde übergeben: " + comm); switch (comm) { case "Paint": //Paint { Mode = 0; Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (ThreadStart)delegate { if (tetris != null) { tetris.Stop_Tetris(); monitor = BitmapFactory.New(68, 42); monitorImg.Source = monitor; } runningTask = RunningTask.Draw; drawAccept = true; if (video != null) video.RunVideo = false; if (webcam != null) webcam.closeWebcam(); try { draw = new Draw(drawlayer, monitorImg, monitor); } catch (Exception exc) { } ex_eff = draw.Draw_execute; draw.setColor = Color.FromArgb(0, 200, 0, 255); draw.setDrawtype = Drawtype.point; Binding ColorBinding = new Binding("setColor"); ColorBinding.Source = draw; ColorBinding.Mode = BindingMode.TwoWay; DrawingColorPicker.SetBinding(Xceed.Wpf.Toolkit.ColorCanvas.SelectedColorProperty, ColorBinding); SetUserControls(); //object GlassOfSugar = new Object(); //Slider slider = new Slider(); //Binding AmountBinding = new Binding("Amount"); ////AmountBinding.Source = GlassOfSugar; ////AmountBinding.Mode = BindingMode.TwoWay; //slider.SetBinding(Slider.ValueProperty, AmountBinding); }); break; } case "Fotobearbeitung": //Pixelated Picture { Mode = 1; Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (ThreadStart)delegate { if (tetris != null) { tetris.Stop_Tetris(); monitor = BitmapFactory.New(68, 42); monitorImg.Source = monitor; } runningTask = RunningTask.Draw; drawAccept = true; if (video != null) video.RunVideo = false; if (webcam != null) webcam.closeWebcam(); try { draw = new Draw(drawlayer, monitorImg, monitor); } catch (Exception exc) { } ex_eff = draw.Draw_execute; draw.setColor = Color.FromArgb(0, 200, 0, 255); draw.setDrawtype = Drawtype.point; Binding ColorBinding = new Binding("setColor"); ColorBinding.Source = draw; ColorBinding.Mode = BindingMode.TwoWay; DrawingColorPicker.SetBinding(Xceed.Wpf.Toolkit.ColorCanvas.SelectedColorProperty, ColorBinding); SetUserControls(); //object GlassOfSugar = new Object(); //Slider slider = new Slider(); //Binding AmountBinding = new Binding("Amount"); //AmountBinding.Source = GlassOfSugar; //AmountBinding.Mode = BindingMode.TwoWay; //slider.SetBinding(Slider.ValueProperty, AmountBinding); }); break; } case "Tetris": //Tetris { Mode = 2; Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, (ThreadStart)delegate { if (webcam != null) webcam.closeWebcam(); runningTask = RunningTask.Tetris; drawAccept = false; //Versuchsweise eingebaut -> dt_m.Tick ist fehlerquelle -.- -> sollte eigentlich nicht sein //dt_m.IsEnabled = false; if (tetris == null) { monitor = BitmapFactory.New(68, 42); monitorImg.Source = monitor; tetris = new TetrisExecute(monitor, monitorTimer, AuroraWindow); ex_eff = tetris.tetris_exe; Binding ScoreBinding = new Binding("Score"); ScoreBinding.Mode = BindingMode.OneWay; ScoreBinding.Source = tetris.t; Points.SetBinding(Label.ContentProperty, ScoreBinding); Binding LevelBinding = new Binding("Level"); LevelBinding.Mode = BindingMode.OneWay; LevelBinding.Source = tetris.t; Level.SetBinding(Label.ContentProperty, LevelBinding); } else { tetris.Stop_Tetris(); tetris = new TetrisExecute(monitor, monitorTimer, AuroraWindow); ex_eff = tetris.tetris_exe; Binding ScoreBinding = new Binding("Score"); ScoreBinding.Mode = BindingMode.TwoWay; ScoreBinding.Source = tetris.t; Points.SetBinding(Label.ContentProperty, ScoreBinding); } SetUserControls(); }); break; } default: { //hier wäre normalerweise ein switch(mode) -> unnötig? break; } } } catch (Exception exc) { } }