Mercurial > hg > easaier-soundaccess
comparison data/model/SDLWidget.cpp @ 151:f2d2c1084e7c
very good zoom out :P
author | benoitrigolleau |
---|---|
date | Wed, 14 Nov 2007 17:27:42 +0000 |
parents | c946c19e6329 |
children | 46688275b5d4 |
comparison
equal
deleted
inserted
replaced
150:c946c19e6329 | 151:f2d2c1084e7c |
---|---|
23 | 23 |
24 void SDLWidget::setZoomFactor( float f ) | 24 void SDLWidget::setZoomFactor( float f ) |
25 { | 25 { |
26 int w, h; | 26 int w, h; |
27 | 27 |
28 if( f == zoomFactor ) | 28 if( f == m_zoomFactor ) |
29 return; | 29 return; |
30 | 30 |
31 zoomFactor = f; | 31 m_zoomFactor = f; |
32 emit(zoomfactorChanged(f)); | |
33 | 32 |
34 w = m_width*zoomFactor; | 33 w = m_width*zoomFactor; |
35 h = m_height*zoomFactor; | 34 h = m_height*zoomFactor; |
36 setMinimumSize( w, h ); | 35 setMinimumSize( w, h ); |
37 emit(sizeChanged(w,h)); | 36 emit(sizeChanged(w,h)); |
45 | 44 |
46 void SDLWidget::wheelEvent( QWheelEvent *event ) | 45 void SDLWidget::wheelEvent( QWheelEvent *event ) |
47 { | 46 { |
48 float f; | 47 float f; |
49 | 48 |
50 f = zoomFactor + 0.001*event->delta(); | 49 /*if(event->delta()>0){ |
50 f = zoomFactor*2; | |
51 }else{ | |
52 f = zoomFactor/2; | |
53 }*/ | |
54 f = m_zoomFactor + 0.001*event->delta(); | |
55 | |
51 if( f < 32.0/m_width ){ | 56 if( f < 32.0/m_width ){ |
52 f = 32.0/m_height; | 57 f = 32.0/m_height; |
58 } | |
59 if((int)(m_width*f)%4){ | |
60 f = (m_width*f - (int)(m_width*f)%4)/m_width; | |
53 } | 61 } |
54 zoomFivan=f; | 62 zoomFivan=f; |
55 setZoomFactor( f ); | 63 setZoomFactor( f ); |
56 } | 64 } |
57 | 65 |
63 } | 71 } |
64 } | 72 } |
65 | 73 |
66 void SDLWidget::updateMinSize() | 74 void SDLWidget::updateMinSize() |
67 { | 75 { |
68 setMinimumSize( m_width*zoomFactor,m_height*zoomFactor ); | 76 setMinimumSize( m_width*m_zoomFactor,m_height*m_zoomFactor ); |
69 } | 77 } |
70 | 78 |
71 | 79 |
72 | 80 |
73 void SDLWidget::showEvent(QShowEvent *e) | 81 void SDLWidget::showEvent(QShowEvent *e) |