本文整理汇总了C++中GeneratedCode::getUniqueSuffix方法的典型用法代码示例。如果您正苦于以下问题:C++ GeneratedCode::getUniqueSuffix方法的具体用法?C++ GeneratedCode::getUniqueSuffix怎么用?C++ GeneratedCode::getUniqueSuffix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GeneratedCode
的用法示例。
在下文中一共展示了GeneratedCode::getUniqueSuffix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fillInGeneratedCode
void JucerFillType::fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode) const
{
String s;
switch (mode)
{
case solidColour:
s << "g.setColour (" << colourToCode (colour) << ");\n";
break;
case linearGradient:
case radialGradient:
{
String x1, y1, w, h, x2, y2;
positionToCode (gradPos1, code.document->getComponentLayout(), x1, y1, w, h);
positionToCode (gradPos2, code.document->getComponentLayout(), x2, y2, w, h);
s << "g.setGradientFill (ColourGradient (";
const String indent (String::repeatedString (T(" "), s.length()));
s << colourToCode (gradCol1) << ",\n"
<< indent << castToFloat (x1) << ", " << castToFloat (y1) << ",\n"
<< indent << colourToCode (gradCol2) << ",\n"
<< indent << castToFloat (x2) << ", " << castToFloat (y2) << ",\n"
<< indent << boolToString (mode == radialGradient) << "));\n";
break;
}
case imageBrush:
{
const String imageVariable ("cachedImage_" + imageResourceName + "_" + String (code.getUniqueSuffix()));
code.addImageResourceLoader (imageVariable, imageResourceName);
String x, y, w, h;
positionToCode (imageAnchor, code.document->getComponentLayout(), x, y, w, h);
s << "g.setTiledImageFill (*";
const String indent (String::repeatedString (T(" "), s.length()));
s << imageVariable << ",\n"
<< indent << x << ", " << y << ",\n"
<< indent << valueToFloat (imageOpacity) << ");\n";
break;
}
default:
jassertfalse
break;
}
paintMethodCode += s;
}
示例2: fillInGeneratedCode
void PaintElementPath::fillInGeneratedCode (GeneratedCode& code, String& paintMethodCode)
{
if (fillType.isInvisible() && (strokeType.isInvisible() || ! isStrokePresent))
return;
const String pathVariable ("internalPath" + String (code.getUniqueSuffix()));
const ComponentLayout* layout = code.document->getComponentLayout();
code.privateMemberDeclarations
<< "Path " << pathVariable << ";\n";
String r;
bool somePointsAreRelative = false;
if (! nonZeroWinding)
r << pathVariable << ".setUsingNonZeroWinding (false);\n";
for (int i = 0; i < points.size(); ++i)
{
const PathPoint* const p = points.getUnchecked(i);
switch (p->type)
{
case Path::Iterator::startNewSubPath:
r << pathVariable << ".startNewSubPath (" << positionToPairOfValues (p->pos[0], layout) << ");\n";
somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute();
break;
case Path::Iterator::lineTo:
r << pathVariable << ".lineTo (" << positionToPairOfValues (p->pos[0], layout) << ");\n";
somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute();
break;
case Path::Iterator::quadraticTo:
r << pathVariable << ".quadraticTo (" << positionToPairOfValues (p->pos[0], layout)
<< ", " << positionToPairOfValues (p->pos[1], layout) << ");\n";
somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute();
somePointsAreRelative = somePointsAreRelative || ! p->pos[1].rect.isPositionAbsolute();
break;
case Path::Iterator::cubicTo:
r << pathVariable << ".cubicTo (" << positionToPairOfValues (p->pos[0], layout)
<< ", " << positionToPairOfValues (p->pos[1], layout)
<< ", " << positionToPairOfValues (p->pos[2], layout) << ");\n";
somePointsAreRelative = somePointsAreRelative || ! p->pos[0].rect.isPositionAbsolute();
somePointsAreRelative = somePointsAreRelative || ! p->pos[1].rect.isPositionAbsolute();
somePointsAreRelative = somePointsAreRelative || ! p->pos[2].rect.isPositionAbsolute();
break;
case Path::Iterator::closePath:
r << pathVariable << ".closeSubPath();\n";
break;
default:
jassertfalse;
break;
}
}
r << '\n';
if (somePointsAreRelative)
code.getCallbackCode (String::empty, "void", "resized()", false)
<< pathVariable << ".clear();\n" << r;
else
code.constructorCode << r;
if (! fillType.isInvisible())
{
fillType.fillInGeneratedCode (code, paintMethodCode);
paintMethodCode << "g.fillPath (" << pathVariable << ");\n";
}
if (isStrokePresent && ! strokeType.isInvisible())
{
String s;
strokeType.fill.fillInGeneratedCode (code, s);
s << "g.strokePath (" << pathVariable << ", " << strokeType.getPathStrokeCode() << ");\n";
paintMethodCode += s;
}
paintMethodCode += "\n";
}