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)