-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 46 |
1 files changed, 16 insertions, 30 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index 73df3ff..3f2699a 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp @@ -48,3 +48,3 @@ OImageScrollView::OImageScrollView (const QImage&img, QWidget * parent, const ch _original_data.convertDepth(QPixmap::defaultDepth()); - _original_data.setAlphaBuffer(false); + //_original_data.setAlphaBuffer(false); init(); @@ -72,3 +72,3 @@ void OImageScrollView::setImage(const QImage&img) _original_data.convertDepth(QPixmap::defaultDepth()); - _original_data.setAlphaBuffer(false); + //_original_data.setAlphaBuffer(false); m_lastName = ""; @@ -129,3 +129,3 @@ void OImageScrollView::setImage( const QString& path ) { _original_data.convertDepth(QPixmap::defaultDepth()); - _original_data.setAlphaBuffer(false); + //_original_data.setAlphaBuffer(false); } @@ -436,2 +436,7 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip { + if (!_pdata.size().isValid()) { + p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); + return; + } + int w = clipw; @@ -442,39 +447,20 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip - if (!_pdata.size().isValid()) { - p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); - return; - } - if (w>_pdata.width()) { - w=_pdata.width(); - x = 0; + w = _pdata.width()-x; erase = true; - } else if (x+w>_pdata.width()){ - x = _pdata.width()-w; } - if (h>_pdata.height()) { - h=_pdata.height(); - y = 0; + h = _pdata.height()-y; erase = true; - } else if (y+h>_pdata.height()){ - y = _pdata.height()-h; } - - if (erase||_original_data.hasAlphaBuffer()||clipy>_pdata.height()||clipx>_pdata.width()) { - odebug << QSize(clipx,clipy) << " # " << QSize(clipw,cliph) << oendl; + if (!erase && (clipy+cliph>_pdata.height()||clipx+clipw>_pdata.width())) { + erase = true; + } + if (erase||_original_data.hasAlphaBuffer()) { p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); } - odebug << QSize(x,y) << " - " << QSize(w,h) << oendl; - if (clipy<=_pdata.height()&&clipx<=_pdata.width()) { -#if 0 - odebug << "painting image content" << oendl; -#endif + if (w>0 && h>0&&x<_pdata.width()&&y<_pdata.height()) { + odebug << "Drawing pixmap" << oendl; p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); } -#if 0 -else { - odebug << "not painting image content" << oendl; - } -#endif } |