void CFFL_Button::OnMouseExit(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) { m_bMouseIn = false; InvalidateRect(GetViewBBox(pPageView, pAnnot)); EndTimer(); ASSERT(m_pWidget); }
bool CPDFSDK_BAAnnotHandler::HitTest(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, const CFX_PointF& point) { ASSERT(pPageView); ASSERT(pAnnot); return GetViewBBox(pPageView, pAnnot).Contains(point); }
FX_BOOL CFFL_IFormFiller::OnLButtonUp(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point) { ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget"); CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; CPDFSDK_Document* pDocument = m_pApp->GetSDKDocument(); switch (pWidget->GetFieldType()) { case FIELDTYPE_PUSHBUTTON: case FIELDTYPE_CHECKBOX: case FIELDTYPE_RADIOBUTTON: if (GetViewBBox(pPageView, pAnnot).Contains((int)point.x, (int)point.y)) pDocument->SetFocusAnnot(pAnnot); break; default: pDocument->SetFocusAnnot(pAnnot); break; } FX_BOOL bRet = FALSE; if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) { bRet = pFormFiller->OnLButtonUp(pPageView, pAnnot, nFlags, point); } if (pDocument->GetFocusAnnot() == pAnnot) { FX_BOOL bExit = FALSE; FX_BOOL bReset = FALSE; OnButtonUp(pWidget, pPageView, bReset, bExit, nFlags); if (bExit) return TRUE; } return bRet; }
void CFFL_Button::OnMouseExit(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) { m_bMouseIn = FALSE; FX_RECT rect = GetViewBBox(pPageView, pAnnot); InvalidateRect(rect.left, rect.top, rect.right, rect.bottom); EndTimer(); ASSERT(m_pWidget != NULL); }
FX_BOOL CPDFSDK_BFAnnotHandler::HitTest(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, const CPDF_Point& point) { ASSERT(pPageView); ASSERT(pAnnot); CPDF_Rect rect = GetViewBBox(pPageView, pAnnot); return rect.Contains(point.x, point.y); }
void CFFL_FormFiller::EscapeFiller(CPDFSDK_PageView* pPageView, FX_BOOL bDestroyPDFWindow) { m_bValid = FALSE; FX_RECT rcRect = GetViewBBox(pPageView, m_pWidget); InvalidateRect(rcRect.left, rcRect.top, rcRect.right, rcRect.bottom); if (bDestroyPDFWindow) DestroyPDFWindow(pPageView); }
bool CFFL_Button::OnLButtonUp(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, uint32_t nFlags, const CFX_PointF& point) { if (!pAnnot->GetRect().Contains(point)) return false; m_bMouseDown = false; m_pWidget->GetPDFPage(); InvalidateRect(GetViewBBox(pPageView, pAnnot)); return true; }
void CFFL_FormFiller::SetFocusForAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot; UnderlyingPageType* pPage = pWidget->GetUnderlyingPage(); CPDFSDK_Document* pDoc = m_pApp->GetSDKDocument(); CPDFSDK_PageView* pPageView = pDoc->GetPageView(pPage, true); if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE)) pWnd->SetFocus(); m_bValid = TRUE; FX_RECT rcRect = GetViewBBox(pPageView, pAnnot); InvalidateRect(rcRect.left, rcRect.top, rcRect.right, rcRect.bottom); }
FX_BOOL CFFL_FormFiller::OnLButtonUp(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point) { if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) { FX_RECT rcFFL = GetViewBBox(pPageView, pAnnot); InvalidateRect(rcFFL.left, rcFFL.top, rcFFL.right, rcFFL.bottom); pWnd->OnLButtonUp(WndtoPWL(pPageView, point), nFlags); return TRUE; } return FALSE; }
FX_BOOL CFFL_Button::OnLButtonDown(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point) { CPDF_Rect rcAnnot = pAnnot->GetRect(); if (!rcAnnot.Contains(point.x, point.y)) return FALSE; m_bMouseDown = TRUE; m_bValid = TRUE; FX_RECT rect = GetViewBBox(pPageView, pAnnot); InvalidateRect(rect.left, rect.top, rect.right, rect.bottom); return TRUE; }
FX_BOOL CFFL_FormFiller::OnLButtonDown(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point) { if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE)) { m_bValid = TRUE; FX_RECT rect = GetViewBBox(pPageView, pAnnot); InvalidateRect(rect.left, rect.top, rect.right, rect.bottom); if (!rect.Contains((int)point.x, (int)point.y)) return FALSE; return pWnd->OnLButtonDown(WndtoPWL(pPageView, point), nFlags); } return FALSE; }
bool CFFL_InteractiveFormFiller::OnLButtonUp(CPDFSDK_PageView* pPageView, CPDFSDK_Annot::ObservedPtr* pAnnot, uint32_t nFlags, const CFX_PointF& point) { ASSERT((*pAnnot)->GetPDFAnnot()->GetSubtype() == CPDF_Annot::Subtype::WIDGET); CPDFSDK_Widget* pWidget = ToCPDFSDKWidget(pAnnot->Get()); bool bSetFocus; switch (pWidget->GetFieldType()) { case FormFieldType::kPushButton: case FormFieldType::kCheckBox: case FormFieldType::kRadioButton: { FX_RECT bbox = GetViewBBox(pPageView, pAnnot->Get()); bSetFocus = bbox.Contains(static_cast<int>(point.x), static_cast<int>(point.y)); break; } default: bSetFocus = true; break; } if (bSetFocus) m_pFormFillEnv->SetFocusAnnot(pAnnot); CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot->Get(), false); bool bRet = pFormFiller && pFormFiller->OnLButtonUp(pPageView, pAnnot->Get(), nFlags, point); if (m_pFormFillEnv->GetFocusAnnot() != pAnnot->Get()) return bRet; if (OnButtonUp(pAnnot, pPageView, nFlags) || !pAnnot) return true; #ifdef PDF_ENABLE_XFA if (OnClick(pAnnot, pPageView, nFlags) || !pAnnot) return true; #endif // PDF_ENABLE_XFA return bRet; }
void CFFL_Button::OnMouseEnter(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) { m_bMouseIn = TRUE; FX_RECT rect = GetViewBBox(pPageView, pAnnot); InvalidateRect(rect.left, rect.top, rect.right, rect.bottom); }
void CFFL_Button::OnMouseEnter(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) { m_bMouseIn = true; InvalidateRect(GetViewBBox(pPageView, pAnnot)); }