FPDF_PAGE EmbedderTest::LoadAndCachePage(int page_number) { FPDF_PAGE page = delegate_->GetPage(form_handle_, document_, page_number); if (!page) { return nullptr; } FORM_DoPageAAction(page, form_handle_, FPDFPAGE_AACTION_OPEN); return page; }
FPDF_PAGE EmbedderTest::LoadPage(int page_number) { FPDF_PAGE page = FPDF_LoadPage(document_, page_number); if (!page) { return nullptr; } FORM_OnAfterLoadPage(page, form_handle_); FORM_DoPageAAction(page, form_handle_, FPDFPAGE_AACTION_OPEN); return page; }
void EmbedderTest::UnloadPage(FPDF_PAGE page) { FORM_DoPageAAction(page, form_handle_, FPDFPAGE_AACTION_CLOSE); FORM_OnBeforeClosePage(page, form_handle_); FPDF_ClosePage(page); auto it = page_reverse_map_.find(page); if (it == page_reverse_map_.end()) return; page_map_.erase(it->second); page_reverse_map_.erase(it); }
FPDF_PAGE EmbedderTest::LoadPage(int page_number) { // First check whether it is loaded already. auto it = page_map_.find(page_number); if (it != page_map_.end()) return it->second; FPDF_PAGE page = FPDF_LoadPage(document_, page_number); if (!page) { return nullptr; } FORM_OnAfterLoadPage(page, form_handle_); FORM_DoPageAAction(page, form_handle_, FPDFPAGE_AACTION_OPEN); // Cache the page. page_map_[page_number] = page; page_reverse_map_[page] = page_number; return page; }
void EmbedderTest::UnloadPage(FPDF_PAGE page) { FORM_DoPageAAction(page, form_handle_, FPDFPAGE_AACTION_CLOSE); FORM_OnBeforeClosePage(page, form_handle_); FPDF_ClosePage(page); }