public async Task<PageInfo> PrepareNextPage() { string lastText = string.Empty; if (_currentPage != null) { lastText = _currentPage.LastTextPart; } int nextTokenId = _currentPage == null ? _offset : _currentPage.LastTokenID + 1; var page = await _pageLoader.GetPageAsync(nextTokenId, lastText); if (page == null || page.FirstTokenID < 0) return null; _nextPage = page; var bgBuilder = new PageRenderer(_images); _bookView.NextTexts.Clear(); _bookView.NextLinks.Clear(); bgBuilder.RenderPageAsync(new RenderPageRequest() { Page = page, Panel = _bookView.GetNextPagePanel(), Texts = _bookView.NextTexts, Book = _bookModel, Links = _bookView.NextLinks, Bookmarks = _bookView.Bookmarks }); Log.Write("Preparing next page - @" + page.FirstTokenID + " - " + page.LastTokenID); return page; }
public async Task<PageInfo> PreparePrevPage() { if (_currentPage == null) return null; string startText = string.Empty; if (_currentPage != null) { startText = _currentPage.StartText; } var page = await _pageLoader.GetPreviousPageAsync(_currentPage.FirstTokenID, startText); if (page == null || page.FirstTokenID < 0) return null; _prevPage = page; var bgBuilder = new PageRenderer(_images); _bookView.PreviousTexts.Clear(); _bookView.PreviousLinks.Clear(); bgBuilder.RenderPageAsync(new RenderPageRequest() { Page = page, Panel = _bookView.GetPrevPagePanel(), Texts = _bookView.PreviousTexts, Links= _bookView.PreviousLinks, Book = _bookModel, Bookmarks = _bookView.Bookmarks }); Log.Write("Preparing prev page - @" + page.FirstTokenID + " - " + page.LastTokenID); return page; }