void StitcherView::mouseMoveEvent(QMouseEvent * event){ if(mode == Line || mode == Circle){ lineEnd = event->pos(); scene()->update(); } else if(dragged && event->buttons() & Qt::LeftButton && (event->modifiers() & Qt::ShiftModifier)){ QPointF mov = dragged->mapFromScene(mapToScene(event->pos()))-dragged->mapFromScene(mouseLastScenePos); dragged->setDx(dragged->dx()+mov.x()); dragged->setDy(dragged->dy()+mov.y()); emit imageItemGeometryChanged(dragged); }else if(event->buttons() & Qt::LeftButton){ QPointF mov = mapToScene(event->pos())-mouseLastScenePos; // emit translateBy(mov); setSceneRect(sceneRect().translated(-mov)); }else if(event->buttons() & Qt::RightButton){ if(event->modifiers() & Qt::ShiftModifier){ /* Only change Dz of selected image */ if(selectedImage()){ QPointF mouse_mov = mapToScene(event->pos())-mouseLastScenePos; qreal speed = 0.005; qreal scale = 1-mouse_mov.y()*speed; selectedImage()->setDz(selectedImage()->dz()*scale); emit imageItemGeometryChanged(selectedImage()); } }else{ QPointF mouse_mov = mapToScene(event->pos())-mouseLastScenePos; qreal speed = 0.005; qreal scale = 1-mouse_mov.y()*speed; scaleScene(scale); } } mouseOverValue(event); mouseLastScenePos = mapToScene(event->pos()); event->accept(); }
void StitcherView::saveImage(){ if(selectedImage() && selectedImage()->getImage()){ QString fileName = QFileDialog::getSaveFileName(this, tr("Save Image")); qDebug("Trying to save %s",fileName.toAscii().data()); if(!fileName.isEmpty()){ sp_image_write(selectedImage()->getImage(),fileName.toAscii().data(),0); } } }
void ImageManager::prevImage(bool passed) { image_index--; if (image_index < 0)image_index = image_locations.size() - 1; image_display->setImage(getImage(image_index)); texture_display->setImage(getTexture(image_index)); emit selectedImage(image_index); }
void ImageManager::nextImage(bool passed) { image_index++; if (image_index >= image_locations.size())image_index = 0; image_display->setImage(getImage(image_index)); texture_display->setImage(getTexture(image_index)); emit selectedImage(image_index); }
void ImageManager::setTextureLocations(QStringList passed) { QImage image; QSize size; for (int loop = 0; loop < passed.size(); loop++) { if (image.load(passed.at(loop)) == false) { cerr << "Error cant load texture file: " << passed[loop].toStdString().c_str() << endl; return; }; if (loop == 0)size = image.size(); if (image.size().width() != size.width()) if (image.size().width() != size.width()) { cerr << "Texture file at: " << passed[loop].toStdString().c_str() << " is not the same size as other images" << endl; return; } } texture_locations = passed; textures_ready = true; number_of_textures = passed.size(); image.load(passed.front()); texture_display->setImage(image); image_index = 0; image_display->setImage(getFirstImage()); texture_display->setImage(getFirstTexture()); emit selectedImage(image_index); }
void KFileIVIDesktop::drawShadowedText( TQPainter *p, const TQColorGroup &cg ) { bool drawRoundedRect = TDEGlobalSettings::iconUseRoundedRect(); int textX; if (drawRoundedRect == true) textX = textRect( FALSE ).x() + 4; else textX = textRect( FALSE ).x() + 2; int textY = textRect( FALSE ).y(); int align = ((TDEIconView *) iconView())->itemTextPos() == TQIconView::Bottom ? AlignHCenter : AlignAuto; // FIXME // Work around incorrect shadow position detailed in Bug 1807 bool rebuild = true; // shouldUpdateShadow(isSelected()); KDesktopShadowSettings *settings = (KDesktopShadowSettings *) (m_shadow->shadowSettings()); unsigned long uid = settings->UID(); p->setFont(iconView()->font()); paintFontUpdate(p); TQColor shadow; TQColor text; int spread = shadowThickness(); if ( isSelected() && settings->selectionType() != KShadowSettings::InverseVideoOnSelection ) { text = cg.highlightedText(); TQRect rect = textRect( false ); rect.setRight( rect.right() - spread ); rect.setBottom( rect.bottom() - spread + 1 ); if (drawRoundedRect == true) { p->setBrush( TQBrush( cg.highlight() ) ); p->setPen( TQPen( cg.highlight() ) ); p->drawRoundRect( rect, 1000 / rect.width(), 1000 / rect.height() ); } else { p->fillRect( textRect( false ), cg.highlight() ); } } else { // use shadow if ( isSelected() ) { // inverse text and shadow colors shadow = settings->textColor(); text = settings->bgColor(); if ( rebuild ) { setSelectedImage( buildShadow( p, align, shadow ) ); _selectedUID = uid; } } else { text = settings->textColor(); shadow = ( settings->bgColor().isValid() ) ? settings->bgColor() : ( tqGray( text.rgb() ) > 127 ) ? black : white; if (rebuild) { setNormalImage(buildShadow(p, align, shadow)); _normalUID = uid; } } // draw the shadow int shadowX = textX - spread + settings->offsetX(); int shadowY = textY - spread + settings->offsetY(); p->drawImage(shadowX, shadowY, (isSelected()) ? *selectedImage() : *normalImage(), 0, 0, -1, -1, DITHER_FLAGS); } // draw the text p->setPen(text); wordWrap()->drawText( p, textX, textY, align | KWordWrap::Truncate ); }