glviewvol
diff src/dicomview.cc @ 8:fb6d93471352
main thing done
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 30 Dec 2014 20:03:32 +0200 |
parents | f22be47a3572 |
children | 89efc666105c |
line diff
1.1 --- a/src/dicomview.cc Tue Dec 30 17:28:38 2014 +0200 1.2 +++ b/src/dicomview.cc Tue Dec 30 20:03:32 2014 +0200 1.3 @@ -8,7 +8,8 @@ 1.4 #include "xfer_view.h" 1.5 1.6 static int win_width, win_height; 1.7 -static float cam_theta, cam_phi, cam_dist = 6; 1.8 +static float cam_theta, cam_phi, cam_dist = 4; 1.9 +static float pre_rot = -90; 1.10 static int splitter_y = -1; 1.11 1.12 #define SPLITTER_WIDTH 5 1.13 @@ -81,7 +82,7 @@ 1.14 glMatrixMode(GL_MODELVIEW); 1.15 glLoadIdentity(); 1.16 glTranslatef(0, 0, -cam_dist); 1.17 - glRotatef(cam_phi, 1, 0, 0); 1.18 + glRotatef(cam_phi + pre_rot, 1, 0, 0); 1.19 glRotatef(cam_theta, 0, 1, 0); 1.20 1.21 rend->update(0); 1.22 @@ -135,10 +136,40 @@ 1.23 1.24 void ev_keyboard(int key, int press, int x, int y) 1.25 { 1.26 + RendererFast *fr; 1.27 + 1.28 if(press) { 1.29 switch(key) { 1.30 case 27: 1.31 quit(); 1.32 + 1.33 + case '=': 1.34 + if((fr = dynamic_cast<RendererFast*>(rend))) { 1.35 + int n = fr->get_proxy_count(); 1.36 + int add = n / 4; 1.37 + n += add < 1 ? 1 : add; 1.38 + printf("proxy count: %d\n", n); 1.39 + fr->set_proxy_count(n); 1.40 + } 1.41 + redisplay(); 1.42 + break; 1.43 + 1.44 + case '-': 1.45 + if((fr = dynamic_cast<RendererFast*>(rend))) { 1.46 + int n = fr->get_proxy_count(); 1.47 + int sub = n / 4; 1.48 + n -= sub < 1 ? 1 : sub; 1.49 + 1.50 + if(n < 1) n = 1; 1.51 + 1.52 + printf("proxy count: %d\n", n); 1.53 + fr->set_proxy_count(n); 1.54 + } 1.55 + redisplay(); 1.56 + break; 1.57 + 1.58 + default: 1.59 + break; 1.60 } 1.61 } 1.62 }