void CPDFSDK_PageView::UpdateRects(CFX_RectArray& rects) { for (int i = 0; i < rects.GetSize(); i++) { CPDF_Rect rc = rects.GetAt(i); CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); pEnv->FFI_Invalidate(m_page, rc.left, rc.top, rc.right, rc.bottom); } }
DLLEXPORT int STDCALL FPDFLink_CountRects(FPDF_PAGELINK link_page,int link_index) { if (!link_page) return 0; IPDF_LinkExtract* pageLink=(IPDF_LinkExtract*)link_page; CFX_RectArray rectArray; pageLink->GetRects(link_index,rectArray); return rectArray.GetSize(); }
DLLEXPORT void STDCALL FPDFLink_GetRect(FPDF_PAGELINK link_page, int link_index, int rect_index, double* left, double* top, double* right, double* bottom) { if (!link_page) return; IPDF_LinkExtract* pageLink = (IPDF_LinkExtract*)link_page; CFX_RectArray rectArray; pageLink->GetRects(link_index, rectArray); if (rect_index >= 0 && rect_index < rectArray.GetSize()) { CFX_FloatRect rect = rectArray.GetAt(rect_index); *left = rect.left; *right = rect.right; *top = rect.top; *bottom = rect.bottom; } }