本文整理汇总了C++中CPDFSDK_Document::GetFocusAnnot方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDFSDK_Document::GetFocusAnnot方法的具体用法?C++ CPDFSDK_Document::GetFocusAnnot怎么用?C++ CPDFSDK_Document::GetFocusAnnot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDFSDK_Document
的用法示例。
在下文中一共展示了CPDFSDK_Document::GetFocusAnnot方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnDraw
void CPDFSDK_XFAAnnotHandler::OnDraw(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
CFX_Matrix* pUser2Device,
FX_DWORD dwFlags) {
ASSERT(pPageView != NULL);
ASSERT(pAnnot != NULL);
CPDFSDK_Document* pSDKDoc = pPageView->GetSDKDocument();
ASSERT(pSDKDoc != NULL);
IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot);
ASSERT(pWidgetHandler != NULL);
CFX_Graphics gs;
gs.Create(pDevice);
CFX_Matrix mt;
mt = *(CFX_Matrix*)pUser2Device;
FX_BOOL bIsHighlight = FALSE;
if (pSDKDoc->GetFocusAnnot() != pAnnot)
bIsHighlight = TRUE;
pWidgetHandler->RenderWidget(pAnnot->GetXFAWidget(), &gs, &mt, bIsHighlight);
// to do highlight and shadow
}
示例2: OnLButtonUp
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;
}
示例3: OnDraw
void CFFL_IFormFiller::OnDraw(CPDFSDK_PageView* pPageView,
/*HDC hDC,*/ CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
CPDF_Matrix* pUser2Device,
/*const CRect& rcWindow,*/ FX_DWORD dwFlags) {
ASSERT(pPageView != NULL);
CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
if (IsVisible(pWidget)) {
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
if (pFormFiller->IsValid()) {
pFormFiller->OnDraw(pPageView, pAnnot, pDevice, pUser2Device, dwFlags);
pAnnot->GetPDFPage();
CPDFSDK_Document* pDocument = m_pApp->GetSDKDocument();
if (pDocument->GetFocusAnnot() == pAnnot) {
CPDF_Rect rcFocus = pFormFiller->GetFocusBox(pPageView);
if (!rcFocus.IsEmpty()) {
CFX_PathData path;
path.SetPointCount(5);
path.SetPoint(0, rcFocus.left, rcFocus.top, FXPT_MOVETO);
path.SetPoint(1, rcFocus.left, rcFocus.bottom, FXPT_LINETO);
path.SetPoint(2, rcFocus.right, rcFocus.bottom, FXPT_LINETO);
path.SetPoint(3, rcFocus.right, rcFocus.top, FXPT_LINETO);
path.SetPoint(4, rcFocus.left, rcFocus.top, FXPT_LINETO);
CFX_GraphStateData gsd;
gsd.SetDashCount(1);
gsd.m_DashArray[0] = 1.0f;
gsd.m_DashPhase = 0;
gsd.m_LineWidth = 1.0f;
pDevice->DrawPath(&path, pUser2Device, &gsd, 0,
ArgbEncode(255, 0, 0, 0), FXFILL_ALTERNATE);
}
}
return;
}
}
if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE))
pFormFiller->OnDrawDeactive(pPageView, pAnnot, pDevice, pUser2Device,
dwFlags);
else
pWidget->DrawAppearance(pDevice, pUser2Device, CPDF_Annot::Normal, NULL);
if (!IsReadOnly(pWidget) && IsFillingAllowed(pWidget))
pWidget->DrawShadow(pDevice, pPageView);
}
}
示例4: OnBeforeKeyStroke
void CFFL_IFormFiller::OnBeforeKeyStroke(FX_BOOL bEditOrList, void* pPrivateData, FX_INT32 nKeyCode,
CFX_WideString & strChange, const CFX_WideString& strChangeEx,
int nSelStart, int nSelEnd,
FX_BOOL bKeyDown, FX_BOOL & bRC, FX_BOOL & bExit, FX_DWORD nFlag)
{
ASSERT(pPrivateData != NULL);
CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
ASSERT(pData->pWidget != NULL);
CFFL_FormFiller* pFormFiller = GetFormFiller(pData->pWidget, FALSE);
ASSERT(pFormFiller != NULL);
if (!m_bNotifying)
{
if (pData->pWidget->GetAAction(CPDF_AAction::KeyStroke))
{
m_bNotifying = TRUE;
int nAge = pData->pWidget->GetAppearanceAge();
int nValueAge = pData->pWidget->GetValueAge();
ASSERT(pData->pPageView != NULL);
CPDFSDK_Document* pDocument = pData->pPageView->GetSDKDocument();
PDFSDK_FieldAction fa;
fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
fa.sChange = strChange;
fa.sChangeEx = strChangeEx;
fa.bKeyDown = bKeyDown;
fa.bWillCommit = FALSE;
fa.bRC = TRUE;
fa.nSelStart = nSelStart;
fa.nSelEnd = nSelEnd;
pFormFiller->GetActionData(pData->pPageView, CPDF_AAction::KeyStroke, fa);
pFormFiller->SaveState(pData->pPageView);
if (pData->pWidget->OnAAction(CPDF_AAction::KeyStroke, fa, pData->pPageView))
{
if (!IsValidAnnot(pData->pPageView, pData->pWidget))
{
bExit = TRUE;
m_bNotifying = FALSE;
return;
}
if (nAge != pData->pWidget->GetAppearanceAge())
{
CPWL_Wnd* pWnd = pFormFiller->ResetPDFWindow(pData->pPageView, nValueAge == pData->pWidget->GetValueAge());
pData = (CFFL_PrivateData*)pWnd->GetAttachedData();
bExit = TRUE;
}
if (fa.bRC)
{
pFormFiller->SetActionData(pData->pPageView, CPDF_AAction::KeyStroke, fa);
bRC = FALSE;
}
else
{
pFormFiller->RestoreState(pData->pPageView);
bRC = FALSE;
}
if (pDocument->GetFocusAnnot() != pData->pWidget)
{
pFormFiller->CommitData(pData->pPageView,nFlag);
bExit = TRUE;
}
}
else
{
if (!IsValidAnnot(pData->pPageView, pData->pWidget))
{
bExit = TRUE;
m_bNotifying = FALSE;
return;
}
}
m_bNotifying = FALSE;
}
}
}
示例5: OnBeforeKeyStroke
void CFFL_IFormFiller::OnBeforeKeyStroke(void* pPrivateData,
CFX_WideString& strChange,
const CFX_WideString& strChangeEx,
int nSelStart,
int nSelEnd,
FX_BOOL bKeyDown,
FX_BOOL& bRC,
FX_BOOL& bExit,
uint32_t nFlag) {
CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
ASSERT(pData->pWidget);
CFFL_FormFiller* pFormFiller = GetFormFiller(pData->pWidget, FALSE);
#ifdef PDF_ENABLE_XFA
if (pFormFiller->IsFieldFull(pData->pPageView)) {
FX_BOOL bFullExit = FALSE;
FX_BOOL bFullReset = FALSE;
OnFull(pData->pWidget, pData->pPageView, bFullReset, bFullExit, nFlag);
if (bFullReset || bFullExit) {
bExit = TRUE;
return;
}
}
#endif // PDF_ENABLE_XFA
if (!m_bNotifying) {
if (pData->pWidget->GetAAction(CPDF_AAction::KeyStroke).GetDict()) {
m_bNotifying = TRUE;
int nAge = pData->pWidget->GetAppearanceAge();
int nValueAge = pData->pWidget->GetValueAge();
CPDFSDK_Document* pDocument = pData->pPageView->GetSDKDocument();
PDFSDK_FieldAction fa;
fa.bModifier = m_pApp->FFI_IsCTRLKeyDown(nFlag);
fa.bShift = m_pApp->FFI_IsSHIFTKeyDown(nFlag);
fa.sChange = strChange;
fa.sChangeEx = strChangeEx;
fa.bKeyDown = bKeyDown;
fa.bWillCommit = FALSE;
fa.bRC = TRUE;
fa.nSelStart = nSelStart;
fa.nSelEnd = nSelEnd;
pFormFiller->GetActionData(pData->pPageView, CPDF_AAction::KeyStroke, fa);
pFormFiller->SaveState(pData->pPageView);
if (pData->pWidget->OnAAction(CPDF_AAction::KeyStroke, fa,
pData->pPageView)) {
if (!IsValidAnnot(pData->pPageView, pData->pWidget)) {
bExit = TRUE;
m_bNotifying = FALSE;
return;
}
if (nAge != pData->pWidget->GetAppearanceAge()) {
CPWL_Wnd* pWnd = pFormFiller->ResetPDFWindow(
pData->pPageView, nValueAge == pData->pWidget->GetValueAge());
pData = (CFFL_PrivateData*)pWnd->GetAttachedData();
bExit = TRUE;
}
if (fa.bRC) {
pFormFiller->SetActionData(pData->pPageView, CPDF_AAction::KeyStroke,
fa);
bRC = FALSE;
} else {
pFormFiller->RestoreState(pData->pPageView);
bRC = FALSE;
}
if (pDocument->GetFocusAnnot() != pData->pWidget) {
pFormFiller->CommitData(pData->pPageView, nFlag);
bExit = TRUE;
}
} else {
if (!IsValidAnnot(pData->pPageView, pData->pWidget)) {
bExit = TRUE;
m_bNotifying = FALSE;
return;
}
}
m_bNotifying = FALSE;
}
}
}