summaryrefslogtreecommitdiff
path: root/libopie2/opiemm/oimagezoomer.cpp
Unidiff
Diffstat (limited to 'libopie2/opiemm/oimagezoomer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiemm/oimagezoomer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie2/opiemm/oimagezoomer.cpp b/libopie2/opiemm/oimagezoomer.cpp
index d1eec67..b7ef238 100644
--- a/libopie2/opiemm/oimagezoomer.cpp
+++ b/libopie2/opiemm/oimagezoomer.cpp
@@ -153,81 +153,81 @@ void OImageZoomer::setImage( const QPixmap& pix) {
153 153
154void OImageZoomer::resizeEvent( QResizeEvent* ev ) { 154void OImageZoomer::resizeEvent( QResizeEvent* ev ) {
155 QFrame::resizeEvent( ev ); 155 QFrame::resizeEvent( ev );
156 setBackgroundOrigin( QWidget::WidgetOrigin ); 156 setBackgroundOrigin( QWidget::WidgetOrigin );
157 // TODO Qt3 use PalettePixmap and use size 157 // TODO Qt3 use PalettePixmap and use size
158 QPixmap pix; pix.convertFromImage( m_img.smoothScale( size().width(), size().height() ) ); 158 QPixmap pix; pix.convertFromImage( m_img.smoothScale( size().width(), size().height() ) );
159 setBackgroundPixmap( pix); 159 setBackgroundPixmap( pix);
160} 160}
161 161
162void OImageZoomer::drawContents( QPainter* p ) { 162void OImageZoomer::drawContents( QPainter* p ) {
163 /* 163 /*
164 * if the page size 164 * if the page size
165 */ 165 */
166 if ( m_imgSize.isEmpty() ) 166 if ( m_imgSize.isEmpty() )
167 return; 167 return;
168 168
169 /* 169 /*
170 * paint a red rect which represents the visible size 170 * paint a red rect which represents the visible size
171 * 171 *
172 * We need to recalculate x,y and width and height of the 172 * We need to recalculate x,y and width and height of the
173 * rect. So image size relates to contentRect 173 * rect. So image size relates to contentRect
174 * 174 *
175 */ 175 */
176 QRect c( contentsRect() ); 176 QRect c( contentsRect() );
177 p->setPen( Qt::red ); 177 p->setPen( Qt::red );
178 178
179 /* 179 /*
180 * the contentRect is set equal to the size of the image 180 * the contentRect is set equal to the size of the image
181 * Rect/Original = NewRectORWidth/OriginalVisibleStuff and then simply we 181 * Rect/Original = NewRectORWidth/OriginalVisibleStuff and then simply we
182 * need to add the c.y/x due usage of QFrame 182 * need to add the c.y/x due usage of QFrame
183 * For x and y we use the visiblePoint 183 * For x and y we use the visiblePoint
184 * For height and width we use the size of the viewport 184 * For height and width we use the size of the viewport
185 * if width/height would be bigger than our widget we use this width/height 185 * if width/height would be bigger than our widget we use this width/height
186 * 186 *
187 */ 187 */
188 int len = m_imgSize.width(); 188 int len = m_imgSize.width();
189 int x = (c.width()*m_visPt.x())/len + c.x(); 189 int x = (c.width()*m_visPt.x())/len + c.x();
190 int w = (c.width()*m_visSize.width() )/len + c.x(); 190 int w = (c.width()*m_visSize.width() )/len + c.x();
191 if ( w > c.width() ) w = c.width(); 191 if ( w > c.width() ) w = c.width();
192 192
193 len = m_imgSize.height(); 193 len = m_imgSize.height();
194 int y = (c.height()*m_visPt.y() )/len + c.y(); 194 int y = (c.height()*m_visPt.y() )/len + c.y();
195 int h = (c.height()*m_visSize.height() )/len + c.y(); 195 int h = (c.height()*m_visSize.height() )/len + c.y();
196 if ( h > c.height() ) h = c.height(); 196 if ( h > c.height() ) h = c.height();
197 197
198 p->drawRect( x, y, w, h ); 198 p->drawRect( x, y, w, h );
199} 199}
200 200
201void OImageZoomer::mousePressEvent( QMouseEvent*ev) { 201void OImageZoomer::mousePressEvent( QMouseEvent*) {
202 m_mouseX = m_mouseY = -1; 202 m_mouseX = m_mouseY = -1;
203 m_mevent = true; 203 m_mevent = true;
204} 204}
205 205
206void OImageZoomer::mouseReleaseEvent( QMouseEvent*ev) { 206void OImageZoomer::mouseReleaseEvent( QMouseEvent*ev) {
207 if (!m_mevent) return; 207 if (!m_mevent) return;
208 int mx, my; 208 int mx, my;
209 mx = ev->x(); 209 mx = ev->x();
210 my = ev->y(); 210 my = ev->y();
211 int diffx = (mx) * m_imgSize.width() / width(); 211 int diffx = (mx) * m_imgSize.width() / width();
212 int diffy = (my) * m_imgSize.height() / height(); 212 int diffy = (my) * m_imgSize.height() / height();
213 emit zoomArea(diffx,diffy); 213 emit zoomArea(diffx,diffy);
214} 214}
215 215
216void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) { 216void OImageZoomer::mouseMoveEvent( QMouseEvent* ev ) {
217 int mx, my; 217 int mx, my;
218 mx = ev->x(); 218 mx = ev->x();
219 my = ev->y(); 219 my = ev->y();
220 220
221 if ( m_mouseX != -1 && m_mouseY != -1 ) { 221 if ( m_mouseX != -1 && m_mouseY != -1 ) {
222 m_mevent = false; 222 m_mevent = false;
223 int diffx = ( mx - m_mouseX ) * m_imgSize.width() / width(); 223 int diffx = ( mx - m_mouseX ) * m_imgSize.width() / width();
224 int diffy = ( my - m_mouseY ) * m_imgSize.height() / height(); 224 int diffy = ( my - m_mouseY ) * m_imgSize.height() / height();
225 emit zoomAreaRel( diffx, diffy ); 225 emit zoomAreaRel( diffx, diffy );
226 } 226 }
227 m_mouseX = mx; 227 m_mouseX = mx;
228 m_mouseY = my; 228 m_mouseY = my;
229} 229}
230 230
231 231
232} 232}
233} 233}