author | alwin <alwin> | 2004-04-21 10:47:31 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-21 10:47:31 (UTC) |
commit | 6902a2e25e93f2c2d472b89a35e19668dffd4866 (patch) (side-by-side diff) | |
tree | 7512cf17ca49b420dd4e6c9758fcc846b5e8cd1a /libopie2/opiemm | |
parent | f4ab243362a9b93f17e92bbf3189324f66c8f686 (diff) | |
download | opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.zip opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.tar.gz opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.tar.bz2 |
improved painting, eg., when clip area is outside image we must not
paint the image of course....
-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index a8165a4..73df3ff 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp @@ -446,2 +446,3 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip } + if (w>_pdata.width()) { @@ -453,2 +454,3 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip } + if (h>_pdata.height()) { @@ -460,7 +462,20 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip } - if (erase||_original_data.hasAlphaBuffer()) { + + if (erase||_original_data.hasAlphaBuffer()||clipy>_pdata.height()||clipx>_pdata.width()) { + odebug << QSize(clipx,clipy) << " # " << QSize(clipw,cliph) << oendl; 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 p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); } +#if 0 +else { + odebug << "not painting image content" << oendl; + } +#endif +} |