コード例 #1
0
ファイル: stitcherview.cpp プロジェクト: FXIhub/hawk
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();
}
コード例 #2
0
ファイル: stitcherview.cpp プロジェクト: FXIhub/hawk
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);
    }
  }
}
コード例 #3
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);
}
コード例 #4
0
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);
}
コード例 #5
0
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);
}
コード例 #6
0
ファイル: tdefileividesktop.cpp プロジェクト: Fat-Zer/tdebase
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 );
}