本文整理汇总了C++中WDL_String::SetFormatted方法的典型用法代码示例。如果您正苦于以下问题:C++ WDL_String::SetFormatted方法的具体用法?C++ WDL_String::SetFormatted怎么用?C++ WDL_String::SetFormatted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WDL_String
的用法示例。
在下文中一共展示了WDL_String::SetFormatted方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnMouseDown
void IGraphics::OnMouseDown(int x, int y, IMouseMod* pMod)
{
ReleaseMouseCapture();
int c = GetMouseControlIdx(x, y);
if (c >= 0)
{
mMouseCapture = c;
mMouseX = x;
mMouseY = y;
IControl* pControl = mControls.Get(c);
int paramIdx = pControl->ParamIdx();
#if defined OS_WIN || defined VST3_API // on Mac, IGraphics.cpp is not compiled in a static library, so this can be #ifdef'd
if (mPlug->GetAPI() == kAPIVST3)
{
if (pMod->R && paramIdx >= 0)
{
ReleaseMouseCapture();
mPlug->PopupHostContextMenuForParam(paramIdx, x, y);
return;
}
}
#endif
#ifdef AAX_API
if (mAAXViewContainer && paramIdx >= 0)
{
uint32_t mods = GetAAXModifiersFromIMouseMod(pMod);
#ifdef OS_WIN
// required to get start/windows and alt keys
uint32_t aaxViewMods = 0;
mAAXViewContainer->GetModifiers(&aaxViewMods);
mods |= aaxViewMods;
#endif
WDL_String paramID;
paramID.SetFormatted(32, "%i", paramIdx+1);
if (mAAXViewContainer->HandleParameterMouseDown(paramID.Get(), mods) == AAX_SUCCESS)
{
return; // event handled by PT
}
}
#endif
if (paramIdx >= 0)
{
mPlug->BeginInformHostOfParamChange(paramIdx);
}
pControl->OnMouseDown(x, y, pMod);
}
}
示例2: Draw
// The OS is announcing what needs to be redrawn,
// which may be a larger area than what is strictly dirty.
bool IGraphics::Draw(IRECT* pR)
{
// #pragma REMINDER("Mutex set while drawing")
// WDL_MutexLock lock(&mMutex);
int i, j, n = mControls.GetSize();
if (!n)
{
return true;
}
if (mStrict)
{
mDrawRECT = *pR;
int n = mControls.GetSize();
IControl** ppControl = mControls.GetList();
for (int i = 0; i < n; ++i, ++ppControl)
{
IControl* pControl = *ppControl;
if (!(pControl->IsHidden()) && pR->Intersects(pControl->GetRECT()))
{
pControl->Draw(this);
}
pControl->SetClean();
}
}
else
{
IControl* pBG = mControls.Get(0);
if (pBG->IsDirty()) // Special case when everything needs to be drawn.
{
mDrawRECT = *(pBG->GetRECT());
for (int j = 0; j < n; ++j)
{
IControl* pControl2 = mControls.Get(j);
if (!j || !(pControl2->IsHidden()))
{
pControl2->Draw(this);
pControl2->SetClean();
}
}
}
else
{
for (i = 1; i < n; ++i) // loop through all controls starting from one (not bg)
{
IControl* pControl = mControls.Get(i); // assign control i to pControl
if (pControl->IsDirty()) // if pControl is dirty
{
// printf("control %i is Dirty\n", i);
mDrawRECT = *(pControl->GetRECT()); // put the rect in the mDrawRect member variable
for (j = 0; j < n; ++j) // loop through all controls
{
IControl* pControl2 = mControls.Get(j); // assign control j to pControl2
// if control1 == control2 OR control2 is not hidden AND control2's rect intersects mDrawRect
if (!pControl2->IsHidden() && (i == j || pControl2->GetRECT()->Intersects(&mDrawRECT)))
{
//if ((i == j) && (!pControl2->IsHidden())|| (!(pControl2->IsHidden()) && pControl2->GetRECT()->Intersects(&mDrawRECT))) {
//printf("control %i and %i \n", i, j);
pControl2->Draw(this);
}
}
pControl->SetClean();
}
}
}
}
#ifndef NDEBUG
if (mShowControlBounds)
{
for (int j = 1; j < mControls.GetSize(); j++)
{
IControl* pControl = mControls.Get(j);
DrawRect(&CONTROL_BOUNDS_COLOR, pControl->GetRECT());
}
WDL_String str;
str.SetFormatted(32, "x: %i, y: %i", mMouseX, mMouseY);
IText txt(20, &CONTROL_BOUNDS_COLOR);
IRECT rect(Width() - 150, Height() - 20, Width(), Height());
DrawIText(&txt, str.Get(), &rect);
}
#endif
return DrawScreen(pR);
}
示例3: EffectInit
AAX_Result IPlugAAX::EffectInit()
{
TRACE;
AAX_CString bypassID = NULL;
this->GetMasterBypassParameter( &bypassID );
mBypassParameter = new AAX_CParameter<bool>(bypassID.CString(),
AAX_CString("Master Bypass"),
false,
AAX_CBinaryTaperDelegate<bool>(),
AAX_CBinaryDisplayDelegate<bool>("bypass", "on"),
true);
mBypassParameter->SetNumberOfSteps( 2 );
mBypassParameter->SetType( AAX_eParameterType_Discrete );
mParameterManager.AddParameter(mBypassParameter);
for (int i=0;i<NParams();i++)
{
IParam *p = GetParam(i);
AAX_IParameter* param = 0;
WDL_String* paramID = new WDL_String("_", 1);
paramID->SetFormatted(32, "%i", i+kAAXParamIdxOffset);
mParamIDs.Add(paramID);
switch (p->Type())
{
case IParam::kTypeDouble:
{
param = new AAX_CParameter<double>(paramID->Get(),
AAX_CString(p->GetNameForHost()),
p->GetDefault(),
AAX_CIPlugTaperDelegate<double>(p->GetMin(), p->GetMax(), p->GetShape()),
AAX_CUnitDisplayDelegateDecorator<double>( AAX_CNumberDisplayDelegate<double>(), AAX_CString(p->GetLabelForHost())),
p->GetCanAutomate());
param->SetNumberOfSteps(128); // TODO: check this https://developer.digidesign.com/index.php?L1=5&L2=13&L3=56
param->SetType(AAX_eParameterType_Continuous);
break;
}
case IParam::kTypeInt:
{
param = new AAX_CParameter<int>(paramID->Get(),
AAX_CString(p->GetNameForHost()),
(int)p->GetDefault(),
AAX_CLinearTaperDelegate<int>((int)p->GetMin(), (int)p->GetMax()),
AAX_CUnitDisplayDelegateDecorator<int>( AAX_CNumberDisplayDelegate<int>(), AAX_CString(p->GetLabelForHost())),
p->GetCanAutomate());
param->SetNumberOfSteps(128);
param->SetType(AAX_eParameterType_Continuous);
break;
}
case IParam::kTypeEnum:
case IParam::kTypeBool:
{
int nTexts = p->GetNDisplayTexts();
std::map<int, AAX_CString> displayTexts;
for (int j=0; j<p->GetNDisplayTexts(); j++)
{
int value;
const char* text = p->GetDisplayTextAtIdx(j, &value);
displayTexts.insert(std::pair<int, AAX_CString>(value, AAX_CString(text)) );
}
param = new AAX_CParameter<int>(paramID->Get(),
AAX_CString(p->GetNameForHost()),
(int)p->GetDefault(),
AAX_CLinearTaperDelegate<int>((int)p->GetMin(), (int)p->GetMax()),
AAX_CStringDisplayDelegate<int>(displayTexts),
p->GetCanAutomate());
param->SetNumberOfSteps(nTexts);
param->SetType(AAX_eParameterType_Discrete);
break;
}
default:
break;
}
mParameterManager.AddParameter(param);
}
AAX_CSampleRate sr;
Controller()->GetSampleRate(&sr);
SetSampleRate(sr);
Reset();
return AAX_SUCCESS;
}