void SelectionAnimator::selectionTimelineValue(qreal value) { // Direction Togelling if (value>=0.7 && this->selectionEffectTimeline->direction()==QTimeLine::Forward ) { this->selectionEffectTimeline->toggleDirection(); } else if (value<=0.35 && this->selectionEffectTimeline->direction()==QTimeLine::Backward) { this->selectionEffectTimeline->toggleDirection(); } // Propagate to selected Items //------------- QList<QGraphicsItem*> items = this->scene->selectedItems(); for (int i=0;i<items.size();i++) { // Get Item QGraphicsItem * item = items.at(i)->topLevelItem(); // Change opacity item->setOpacity(value); } }
void TupGraphicsScene::addGraphicObject(TupGraphicObject *object, double opacity) { /* #ifdef K_DEBUG T_FUNCINFO; #endif */ QGraphicsItem *item = object->item(); k->onionSkin.opacityMap.insert(item, opacity); if (TupItemGroup *group = qgraphicsitem_cast<TupItemGroup *>(item)) group->recoverChilds(); if (! qgraphicsitem_cast<TupItemGroup *>(item->parentItem())) { item->setSelected(false); TupLayer *layer = k->scene->layer(k->framePosition.layer); if (layer) { TupFrame *frame = layer->frame(k->framePosition.frame); if (frame) { item->setOpacity(opacity); // k->objectCounter++; addItem(item); } } } }
/** * @brief MapView::blitTile * @param i * @param j * @param bl * @param layer * @param opacity */ void MapView::blitTile(int i, int j, int bl, int layer, float opacity) { QPixmap tile = chipset.copy((bl%(chipset.width()/BLOCSIZE))*BLOCSIZE,(bl/(chipset.width()/BLOCSIZE))*BLOCSIZE,BLOCSIZE,BLOCSIZE); QGraphicsItem * item = this->addPixmap(tile); item->setZValue(layer); item->setOpacity(opacity); item->setPos(i*BLOCSIZE,j*BLOCSIZE); }
void DigitizeStateSelect::setHoverHighlighting(const MainWindowModel &modelMainWindow) { LOG4CPP_INFO_S ((*mainCat)) << "DigitizeStateSelect::addHoverHighlighting"; // Set the opacity for all points. It should be already set for pre-existing points QList<QGraphicsItem*> items = context().mainWindow().scene().items(); QList<QGraphicsItem*>::iterator itr; for (itr = items.begin (); itr != items.end (); itr++) { QGraphicsItem *item = *itr; if (item->data (DATA_KEY_GRAPHICS_ITEM_TYPE) == GRAPHICS_ITEM_TYPE_POINT) { item->setOpacity (modelMainWindow.highlightOpacity()); } } }
/** * A layer has changed. This can mean that the layer visibility, opacity or * offset changed. */ void MapItem::layerChanged(Layer *layer) { Preferences *prefs = Preferences::instance(); QGraphicsItem *layerItem = mLayerItems.value(layer); Q_ASSERT(layerItem); layerItem->setVisible(layer->isVisible()); qreal multiplier = 1; if (prefs->highlightCurrentLayer() && isAbove(mapDocument()->currentLayer(), layer)) multiplier = opacityFactor; layerItem->setOpacity(layer->opacity() * multiplier); layerItem->setPos(layer->offset()); updateBoundingRect(); // possible layer offset change }
/** * A layer has changed. This can mean that the layer visibility, opacity or * offset changed. */ void MapScene::layerChanged(int index) { const Layer *layer = mMapDocument->map()->layerAt(index); QGraphicsItem *layerItem = mLayerItems.at(index); layerItem->setVisible(layer->isVisible()); qreal multiplier = 1; if (mHighlightCurrentLayer && mMapDocument->currentLayerIndex() < index) multiplier = opacityFactor; layerItem->setOpacity(layer->opacity() * multiplier); layerItem->setPos(layer->offset()); // Layer offset may have changed, affecting the scene rect and grid updateSceneRect(); if (mGridVisible) update(); }
// ////////////////////////////Drawing the inactive intersection space//////////////////////////////////// void LvlScene::drawSpace() { const long padding = 400000; WriteToLog(QtDebugMsg, QString("Draw intersection space-> Find and remove current")); foreach(QGraphicsItem * spaceItem, items()) { if(spaceItem->data(0).toString()=="Space") { removeItem(spaceItem); delete spaceItem; continue; } if(spaceItem->data(0).toString()=="SectionBorder") { removeItem(spaceItem); delete spaceItem; continue; } } QPolygon bigSpace; QGraphicsItem * item; QGraphicsItem * item2; QVector<QPoint > drawing; int i, j; long l, r, t, b; //x, y, h, w; WriteToLog(QtDebugMsg, QString("Draw intersection space-> Find minimal")); j=-1; do { j++; l = LvlData->sections[j].size_left; r = LvlData->sections[j].size_right; t = LvlData->sections[j].size_top; b = LvlData->sections[j].size_bottom; } while( ((LvlData->sections[j].size_left==0) && (LvlData->sections[j].size_right==0) && (LvlData->sections[j].size_top==0) && (LvlData->sections[j].size_bottom==0)) && (j<LvlData->sections.size()) ); for(i=0; i<LvlData->sections.size(); i++) { if( (LvlData->sections[i].size_left==0) && (LvlData->sections[i].size_right==0) && (LvlData->sections[i].size_top==0) && (LvlData->sections[i].size_bottom==0)) continue; if(LvlData->sections[i].size_left < l) l = LvlData->sections[i].size_left; if(LvlData->sections[i].size_right > r) r = LvlData->sections[i].size_right; if(LvlData->sections[i].size_top < t) t = LvlData->sections[i].size_top; if(LvlData->sections[i].size_bottom > b) b = LvlData->sections[i].size_bottom; } WriteToLog(QtDebugMsg, QString("Draw intersection space-> Draw polygon")); drawing.clear(); drawing.push_back(QPoint(l-padding, t-padding)); drawing.push_back(QPoint(r+padding, t-padding)); drawing.push_back(QPoint(r+padding, b+padding)); drawing.push_back(QPoint(l-padding, b+padding)); drawing.push_back(QPoint(l-padding, t+padding)); bigSpace = QPolygon(drawing); l = LvlData->sections[LvlData->CurSection].size_left; r = LvlData->sections[LvlData->CurSection].size_right; t = LvlData->sections[LvlData->CurSection].size_top; b = LvlData->sections[LvlData->CurSection].size_bottom; WriteToLog(QtDebugMsg, QString("Draw intersection space-> Draw editing hole")); drawing.clear(); drawing.push_back(QPoint(l-1, t-1)); drawing.push_back(QPoint(r+1, t-1)); drawing.push_back(QPoint(r+1, b+1)); drawing.push_back(QPoint(l-1, b+1)); drawing.push_back(QPoint(l-1, t-1)); bigSpace = bigSpace.subtracted(QPolygon(drawing)); WriteToLog(QtDebugMsg, QString("Draw intersection space-> add polygon to Item")); item = addPolygon(bigSpace, QPen(Qt::NoPen), QBrush(Qt::black));//Add inactive space item2 = addPolygon(QPolygon(drawing), QPen(Qt::red, 2)); item->setZValue(spaceZ1); item2->setZValue(spaceZ2); item->setOpacity(qreal(0.4)); item->setData(0, "Space"); item2->setData(0, "SectionBorder"); }