Index: scribusview.cpp =================================================================== RCS file: /cvs/Scribus/scribus/scribusview.cpp,v retrieving revision 1.76.2.195 diff -u -3 -p -u -r1.76.2.195 scribusview.cpp --- scribusview.cpp 16 May 2005 16:11:41 -0000 1.76.2.195 +++ scribusview.cpp 16 May 2005 22:10:27 -0000 @@ -10567,7 +10570,6 @@ void ScribusView::removePict(QString nam if ((currItem->PicAvail) && (currItem->Pfile == name)) { currItem->PicAvail = false; - currItem->pixm = QImage(); /* if (currItem->itemType() == PageItem::ImageFrame) emit UpdtObj(Doc->currentPage->PageNr, currItem->ItemNr); */ } @@ -10578,7 +10580,6 @@ void ScribusView::removePict(QString nam if ((currItem->PicAvail) && (currItem->Pfile == name)) { currItem->PicAvail = false; - currItem->pixm = QImage(); } } updateContents(); Index: scpainter.cpp =================================================================== RCS file: /cvs/Scribus/scribus/scpainter.cpp,v retrieving revision 1.19.2.10 diff -u -3 -p -u -r1.19.2.10 scpainter.cpp --- scpainter.cpp 22 Apr 2005 22:41:57 -0000 1.19.2.10 +++ scpainter.cpp 16 May 2005 22:10:27 -0000 @@ -929,8 +931,11 @@ void ScPainter::setClipPath() art_free( temp1 ); } -void ScPainter::drawImage( QImage *image ) + + +void ScPainter::drawImage( QImage *image, bool avail ) { + int alpha=255; double affineresult[6]; affineresult[0] = m_matrix.m11() * m_zoomFactor; affineresult[1] = m_matrix.m12() * m_zoomFactor; @@ -938,6 +943,8 @@ void ScPainter::drawImage( QImage *image affineresult[3] = m_matrix.m22() * m_zoomFactor; affineresult[4] = m_matrix.dx(); affineresult[5] = m_matrix.dy(); + + if (!avail) alpha=50; ksvg_art_rgb_affine_clip( m_clipPath, m_buffer, 0, 0, m_width, m_height, m_width * 4, 4, image->bits(), image->width(), image->height(), image->width() * 4, affineresult, qRound( 255 * fill_trans ), 0L ); Index: scpainter.h =================================================================== RCS file: /cvs/Scribus/scribus/scpainter.h,v retrieving revision 1.7.2.7 diff -u -3 -p -u -r1.7.2.7 scpainter.h --- scpainter.h 22 Apr 2005 22:41:57 -0000 1.7.2.7 +++ scpainter.h 16 May 2005 22:10:27 -0000 @@ -83,7 +83,7 @@ public: virtual void setGradient( VGradient::VGradientType mode, FPoint orig, FPoint vec, FPoint foc = FPoint(0,0)); virtual void setClipPath(); - virtual void drawImage( QImage *image ); + virtual void drawImage( QImage *image, bool avail = true ); virtual void setupPolygon(FPointArray *points, bool closed = true); virtual void setupTextPolygon(FPointArray *points); virtual void drawPolygon(); Index: pageitem.cpp =================================================================== RCS file: /cvs/Scribus/scribus/pageitem.cpp,v retrieving revision 1.121.2.130 diff -u -3 -p -u -r1.121.2.130 pageitem.cpp --- pageitem.cpp 16 May 2005 07:45:24 -0000 1.121.2.130 +++ pageitem.cpp 16 May 2005 22:10:29 -0000 @@ -511,7 +511,13 @@ void PageItem::DrawObj_ImageFrame(ScPain } else { - if ((!PicArt) || (!PicAvail)) + if (!PicAvail) + { + p->setPen(red, 1, DotLine, FlatCap, MiterJoin); + p->drawLine(FPoint(0, 0), FPoint(Width, Height)); + p->drawLine(FPoint(0, Height), FPoint(Width, 0)); + } + if (!PicArt) { if ((Frame) && (Doc->guidesSettings.framesShown)) { @@ -542,7 +548,7 @@ void PageItem::DrawObj_ImageFrame(ScPain p->scale(LocalScX, LocalScY); if (pixm.imgInfo.lowResType != 0) p->scale(pixm.imgInfo.lowResScale, pixm.imgInfo.lowResScale); - p->drawImage(&pixm); + p->drawImage(&pixm, PicAvail); p->restore(); } } @@ -629,7 +635,7 @@ void PageItem::DrawObj_TextFrame(ScPaint p->scale(LocalScX, LocalScY); p->translate(static_cast(LocalX*LocalScX), static_cast(LocalY*LocalScY)); if (!pixm.isNull()) - p->drawImage(&pixm); + p->drawImage(&pixm, PicAvail); p->restore(); } if ((itemText.count() != 0) && (Dirty))