private void Insert(MangaPage page)
{
if (insertedPages.Count == 0)
{
Action insert = delegate
{
pagesTail = pagesHead = page.Page;
page.AppendTo(mangaArea, 0, 0, page);
if (attachedObject.GetWidth() > page.Width)
{
Offset = (jQuery.Window.GetWidth() - page.Width) / 2;
}
else if (manga.ltr)
{
Offset = 0;
}
else
{
Offset = jQuery.Window.GetWidth() - page.Width;
}
};
Action callback = delegate
{
insertedPages[page.Page] = page;
RefreshMangaArea();
};
if (Settings.KindleRefreshDelay > 0)
{
KindleRefreshScreen(insert, callback);
}
else
{
insert();
callback();
}
}
else if (page.Page == pagesTail + 1)
{
MangaPage lastPage = GetMangaPage(pagesTail);
page.AppendTo(mangaArea, lastPage.Offset, -1, page);
pagesTail = page.Page;
insertedPages[page.Page] = page;
RefreshMangaArea();
}
else if (page.Page == pagesHead - 1)
{
MangaPage firstPage = GetMangaPage(pagesHead);
page.AppendTo(mangaArea, firstPage.Offset, 1, firstPage);
pagesHead = page.Page;
insertedPages[page.Page] = page;
RefreshMangaArea();
}
else
{
return;
}
}