本文整理汇总了C++中CPDFSDK_Widget::GetRotate方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDFSDK_Widget::GetRotate方法的具体用法?C++ CPDFSDK_Widget::GetRotate怎么用?C++ CPDFSDK_Widget::GetRotate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDFSDK_Widget
的用法示例。
在下文中一共展示了CPDFSDK_Widget::GetRotate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QueryWherePopup
void CFFL_InteractiveFormFiller::QueryWherePopup(
const CPWL_Wnd::PrivateData* pAttached,
float fPopupMin,
float fPopupMax,
bool* bBottom,
float* fPopupRet) {
auto* pData = static_cast<const CFFL_PrivateData*>(pAttached);
CPDFSDK_Widget* pWidget = pData->pWidget;
CPDF_Page* pPage = pWidget->GetPDFPage();
CFX_FloatRect rcPageView(0, pPage->GetPageHeight(), pPage->GetPageWidth(), 0);
rcPageView.Normalize();
CFX_FloatRect rcAnnot = pWidget->GetRect();
float fTop = 0.0f;
float fBottom = 0.0f;
switch (pWidget->GetRotate() / 90) {
default:
case 0:
fTop = rcPageView.top - rcAnnot.top;
fBottom = rcAnnot.bottom - rcPageView.bottom;
break;
case 1:
fTop = rcAnnot.left - rcPageView.left;
fBottom = rcPageView.right - rcAnnot.right;
break;
case 2:
fTop = rcAnnot.bottom - rcPageView.bottom;
fBottom = rcPageView.top - rcAnnot.top;
break;
case 3:
fTop = rcPageView.right - rcAnnot.right;
fBottom = rcAnnot.left - rcPageView.left;
break;
}
constexpr float kMaxListBoxHeight = 140;
const float fMaxListBoxHeight =
pdfium::clamp(kMaxListBoxHeight, fPopupMin, fPopupMax);
if (fBottom > fMaxListBoxHeight) {
*fPopupRet = fMaxListBoxHeight;
*bBottom = true;
return;
}
if (fTop > fMaxListBoxHeight) {
*fPopupRet = fMaxListBoxHeight;
*bBottom = false;
return;
}
if (fTop > fBottom) {
*fPopupRet = fTop;
*bBottom = false;
} else {
*fPopupRet = fBottom;
*bBottom = true;
}
}
示例2: QueryWherePopup
void CFFL_IFormFiller::QueryWherePopup(void* pPrivateData, FX_FLOAT fPopupMin,FX_FLOAT fPopupMax, FX_INT32 & nRet, FX_FLOAT & fPopupRet)
{
ASSERT(pPrivateData != NULL);
CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
CPDF_Rect rcPageView(0,0,0,0);
rcPageView.right = pData->pWidget->GetPDFPage()->GetPageWidth();
rcPageView.bottom = pData->pWidget->GetPDFPage()->GetPageHeight();
rcPageView.Normalize();
ASSERT(pData->pWidget != NULL);
CPDF_Rect rcAnnot = pData->pWidget->GetRect();
FX_FLOAT fTop = 0.0f;
FX_FLOAT fBottom = 0.0f;
CPDFSDK_Widget * pWidget = (CPDFSDK_Widget*)pData->pWidget;
switch (pWidget->GetRotate() / 90)
{
default:
case 0:
fTop = rcPageView.top - rcAnnot.top;
fBottom = rcAnnot.bottom - rcPageView.bottom;
break;
case 1:
fTop = rcAnnot.left - rcPageView.left;
fBottom = rcPageView.right - rcAnnot.right;
break;
case 2:
fTop = rcAnnot.bottom - rcPageView.bottom;
fBottom = rcPageView.top - rcAnnot.top;
break;
case 3:
fTop = rcPageView.right - rcAnnot.right;
fBottom = rcAnnot.left - rcPageView.left;
break;
}
FX_FLOAT fFactHeight = 0;
FX_BOOL bBottom = TRUE;
FX_FLOAT fMaxListBoxHeight = 0;
if (fPopupMax > FFL_MAXLISTBOXHEIGHT)
{
if (fPopupMin > FFL_MAXLISTBOXHEIGHT)
{
fMaxListBoxHeight = fPopupMin;
}
else
{
fMaxListBoxHeight = FFL_MAXLISTBOXHEIGHT;
}
}
else
fMaxListBoxHeight = fPopupMax;
if (fBottom > fMaxListBoxHeight)
{
fFactHeight = fMaxListBoxHeight;
bBottom = TRUE;
}
else
{
if (fTop > fMaxListBoxHeight)
{
fFactHeight = fMaxListBoxHeight;
bBottom = FALSE;
}
else
{
if (fTop > fBottom)
{
fFactHeight = fTop;
bBottom = FALSE;
}
else
{
fFactHeight = fBottom;
bBottom = TRUE;
}
}
}
nRet = bBottom ? 0 : 1;
fPopupRet = fFactHeight;
}