author | alwin <alwin> | 2004-04-23 13:23:42 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-23 13:23:42 (UTC) |
commit | 25f3f2fe15578fd4deb04a951e3e23927977e032 (patch) (unidiff) | |
tree | 3768cf6f77f04c852caabb22e332f3e070709903 | |
parent | da6a98dbc555018a29bf140ed8e890015240b322 (diff) | |
download | opie-25f3f2fe15578fd4deb04a951e3e23927977e032.zip opie-25f3f2fe15578fd4deb04a951e3e23927977e032.tar.gz opie-25f3f2fe15578fd4deb04a951e3e23927977e032.tar.bz2 |
reduced the need of image calculations
-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index 3f2699a..72248c1 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp | |||
@@ -41,17 +41,17 @@ OImageScrollView::OImageScrollView (const QImage&img, QWidget * parent, const ch | |||
41 | _zoomer = 0; | 41 | _zoomer = 0; |
42 | m_states[AUTO_SCALE]=always_scale; | 42 | m_states[AUTO_SCALE]=always_scale; |
43 | m_states[AUTO_ROTATE]=rfit; | 43 | m_states[AUTO_ROTATE]=rfit; |
44 | m_states[FIRST_RESIZE_DONE]=false; | 44 | m_states[FIRST_RESIZE_DONE]=false; |
45 | m_states[IMAGE_IS_JPEG]=false; | 45 | m_states[IMAGE_IS_JPEG]=false; |
46 | m_states[IMAGE_SCALED_LOADED]=false; | 46 | m_states[IMAGE_SCALED_LOADED]=false; |
47 | m_states[SHOW_ZOOMER]=true; | 47 | m_states[SHOW_ZOOMER]=true; |
48 | _original_data.convertDepth(QPixmap::defaultDepth()); | 48 | _original_data.convertDepth(QPixmap::defaultDepth()); |
49 | //_original_data.setAlphaBuffer(false); | 49 | _original_data.setAlphaBuffer(false); |
50 | init(); | 50 | init(); |
51 | } | 51 | } |
52 | 52 | ||
53 | OImageScrollView::OImageScrollView (const QString&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit) | 53 | OImageScrollView::OImageScrollView (const QString&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit) |
54 | :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(),m_states(SCROLLVIEW_BITSET_SIZE),m_lastName("") | 54 | :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(),m_states(SCROLLVIEW_BITSET_SIZE),m_lastName("") |
55 | { | 55 | { |
56 | _zoomer = 0; | 56 | _zoomer = 0; |
57 | m_states.resize(SCROLLVIEW_BITSET_SIZE); | 57 | m_states.resize(SCROLLVIEW_BITSET_SIZE); |
@@ -65,17 +65,17 @@ OImageScrollView::OImageScrollView (const QString&img, QWidget * parent, const c | |||
65 | setImage(img); | 65 | setImage(img); |
66 | } | 66 | } |
67 | 67 | ||
68 | void OImageScrollView::setImage(const QImage&img) | 68 | void OImageScrollView::setImage(const QImage&img) |
69 | { | 69 | { |
70 | _image_data = QImage(); | 70 | _image_data = QImage(); |
71 | _original_data=img; | 71 | _original_data=img; |
72 | _original_data.convertDepth(QPixmap::defaultDepth()); | 72 | _original_data.convertDepth(QPixmap::defaultDepth()); |
73 | //_original_data.setAlphaBuffer(false); | 73 | _original_data.setAlphaBuffer(false); |
74 | m_lastName = ""; | 74 | m_lastName = ""; |
75 | setImageIsJpeg(false); | 75 | setImageIsJpeg(false); |
76 | setImageScaledLoaded(false); | 76 | setImageScaledLoaded(false); |
77 | if (FirstResizeDone()) { | 77 | if (FirstResizeDone()) { |
78 | generateImage(); | 78 | generateImage(); |
79 | } | 79 | } |
80 | } | 80 | } |
81 | 81 | ||
@@ -122,17 +122,17 @@ void OImageScrollView::setImage( const QString& path ) { | |||
122 | odebug << "Image type = " << itype << oendl; | 122 | odebug << "Image type = " << itype << oendl; |
123 | if (itype == "JPEG") { | 123 | if (itype == "JPEG") { |
124 | setImageIsJpeg(true); | 124 | setImageIsJpeg(true); |
125 | loadJpeg(); | 125 | loadJpeg(); |
126 | } else { | 126 | } else { |
127 | setImageIsJpeg(false); | 127 | setImageIsJpeg(false); |
128 | _original_data.load(path); | 128 | _original_data.load(path); |
129 | _original_data.convertDepth(QPixmap::defaultDepth()); | 129 | _original_data.convertDepth(QPixmap::defaultDepth()); |
130 | //_original_data.setAlphaBuffer(false); | 130 | _original_data.setAlphaBuffer(false); |
131 | } | 131 | } |
132 | _image_data = QImage(); | 132 | _image_data = QImage(); |
133 | if (FirstResizeDone()) { | 133 | if (FirstResizeDone()) { |
134 | generateImage(); | 134 | generateImage(); |
135 | if (isVisible()) viewport()->repaint(true); | 135 | if (isVisible()) viewport()->repaint(true); |
136 | } | 136 | } |
137 | } | 137 | } |
138 | 138 | ||
@@ -396,18 +396,19 @@ void OImageScrollView::generateImage() | |||
396 | _image_data=QImage(); | 396 | _image_data=QImage(); |
397 | if (isVisible()) { | 397 | if (isVisible()) { |
398 | updateContents(contentsX(),contentsY(),width(),height()); | 398 | updateContents(contentsX(),contentsY(),width(),height()); |
399 | } | 399 | } |
400 | } | 400 | } |
401 | 401 | ||
402 | void OImageScrollView::resizeEvent(QResizeEvent * e) | 402 | void OImageScrollView::resizeEvent(QResizeEvent * e) |
403 | { | 403 | { |
404 | odebug << "OImageScrollView resizeEvent" << oendl; | 404 | odebug << "OImageScrollView resizeEvent (" << e->size() << " - " << e->oldSize() << oendl; |
405 | QScrollView::resizeEvent(e); | 405 | QScrollView::resizeEvent(e); |
406 | if (e->oldSize()==e->size()||!isUpdatesEnabled ()) return; | ||
406 | generateImage(); | 407 | generateImage(); |
407 | setFirstResizeDone(true); | 408 | setFirstResizeDone(true); |
408 | emit viewportSizeChanged( viewport()->size() ); | 409 | emit viewportSizeChanged( viewport()->size() ); |
409 | 410 | ||
410 | } | 411 | } |
411 | 412 | ||
412 | void OImageScrollView::keyPressEvent(QKeyEvent * e) | 413 | void OImageScrollView::keyPressEvent(QKeyEvent * e) |
413 | { | 414 | { |