本文整理汇总了C++中CAniSequencer::AnimateLinearFade方法的典型用法代码示例。如果您正苦于以下问题:C++ CAniSequencer::AnimateLinearFade方法的具体用法?C++ CAniSequencer::AnimateLinearFade怎么用?C++ CAniSequencer::AnimateLinearFade使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAniSequencer
的用法示例。
在下文中一共展示了CAniSequencer::AnimateLinearFade方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateInputErrorMessage
void CUIHelper::CreateInputErrorMessage (IHISession *pSession, const RECT &rcRect, const CString &sTitle, CString &sDesc, IAnimatron **retpMsg) const
// CreateInputErrorMessage
//
// Creates an input error message box
{
const CVisualPalette &VI = m_HI.GetVisuals();
const CG16bitFont &TitleFont = VI.GetFont(fontLargeBold);
const CG16bitFont &DescFont = VI.GetFont(fontMedium);
// Start with a sequencer as a parent of everything
CAniSequencer *pMsg;
CAniSequencer::Create(CVector(rcRect.left, rcRect.top), &pMsg);
// Create a controller to handle dismissing the message
CInputErrorMessageController *pController = new CInputErrorMessageController(pSession);
pMsg->AddTrack(pController, 0);
// Add a button to handle a click
CAniButton *pButton = new CAniButton;
pButton->SetPropertyVector(PROP_POSITION, CVector(0, 0));
pButton->SetPropertyVector(PROP_SCALE, CVector(RectWidth(rcRect), RectHeight(rcRect)));
pButton->SetStyle(STYLE_DOWN, NULL);
pButton->SetStyle(STYLE_HOVER, NULL);
pButton->SetStyle(STYLE_NORMAL, NULL);
pButton->SetStyle(STYLE_DISABLED, NULL);
pButton->SetStyle(STYLE_TEXT, NULL);
pButton->AddListener(EVENT_ON_CLICK, pController);
pMsg->AddTrack(pButton, 0);
// Figure out where the text goes
int x = INPUT_ERROR_PADDING_LEFT;
int cxWidth = RectWidth(rcRect) - (INPUT_ERROR_PADDING_LEFT + INPUT_ERROR_PADDING_RIGHT);
int y = INPUT_ERROR_PADDING_TOP;
int yEnd = RectHeight(rcRect) - INPUT_ERROR_PADDING_BOTTOM;
int cxText = 0;
// Title text
IAnimatron *pTitle = new CAniText;
pTitle->SetPropertyVector(PROP_POSITION, CVector(x, y));
pTitle->SetPropertyVector(PROP_SCALE, CVector(cxWidth, TitleFont.GetHeight()));
((CAniText *)pTitle)->SetPropertyFont(PROP_FONT, &TitleFont);
pTitle->SetPropertyColor(PROP_COLOR, VI.GetColor(colorTextWarningMsg));
pTitle->SetPropertyString(PROP_TEXT, sTitle);
y += TitleFont.GetHeight();
cxText += TitleFont.GetHeight();
// Description
IAnimatron *pDesc = new CAniText;
pDesc->SetPropertyVector(PROP_POSITION, CVector(x, y));
pDesc->SetPropertyVector(PROP_SCALE, CVector(cxWidth, 1000));
((CAniText *)pDesc)->SetPropertyFont(PROP_FONT, &DescFont);
pDesc->SetPropertyColor(PROP_COLOR, VI.GetColor(colorTextWarningMsg));
pDesc->SetPropertyString(PROP_TEXT, sDesc);
RECT rcDesc;
pDesc->GetSpacingRect(&rcDesc);
cxText += RectHeight(rcDesc);
// Now that we know the height of the text, add a rectangle as a background
int cxFrame = Max(RectHeight(rcRect), cxText + INPUT_ERROR_PADDING_TOP + INPUT_ERROR_PADDING_BOTTOM);
IAnimatron *pRect = new CAniRoundedRect;
pRect->SetPropertyVector(PROP_POSITION, CVector());
pRect->SetPropertyVector(PROP_SCALE, CVector(RectWidth(rcRect), cxFrame));
pRect->SetPropertyColor(PROP_COLOR, VI.GetColor(colorAreaWarningMsg));
pRect->SetPropertyOpacity(PROP_OPACITY, 255);
pRect->SetPropertyInteger(PROP_UL_RADIUS, INPUT_ERROR_CORNER_RADIUS);
pRect->SetPropertyInteger(PROP_UR_RADIUS, INPUT_ERROR_CORNER_RADIUS);
pRect->SetPropertyInteger(PROP_LL_RADIUS, INPUT_ERROR_CORNER_RADIUS);
pRect->SetPropertyInteger(PROP_LR_RADIUS, INPUT_ERROR_CORNER_RADIUS);
pMsg->AddTrack(pRect, 0);
// Add title and desc
pMsg->AddTrack(pTitle, 0);
pMsg->AddTrack(pDesc, 0);
// Fade after some time
pMsg->AnimateLinearFade(INPUT_ERROR_TIME, 5, 30);
// If we already have an input error box, delete it
pSession->StopPerformance(ID_DLG_INPUT_ERROR);
// Start a new one
pSession->StartPerformance(pMsg, ID_DLG_INPUT_ERROR, CReanimator::SPR_FLAG_DELETE_WHEN_DONE);
//.........这里部分代码省略.........