示例#1
0
        /// <summary>
        /// this method computes the offset created by the translation of the slider and replays or keeps paused the stream/avatar
        /// </summary>
        /// <author> Alban Descottes 2018 </author>
        private void Slider_DragCompleted(object sender, DragCompletedEventArgs e)
        {
            ReplayAvatar.offset        += ReplayViewModel.localOffset;
            ReplayViewModel.localOffset = 0;
            if (Stream.IsChecked == true)
            {
                if (isPlayed)
                {
                    DrawingSheetView.Get().ReplayVideo.Play();
                }
                DrawingSheetView.Get().ReplayVideo.Position = new TimeSpan(0, 0, 0, 0, (int)Tools.getStopWatch() - ReplayAvatar.offset);
            }

            if (isPlayed)
            {
                if (DrawingSheetView.Get().ReplayAudio.Source != null)
                {
                    DrawingSheetView.Get().ReplayAudio.Position = new TimeSpan(0, 0, 0, 0, (int)Tools.getStopWatch() - ReplayAvatar.offset);
                    DrawingSheetView.Get().ReplayAudio.Play();
                }
                ReplayViewModel.PlayReplay();
                isPlayed = false;
            }
            this.dragStarted = false;
        }
示例#2
0
 public static DrawingSheetView Get()
 {
     if (instance == null)
     {
         instance = new DrawingSheetView();
     }
     return(instance);
 }
示例#3
0
 /// <summary>
 /// When the user strats to drag the slider the avatar/stream is paused
 /// </summary>
 /// <author> Alban Descottes 2018 </author>
 private void Slider_DragStarted(object sender, DragStartedEventArgs e)
 {
     this.dragStarted         = true;
     ReplayViewModel.initTime = ReplayAvatar.SkeletonList[ReplayAvatar.CurrentSkeletonNumber].Item1;
     if (Stream.IsChecked == true)
     {
         DrawingSheetView.Get().ReplayVideo.Pause();
         DrawingSheetView.Get().ReplayAudio.Pause();
     }
     if (ReplayViewModel.played)
     {
         isPlayed = true;
         ReplayViewModel.PauseReplay();
     }
 }
示例#4
0
        public DrawingSheetView()
        {
            InitializeComponent();
            initializeGLControl();

            DrawingSheetStreamViewModel.Get(this);
            DrawingSheetAvatarViewModel.Get(this);
            sheet            = DrawingSheetAvatarViewModel.Get(this);
            this.DataContext = sheet;
            MyImage.Source   = sheet.getImage();
            this.mode        = SheetMode.AvatarMode;
            ChangeMode(SheetMode.StreamMode);
            ChangeMode(SheetMode.AvatarMode);
            instance = this;
        }