예제 #1
0
        public Task <IDocument> OpenDocument(string url)
        {
            if (StateSelector != null)
            {
                // Flip out requested url for new state (assumes previous state was State1)
                foreach (var comic in comics)
                {
                    if (url == comic.State1.ArchiveUrl)
                    {
                        url = StateSelector(comic).ArchiveUrl;
                        break;
                    }
                    else if (url == comic.State1.PageUrl)
                    {
                        url = StateSelector(comic).PageUrl;
                        break;
                    }
                }
            }

            return(PageLoader.GetBrowsingContext().OpenAsync(res =>
            {
                res.Content(new FileStream(new Uri(url).LocalPath, FileMode.Open), shouldDispose: true)
                .Address(url);
            }));
        }