本文整理汇总了C++中TupScene::soundLayers方法的典型用法代码示例。如果您正苦于以下问题:C++ TupScene::soundLayers方法的具体用法?C++ TupScene::soundLayers怎么用?C++ TupScene::soundLayers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TupScene
的用法示例。
在下文中一共展示了TupScene::soundLayers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: render
void TupScreen::render()
{
#ifdef K_DEBUG
T_FUNCINFO;
#endif
TupScene *scene = k->project->scene(k->currentSceneIndex);
if (!scene) {
#ifdef K_DEBUG
tError() << "TupScreen::render() - [ Fatal Error ] - Scene is NULL! -> index: " << k->currentSceneIndex;
#endif
return;
}
k->sounds.clear();
foreach (TupSoundLayer *layer, scene->soundLayers().values())
k->sounds << layer;
TupAnimationRenderer renderer(k->project->bgColor());
renderer.setScene(scene, k->project->dimension());
QFont font = this->font();
font.setPointSize(8);
QProgressDialog progressDialog(this, Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::Dialog);
progressDialog.setFont(font);
progressDialog.setLabelText(tr("Rendering..."));
progressDialog.setCancelButton(0);
progressDialog.setRange(1, renderer.totalPhotograms());
QDesktopWidget desktop;
progressDialog.move((int) (desktop.screenGeometry().width() - progressDialog.width())/2,
(int) (desktop.screenGeometry().height() - progressDialog.height())/2);
progressDialog.show();
QList<QImage> photogramList;
int i = 1;
while (renderer.nextPhotogram()) {
QImage renderized = QImage(k->project->dimension(), QImage::Format_RGB32);
QPainter painter(&renderized);
painter.setRenderHint(QPainter::Antialiasing);
renderer.render(&painter);
if (k->isScaled) {
QImage resized = renderized.scaledToWidth(k->screenDimension.width(), Qt::SmoothTransformation);
photogramList << resized;
} else {
photogramList << renderized;
}
progressDialog.setValue(i);
i++;
}
k->photograms = photogramList;
k->animationList.replace(k->currentSceneIndex, photogramList);
k->renderControl.replace(k->currentSceneIndex, true);
}
示例2: insertSymbolIntoFrame
//.........这里部分代码省略.........
libraryItem->moveBy(0, 0);
int zLevel = frame->getTopZLevel();
libraryItem->setZValue(zLevel);
frame->addItem(name, libraryItem);
}
break;
case TupLibraryObject::Svg:
{
QString path(object->dataPath());
TupSvgItem *svgItem = new TupSvgItem(path, frame);
svgItem->setSymbolName(name);
int svgW = svgItem->boundingRect().width();
int svgH = svgItem->boundingRect().height();
if (k->dimension.width() > svgW && k->dimension.height() > svgH) {
svgItem->moveBy((k->dimension.width() - svgW)/2, (k->dimension.height() - svgH)/2);
} else {
qreal factorW = ((qreal)k->dimension.width())/((qreal)svgW);
qreal factorH = ((qreal)k->dimension.height())/((qreal)svgH);
if (factorW < factorH)
svgItem->setScale(factorW);
else
svgItem->setScale(factorH);
svgItem->moveBy(0, 0);
}
int zLevel = frame->getTopZLevel();
svgItem->setZValue(zLevel);
frame->addSvgItem(name, svgItem);
}
break;
case TupLibraryObject::Text:
{
// SQA: Just out of curiosity, check if this case really happens!
// tFatal() << "TupProject::insertSymbolIntoFrame() - Just tracing text!";
TupGraphicLibraryItem *libraryItem = new TupGraphicLibraryItem(object);
int zLevel = frame->getTopZLevel();
libraryItem->setZValue(zLevel);
frame->addItem(name, libraryItem);
}
break;
case TupLibraryObject::Sound:
{
TupSoundLayer *sound = scene->createSoundLayer(scene->soundLayers().count());
sound->fromSymbol(object->symbolName());
}
break;
default:
#ifdef K_DEBUG
QString msg = "TupProject::insertSymbolIntoFrame() -> Unknown Object Type";
#ifdef Q_OS_WIN
qDebug() << msg;
#else
tFatal() << msg;
#endif
#endif
break;
}
return true;
} else {
#ifdef K_DEBUG
QString msg = "TupProject::insertSymbolIntoFrame() - Object NOT found at library! " + name;
#ifdef Q_OS_WIN
qDebug() << msg;
#else
tError() << msg;
#endif
#endif
return false;
}
} else {
#ifdef K_DEBUG
QString msg = "TupProject::insertSymbolIntoFrame() - Invalid frame!";
#ifdef Q_OS_WIN
qDebug() << msg;
#else
tError() << msg;
#endif
#endif
}
} else {
#ifdef K_DEBUG
QString msg = "TupProject::insertSymbolIntoFrame() - Invalid scene!";
#ifdef Q_OS_WIN
qDebug() << msg;
#else
tError() << msg;
#endif
#endif
}
return false;
}