Example #1
0
        private void AddBookmark(string text, TextRenderData first, TextRenderData last, Color color)
        {
            BookmarkModel bookmark = _bookmarkRepository.AddBookmark(
                ViewModel.BookId,
                PageCanvas.Bookmarks,
                text,
                ColorHelper.ToInt32(color),
                first.TokenID,
                last.TokenID);

            var previousPageWord = PageCanvas.PreviousTexts.LastOrDefault() ?? new TextRenderData();

            if (first.TokenID == previousPageWord.TokenID)
            {
                PageCanvas.Highlight(PageCanvas.GetPrevPagePanel(), previousPageWord.Rect, previousPageWord.Rect, bookmark, color);
            }

            var nextPageWord = PageCanvas.NextTexts.FirstOrDefault() ?? new TextRenderData();

            if (last.TokenID == nextPageWord.TokenID)
            {
                PageCanvas.Highlight(PageCanvas.GetNextPagePanel(), nextPageWord.Rect, nextPageWord.Rect, bookmark, color);
            }

            PageCanvas.Highlight(PageCanvas.GetCurrentPagePanel(), first.Rect, last.Rect, bookmark, color);
        }
        public PageViewModel(Canvas page)
        {
            Point dimensions = ViewModelLocator.Instance.Main.CurrentPageLayout.PageDimensions.GetPageDimensionsInPx();

            PageWidth       = dimensions.X;
            PageHeight      = dimensions.Y;
            page.Background = Brushes.WhiteSmoke;
            PageCanvas.Add(page);
        }
Example #3
0
        private void OnTextTap(object sender, PointManipulationEventArgs e)
        {
            if (PageCanvas.CheckSelection(GetTapPoint(e.ManipulationOrigin)))
            {
                return;
            }

            ClearTextSelection();
        }
Example #4
0
        private void ClearTextSelection()
        {
            TouchPanel.EnabledGestures = GestureType.None;
            PageCanvas.ClearSelection();
            ManipulationService.SetManipulationListener(PageCanvas, _pageManipulationListener);
            PageCanvas.Manipulator.Resume();

            AppBar.Visibility = Visibility.Visible;
        }
Example #5
0
        private async void ReadPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
        {
            PageCanvas.SetSize(ActualWidth, ActualHeight, ActualWidth, ActualHeight - AppBar.HeightInMinimizedState);
            PageCanvas.Clear();

            UpdateTrayVisibility();

            Redraw();
        }
        public PageViewModel(ScorePartwiseMusicXML scorePartwise, int index)
        {
            pageIndex = index;
            newPage   = new PageDrawingSystem(scorePartwise, pageIndex);
            Point dimensions = ViewModelLocator.Instance.Main.CurrentPageLayout.PageDimensions.GetPageDimensionsInPx();

            PageWidth  = dimensions.X;
            PageHeight = dimensions.Y;
            PageCanvas.Add(newPage.PageCanvas);
        }
Example #7
0
 private void InitTextSelection(TextRenderData word, TextRenderData wordContinuation)
 {
     AppBar.Close();
     PageCanvas.Manipulator.Pause();
     PageCanvas.SetSelection(word, wordContinuation);
     ManipulationService.SetManipulationListener(PageCanvas, _textManipulationListener);
     TouchPanel.EnabledGestures = GestureType.FreeDrag;
     AppBar.Visibility          = Visibility.Collapsed;
     PageCanvas.ShowActionButtons();
 }
Example #8
0
        private void OnTextManipulatonDelta(object sender, ManipulationDeltaEventArgs e)
        {
            Vector2 vector2 = new Vector2();

            while (TouchPanel.IsGestureAvailable)
            {
                vector2 = TouchPanel.ReadGesture().Position;
            }
            if (Orientation == PageOrientation.LandscapeLeft)
            {
                vector2 = new Vector2(vector2.Y, 480f - vector2.X);
            }
            else if (Orientation == PageOrientation.LandscapeRight)
            {
                vector2 = new Vector2((float)ActualWidth - vector2.Y, vector2.X);
            }
            if (!this._textManipulationStarted)
            {
                return;
            }
            var            point = new Point(vector2.X - _offsetX, vector2.Y - _offsetY);
            TextRenderData a     = PageCanvas.CurrentTexts.FirstOrDefault(l => l.Rect.Contains(point));

            if (a == null)
            {
                return;
            }

            if (a.TokenID < _lastWord.TokenID)
            {
                a = PageCanvas.CurrentTexts.FirstOrDefault(l => l.TokenID == a.TokenID);
            }
            else
            {
                a = PageCanvas.CurrentTexts.LastOrDefault(l => l.TokenID == a.TokenID);
            }


            PageCanvas.SetSelection(a, _lastWord);

            Debug.WriteLine(_lastWord.Text);
        }
        public PageViewModel(ScoreLayout.AbstractScorePage page)
        {
            AdvancedPageViewContent = new AdvancedPageViewModel("asd");
            TestCommand             = new RelayCommand(OnTestCommand);
            PageWidth  = page.Width;
            PageHeight = page.Height;
            scorePage  = page;
            var sPage = page as ScoreLayout.StandardScorePage;

            if (sPage != null)
            {
                sPage.AddListener(ScorePagePropertyChanged);
            }
            var canvas = page.GetContent() as Canvas;

            if (canvas != null)
            {
                canvas.Background = Brushes.WhiteSmoke;
            }
            PageCanvas.Add(canvas);
        }
Example #10
0
 public virtual void SetUpCanvas()
 {
     canvas = new PageCanvas(game, this.GetType().Name);
     canvas.Initialize();
 }
 private void AddPartSegment()
 {
     PageCanvas.Add(page);
 }
Example #12
0
 public Page()
 {
     pageCanvas = new PageCanvas();
 }
Example #13
0
 public Page(Size pageSize)
 {
     pageCanvas = new PageCanvas();
     SetPageSize(pageSize);
 }
Example #14
0
 private void OnTextManipulatonCompeted(object sender, ManipulationCompletedEventArgs e)
 {
     _textManipulationStarted = false;
     PageCanvas.ShowActionButtons();
 }
Example #15
0
        public async void Redraw()
        {
            if (!_isLoaded)
            {
                return;
            }

            using (await BusyOverlay.Create())
            {
                await _event.WaitAsync();

                _pageManipulationListener = InitializePageManipulationListener();
                _textManipulationListener = InitializeTextManipulationListener();
                ManipulationService.SetManipulationListener(PageCanvas, _pageManipulationListener);

                SystemTray.IsVisible = true;
                SystemTray.SetForegroundColor(this, AppSettings.Default.ColorScheme.SystemTrayForegroundColor);

                Background = AppSettings.Default.ColorScheme.BackgroundBrush;

                SupportedOrientations = AppSettings.Default.Orientation;

                PageCanvas.Clear();
                PageCanvas.SetSize(ActualWidth, ActualHeight, ActualWidth, ActualHeight - AppBar.HeightInMinimizedState);

                PageCanvas.AddBookmark -= AddBookmark;
                PageCanvas.AddBookmark += AddBookmark;

                PageCanvas.Translate -= Translate;
                PageCanvas.Translate += Translate;

                PageCanvas.Copy -= Copy;
                PageCanvas.Copy += Copy;

                PageCanvas.Share -= ShareText;
                PageCanvas.Share += ShareText;

                PageCanvas.Manipulator = new ManipulatorFactory(PageCanvas).CreateManipulator(AppSettings.Default.FlippingStyle, AppSettings.Default.FlippingMode);

                AppBar.Visibility = Visibility.Visible;
                AppBar.ApplicationBarMinimizedStateView = AppSettings.Default.HideMenu
                    ? ApplicationBarMinimizedState.Hidden
                    : ApplicationBarMinimizedState.Minimized;
                AppBar.Background            = AppSettings.Default.ColorScheme.ApplicationBarBackgroundBrush;
                AppBar.SliderForegroundBrush = AppSettings.Default.ColorScheme.ProgressBarBrush;

                AppBar.PageSelected           -= AppBar_PageSelected;
                AppBar.PageSelected           += AppBar_PageSelected;
                AppBar.PageSelectionCancelled -= AppBarOnPageSelectionCancelled;
                AppBar.PageSelectionCancelled += AppBarOnPageSelectionCancelled;
                AppBar.PageSelectionApplied   -= AppBarOnPageSelectionApplied;
                AppBar.PageSelectionApplied   += AppBarOnPageSelectionApplied;

                UpdateFontMenuItemAvailability();

                _offsetX = AppSettings.Default.Margin.Left;
                _offsetY = AppSettings.Default.Margin.Top;

                Brightness.Opacity = 1 - AppSettings.Default.Brightness / 100f;

                PageCanvas.Manipulator.TurnForward  += () => TurnPage(true);
                PageCanvas.Manipulator.TurnBackward += () => TurnPage(false);

                if (!string.IsNullOrEmpty(ViewModel.BookId))
                {
                    _data = new BookData(ViewModel.BookId);
                    PageCanvas.Bookmarks = _bookmarkRepository.GetBookmarks(ViewModel.BookId);
                }

                await CreateController();

                AppBar.IconButtons[1].IsEnabled = _data.HasTableOfContents;

                UpdateTrayVisibility();

                _event.Release();
            }
        }