本文整理汇总了C++中FixtureGroup::headHash方法的典型用法代码示例。如果您正苦于以下问题:C++ FixtureGroup::headHash方法的具体用法?C++ FixtureGroup::headHash怎么用?C++ FixtureGroup::headHash使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FixtureGroup
的用法示例。
在下文中一共展示了FixtureGroup::headHash方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createPreviewItems
bool RGBMatrixEditor::createPreviewItems()
{
m_previewHash.clear();
m_scene->clear();
FixtureGroup* grp = m_doc->fixtureGroup(m_matrix->fixtureGroup());
if (grp == NULL)
{
QGraphicsTextItem* text = new QGraphicsTextItem(tr("No fixture group to control"));
text->setDefaultTextColor(Qt::white);
m_scene->addItem(text);
return false;
}
m_previewDirection = m_matrix->direction();
if (m_previewDirection == Function::Forward)
{
m_matrix->setStepColor(m_matrix->startColor());
}
else
{
if (m_matrix->endColor().isValid())
m_matrix->setStepColor(m_matrix->endColor());
else
m_matrix->setStepColor(m_matrix->startColor());
}
m_matrix->calculateColorDelta();
m_previewMaps = m_matrix->previewMaps();
if ((m_previewDirection == Function::Forward) || m_previewMaps.isEmpty())
{
m_previewStep = 0;
}
else
{
m_previewStep = m_previewMaps.size() - 1;
}
RGBMap map;
if (m_previewStep < m_previewMaps.size())
map = m_previewMaps[m_previewStep];
if (map.isEmpty())
return false;
for (int x = 0; x < grp->size().width(); x++)
{
for (int y = 0; y < grp->size().height(); y++)
{
QLCPoint pt(x, y);
if (grp->headHash().contains(pt) == true)
{
RGBItem* item = new RGBItem;
item->setRect(x * RECT_SIZE + RECT_PADDING + ITEM_PADDING,
y * RECT_SIZE + RECT_PADDING + ITEM_PADDING,
ITEM_SIZE - (2 * ITEM_PADDING),
ITEM_SIZE - (2 * ITEM_PADDING));
item->setColor(map[y][x]);
item->draw(0);
m_scene->addItem(item);
m_previewHash[pt] = item;
}
}
}
return true;
}