本文整理汇总了C++中CFX_RectF::Set方法的典型用法代码示例。如果您正苦于以下问题:C++ CFX_RectF::Set方法的具体用法?C++ CFX_RectF::Set怎么用?C++ CFX_RectF::Set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFX_RectF
的用法示例。
在下文中一共展示了CFX_RectF::Set方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetPopupPosMenu
bool IFWL_Widget::GetPopupPosMenu(FX_FLOAT fMinHeight,
FX_FLOAT fMaxHeight,
const CFX_RectF& rtAnchor,
CFX_RectF& rtPopup) {
FX_FLOAT fx = 0;
FX_FLOAT fy = 0;
if (GetStylesEx() & FWL_STYLEEXT_MNU_Vert) {
bool bLeft = m_pProperties->m_rtWidget.left < 0;
FX_FLOAT fRight = rtAnchor.right() + rtPopup.width;
TransformTo(nullptr, fx, fy);
if (fRight + fx > 0.0f || bLeft) {
rtPopup.Set(rtAnchor.left - rtPopup.width, rtAnchor.top, rtPopup.width,
rtPopup.height);
} else {
rtPopup.Set(rtAnchor.right(), rtAnchor.top, rtPopup.width,
rtPopup.height);
}
} else {
FX_FLOAT fBottom = rtAnchor.bottom() + rtPopup.height;
TransformTo(nullptr, fx, fy);
if (fBottom + fy > 0.0f) {
rtPopup.Set(rtAnchor.left, rtAnchor.top - rtPopup.height, rtPopup.width,
rtPopup.height);
} else {
rtPopup.Set(rtAnchor.left, rtAnchor.bottom(), rtPopup.width,
rtPopup.height);
}
}
rtPopup.Offset(fx, fy);
return true;
}
示例2: GetWidgetRect
FWL_ERR CFWL_PushButtonImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
if (bAutoSize) {
rect.Set(0, 0, 0, 0);
if (m_pProperties->m_pThemeProvider == NULL) {
m_pProperties->m_pThemeProvider = GetAvailableTheme();
}
CFX_WideString wsCaption;
IFWL_PushButtonDP* pData =
static_cast<IFWL_PushButtonDP*>(m_pProperties->m_pDataProvider);
if (pData) {
pData->GetCaption(m_pInterface, wsCaption);
}
int32_t iLen = wsCaption.GetLength();
if (iLen > 0) {
CFX_SizeF sz = CalcTextSize(wsCaption, m_pProperties->m_pThemeProvider);
rect.Set(0, 0, sz.x, sz.y);
}
FX_FLOAT* fcaption =
static_cast<FX_FLOAT*>(GetThemeCapacity(FWL_WGTCAPACITY_PSB_Margin));
rect.Inflate(*fcaption, *fcaption);
CFWL_WidgetImp::GetWidgetRect(rect, TRUE);
} else {
rect = m_pProperties->m_rtWidget;
}
return FWL_ERR_Succeeded;
}
示例3: GetWidgetRect
FWL_ERR CFWL_ToolTipImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
if (bAutoSize) {
rect.Set(0, 0, 0, 0);
if (m_pProperties->m_pThemeProvider == NULL) {
m_pProperties->m_pThemeProvider = GetAvailableTheme();
}
CFX_WideString wsCaption;
IFWL_ToolTipDP* pData =
static_cast<IFWL_ToolTipDP*>(m_pProperties->m_pDataProvider);
if (pData) {
pData->GetCaption(m_pInterface, wsCaption);
}
int32_t iLen = wsCaption.GetLength();
if (iLen > 0) {
CFX_SizeF sz = CalcTextSize(wsCaption, m_pProperties->m_pThemeProvider);
rect.Set(0, 0, sz.x, sz.y);
rect.width += FWL_WGTCAPACITY_CXBorder * 25;
rect.height += FWL_WGTCAPACITY_CYBorder * 8;
}
CFWL_WidgetImp::GetWidgetRect(rect, TRUE);
} else {
rect = m_pProperties->m_rtWidget;
}
return FWL_ERR_Succeeded;
}
示例4: GetWidgetRect
FWL_ERR CFWL_CheckBoxImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
if (bAutoSize) {
rect.Set(0, 0, 0, 0);
if (!m_pProperties->m_pThemeProvider)
m_pProperties->m_pThemeProvider = GetAvailableTheme();
if (!m_pProperties->m_pThemeProvider)
return FWL_ERR_Indefinite;
if (!m_pProperties->m_pDataProvider)
return FWL_ERR_Indefinite;
CFX_WideString wsCaption;
m_pProperties->m_pDataProvider->GetCaption(m_pInterface, wsCaption);
if (wsCaption.GetLength() > 0) {
CFX_SizeF sz = CalcTextSize(
wsCaption, m_pProperties->m_pThemeProvider,
m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_MultiLine);
rect.Set(0, 0, sz.x, sz.y);
}
rect.Inflate(FWL_CKB_CaptionMargin, FWL_CKB_CaptionMargin);
IFWL_CheckBoxDP* pData =
static_cast<IFWL_CheckBoxDP*>(m_pProperties->m_pDataProvider);
FX_FLOAT fCheckBox = pData->GetBoxSize(m_pInterface);
rect.width += fCheckBox;
if (rect.height < fCheckBox) {
rect.height = fCheckBox;
}
CFWL_WidgetImp::GetWidgetRect(rect, TRUE);
} else {
rect = m_pProperties->m_rtWidget;
}
return FWL_ERR_Succeeded;
}
示例5: RefreshToolTipPos
void CFWL_ToolTipImp::RefreshToolTipPos() {
if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_TTP_NoAnchor) == 0) {
CFX_RectF rtPopup;
CFX_RectF rtWidget(m_pProperties->m_rtWidget);
CFX_RectF rtAnchor(m_rtAnchor);
rtPopup.Set(0, 0, 0, 0);
FX_FLOAT fx = rtAnchor.Center().x + 20;
FX_FLOAT fy = rtAnchor.Center().y + 20;
rtPopup.Set(fx, fy, rtWidget.Width(), rtWidget.Height());
FX_FLOAT fScreenWidth = 0;
FX_FLOAT fScreenHeight = 0;
GetScreenSize(fScreenWidth, fScreenHeight);
if (rtPopup.bottom() > fScreenHeight) {
rtPopup.Offset(0, fScreenHeight - rtPopup.bottom());
}
if (rtPopup.right() > fScreenWidth) {
rtPopup.Offset(fScreenWidth - rtPopup.right(), 0);
}
if (rtPopup.left < 0) {
rtPopup.Offset(0 - rtPopup.left, 0);
}
if (rtPopup.top < 0) {
rtPopup.Offset(0, 0 - rtPopup.top);
}
SetWidgetRect(rtPopup);
Update();
}
}
示例6: CalCloseBox
void CFWL_FormTP::CalCloseBox(IFWL_Widget* pWidget, CFX_RectF& rect) {
FX_DWORD dwStyles = pWidget->GetStyles();
CFX_RectF rtWidget;
pWidget->GetWidgetRect(rtWidget);
rtWidget.Offset(-rtWidget.left, -rtWidget.top);
if (dwStyles & FWL_WGTSTYLE_CloseBox) {
rect.Set(rtWidget.left + FWLTHEME_FORMBTN_Margin + FWLTHEME_FORMBTN_Span,
rtWidget.top + FWLTHEME_FORMBTN_Margin, FWLTHEME_FORMBTN_Size,
FWLTHEME_FORMBTN_Size);
} else {
rect.Set(rtWidget.left + FWLTHEME_FORMBTN_Margin + FWLTHEME_FORMBTN_Span,
rtWidget.top + FWLTHEME_FORMBTN_Margin, 0, 0);
}
}
示例7: DisForm_Update
void IFWL_DateTimePicker::DisForm_Update() {
if (m_iLock)
return;
if (!m_pProperties->m_pThemeProvider)
m_pProperties->m_pThemeProvider = GetAvailableTheme();
m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider);
GetClientRect(m_rtClient);
m_pEdit->SetWidgetRect(m_rtClient);
ResetEditAlignment();
m_pEdit->Update();
if (!m_pMonthCal->GetThemeProvider())
m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider);
if (m_pProperties->m_pDataProvider) {
IFWL_DateTimePickerDP* pData =
static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider);
pData->GetToday(this, m_iCurYear, m_iCurMonth, m_iCurDay);
}
FX_FLOAT* pWidth = static_cast<FX_FLOAT*>(
GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth));
if (!pWidth)
return;
m_fBtn = *pWidth;
CFX_RectF rtMonthCal;
m_pMonthCal->GetWidgetRect(rtMonthCal, true);
CFX_RectF rtPopUp;
rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + kDateTimePickerHeight,
rtMonthCal.width, rtMonthCal.height);
m_pMonthCal->SetWidgetRect(rtPopUp);
m_pMonthCal->Update();
}
示例8: OnDropListKeyDown
void IFWL_ComboList::OnDropListKeyDown(CFWL_MsgKey* pKey) {
uint32_t dwKeyCode = pKey->m_dwKeyCode;
switch (dwKeyCode) {
case FWL_VKEY_Up:
case FWL_VKEY_Down:
case FWL_VKEY_Home:
case FWL_VKEY_End: {
IFWL_ComboBox* pOuter = static_cast<IFWL_ComboBox*>(m_pOuter);
IFWL_ListBoxDP* pData =
static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider);
CFWL_ListItem* hItem =
pData->GetItem(this, pOuter->GetCurrentSelection());
hItem = GetItem(hItem, dwKeyCode);
if (!hItem)
break;
SetSelection(hItem, hItem, true);
ScrollToVisible(hItem);
CFX_RectF rtInvalidate;
rtInvalidate.Set(0, 0, m_pProperties->m_rtWidget.width,
m_pProperties->m_rtWidget.height);
Repaint(&rtInvalidate);
break;
}
default:
break;
}
}
示例9: DisForm_Update
FWL_ERR CFWL_DateTimePickerImp::DisForm_Update() {
if (m_iLock) {
return FWL_ERR_Indefinite;
}
if (!m_pProperties->m_pThemeProvider) {
m_pProperties->m_pThemeProvider = GetAvailableTheme();
}
m_pEdit->SetThemeProvider(m_pProperties->m_pThemeProvider);
GetClientRect(m_rtClient);
m_pEdit->SetWidgetRect(m_rtClient);
ReSetEditAlignment();
m_pEdit->Update();
if (m_pMonthCal->GetThemeProvider() == NULL) {
m_pMonthCal->SetThemeProvider(m_pProperties->m_pThemeProvider);
}
if (m_pProperties->m_pDataProvider) {
IFWL_DateTimePickerDP* pData =
static_cast<IFWL_DateTimePickerDP*>(m_pProperties->m_pDataProvider);
pData->GetToday(m_pInterface, m_MonthCalendarDP.m_iCurYear,
m_MonthCalendarDP.m_iCurMonth, m_MonthCalendarDP.m_iCurDay);
}
FX_FLOAT* pWidth =
static_cast<FX_FLOAT*>(GetThemeCapacity(FWL_WGTCAPACITY_ScrollBarWidth));
if (!pWidth)
return 0;
m_fBtn = *pWidth;
CFX_RectF rtMonthCal;
m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE);
CFX_RectF rtPopUp;
rtPopUp.Set(rtMonthCal.left, rtMonthCal.top + FWL_DTP_HEIGHT,
rtMonthCal.width, rtMonthCal.height);
m_pMonthCal->SetWidgetRect(rtPopUp);
m_pMonthCal->Update();
return FWL_ERR_Succeeded;
}
示例10: ShowMonthCalendar
void CFWL_DateTimePickerImp::ShowMonthCalendar(FX_BOOL bActivate) {
if (m_pWidgetMgr->IsFormDisabled()) {
return DisForm_ShowMonthCalendar(bActivate);
}
if (IsMonthCalendarShowed() == bActivate) {
return;
}
if (!m_pForm) {
InitProxyForm();
}
if (bActivate) {
CFX_RectF rtMonth;
m_pMonthCal->GetWidgetRect(rtMonth);
CFX_RectF rtAnchor;
rtAnchor.Set(0, 0, m_pProperties->m_rtWidget.width,
m_pProperties->m_rtWidget.height);
GetPopupPos(0, rtMonth.height, rtAnchor, rtMonth);
m_pForm->SetWidgetRect(rtMonth);
rtMonth.left = rtMonth.top = 0;
m_pMonthCal->SetStates(FWL_WGTSTATE_Invisible, !bActivate);
m_pMonthCal->SetWidgetRect(rtMonth);
m_pMonthCal->Update();
m_pForm->DoModal();
} else {
m_pForm->EndDoModal();
}
}
示例11: GetBBox
void CFDE_Path::GetBBox(CFX_RectF& bbox,
FX_FLOAT fLineWidth,
FX_FLOAT fMiterLimit) const {
CFX_FloatRect rect = m_Path.GetBoundingBox(fLineWidth, fMiterLimit);
bbox.Set(rect.left, rect.top, rect.Width(), rect.Height());
bbox.Normalize();
}
示例12: Initialize
FWL_ERR CFWL_DateTimePickerImp::Initialize() {
if (CFWL_WidgetImp::Initialize() != FWL_ERR_Succeeded)
return FWL_ERR_Indefinite;
m_pDelegate = new CFWL_DateTimePickerImpDelegate(this);
m_pProperties->m_dwStyleExes = FWL_STYLEEXT_DTP_ShortDateFormat;
CFWL_WidgetImpProperties propMonth;
propMonth.m_dwStyles = FWL_WGTSTYLE_Popup | FWL_WGTSTYLE_Border;
propMonth.m_dwStates = FWL_WGTSTATE_Invisible;
propMonth.m_pDataProvider = &m_MonthCalendarDP;
propMonth.m_pParent = m_pInterface;
propMonth.m_pThemeProvider = m_pProperties->m_pThemeProvider;
m_pMonthCal.reset(IFWL_DateTimeCalender::Create(propMonth, m_pInterface));
m_pMonthCal->Initialize();
CFX_RectF rtMonthCal;
m_pMonthCal->GetWidgetRect(rtMonthCal, TRUE);
rtMonthCal.Set(0, 0, rtMonthCal.width, rtMonthCal.height);
m_pMonthCal->SetWidgetRect(rtMonthCal);
CFWL_WidgetImpProperties propEdit;
propEdit.m_pParent = m_pInterface;
propEdit.m_pThemeProvider = m_pProperties->m_pThemeProvider;
m_pEdit.reset(IFWL_DateTimeEdit::Create(propEdit, m_pInterface));
m_pEdit->Initialize();
RegisterEventTarget(m_pMonthCal.get());
RegisterEventTarget(m_pEdit.get());
return FWL_ERR_Succeeded;
}
示例13: GetDisplayMatrix
void CXFA_FFPageView::GetDisplayMatrix(CFX_Matrix& mt,
const CFX_Rect& rtDisp,
int32_t iRotate) const {
CFX_SizeF sz = GetPageSize();
CFX_RectF fdePage;
fdePage.Set(0, 0, sz.x, sz.y);
GetPageMatrix(mt, fdePage, rtDisp, iRotate, 0);
}
示例14: DrawLogicText
void CFDE_TextOut::DrawLogicText(const FX_WCHAR* pwsStr,
int32_t iLength,
FX_FLOAT x,
FX_FLOAT y) {
CFX_RectF rtText;
rtText.Set(x, y, m_fFontSize * 1000.0f, m_fFontSize * 1000.0f);
DrawLogicText(pwsStr, iLength, rtText);
}
示例15: DrawText
void CFDE_TextOut::DrawText(const FX_WCHAR* pwsStr,
int32_t iLength,
const CFX_Rect& rect) {
CFX_RectF rtText;
rtText.Set((FX_FLOAT)rect.left, (FX_FLOAT)rect.top, (FX_FLOAT)rect.width,
(FX_FLOAT)rect.height);
DrawText(pwsStr, iLength, rtText);
}