6 static bool modern_nav_cursor =
8 if (modern_nav_cursor) {
9 static string mouse_cursor_sprite =
vs_config->
getVariable(
"graphics",
"nav",
"mouse_cursor_sprite",
"mouse.spr" );
18 MouseVSSprite.GetSize( sizex, sizey );
19 MouseVSSprite.SetPosition( x+sizex/2, y+sizey/2 );
34 GFXVertex3f( ( x+(0.35*wid) ), ( y-(0.6*hei) ), 0 );
36 GFXVertex3f( ( x+(0.35*wid) ), ( y-(0.6*hei) ), 0 );
63 for (i = 1; i < 10; i++) {
69 for (i = 1; i < 10; i++) {
89 for ( i = 0; i < 6.28; i += (6.28/20) ) {
91 GFXVertex3f( ( x+( 0.5*size*
cos( i+(6.28/20) ) ) ), ( y+( 0.5*size*
sin( i+(6.28/20) ) ) ), 0 );
109 for ( i = 0; i < ( 3.14-(6.28/20) ); i += (6.28/20) ) {
110 GFXVertex3f( ( x+( 0.5*size*
cos( i ) ) ), ( y-(0.25*size)+( 0.5*size*
sin( i ) ) ), 0 );
111 GFXVertex3f( ( x+( 0.5*size*
cos( i+(6.28/20) ) ) ), ( y-(0.25*size)+( 0.5*size*
sin( i+(6.28/20) ) ) ), 0 );
129 for ( i = 3.14; i < ( 6.28-(6.28/20) ); i += (6.28/20) ) {
130 GFXVertex3f( ( x+( 0.5*size*
cos( i ) ) ), ( (0.25*size)+y+( 0.5*size*
sin( i ) ) ), 0 );
131 GFXVertex3f( ( x+( 0.5*size*
cos( i+(6.28/20) ) ) ), ( (0.25*size)+y+( 0.5*size*
sin( i+(6.28/20) ) ) ), 0 );
149 for ( i = 0; i < 6.28; i += (6.28/20) ) {
151 GFXVertex3f( ( x+( 0.5*size*
cos( i+(6.28/20) ) ) ), ( y+( 0.5*size*
sin( i+(6.28/20) ) ) ), 0 );
176 float segment = size/3;
179 for (i = 0; i < 4; i++) {
180 GFXVertex3f( ( x-(0.5*size) ), ( ( y-(0.5*size) )+(i*segment) ), 0 );
181 GFXVertex3f( ( x+(0.5*size) ), ( ( y-(0.5*size) )+(i*segment) ), 0 );
183 for (i = 0; i < 4; i++) {
184 GFXVertex3f( ( ( x-(0.5*size) )+(i*segment) ), ( y-(0.5*size) ), 0 );
185 GFXVertex3f( ( ( x-(0.5*size) )+(i*segment) ), ( y+(0.5*size) ), 0 );
203 for ( i = 0; i < 6.28; i += (6.28/20) ) {
205 GFXVertex3f( ( x+( 0.5*size*
cos( i+(6.28/20) ) ) ), ( y+( 0.5*size*
sin( i+(6.28/20) ) ) ), 0 );
208 GFXVertex3f( ( x+(0.125*size) ), ( y+(0.125*size) ), 0 );
211 GFXVertex3f( ( x-(0.125*size) ), ( y+(0.125*size) ), 0 );
214 GFXVertex3f( ( x+(0.125*size) ), ( y-(0.125*size) ), 0 );
217 GFXVertex3f( ( x-(0.125*size) ), ( y-(0.125*size) ), 0 );
220 GFXVertex3f( ( x-(0.125*size) ), ( y+(0.125*size) ), 0 );
223 GFXVertex3f( ( x-(0.125*size) ), ( y-(0.125*size) ), 0 );
226 GFXVertex3f( ( x+(0.125*size) ), ( y+(0.125*size) ), 0 );
229 GFXVertex3f( ( x+(0.125*size) ), ( y-(0.125*size) ), 0 );
247 GFXVertex3f( ( x-(0.5*size) ), ( y-(0.125*size) ), 0 );
250 GFXVertex3f( ( x+(0.5*size) ), ( y-(0.125*size) ), 0 );
253 GFXVertex3f( ( x-(0.25*size) ), ( y-(0.125*size) ), 0 );
254 GFXVertex3f( ( x-(0.25*size) ), ( y+(0.125*size) ), 0 );
256 GFXVertex3f( ( x+(0.25*size) ), ( y-(0.125*size) ), 0 );
257 GFXVertex3f( ( x+(0.25*size) ), ( y+(0.125*size) ), 0 );
259 GFXVertex3f( ( x-(0.25*size) ), ( y+(0.125*size) ), 0 );
262 GFXVertex3f( ( x+(0.25*size) ), ( y+(0.125*size) ), 0 );
281 GFXVertex3f( ( x-(0.5*size) ), ( y+(0.5*size) ), 0 );
282 GFXVertex3f( ( x-(0.3*size) ), ( y+(0.5*size) ), 0 );
284 GFXVertex3f( ( x-(0.5*size) ), ( y+(0.5*size) ), 0 );
285 GFXVertex3f( ( x-(0.5*size) ), ( y+(0.3*size) ), 0 );
287 GFXVertex3f( ( x+(0.5*size) ), ( y+(0.5*size) ), 0 );
288 GFXVertex3f( ( x+(0.3*size) ), ( y+(0.5*size) ), 0 );
290 GFXVertex3f( ( x+(0.5*size) ), ( y+(0.5*size) ), 0 );
291 GFXVertex3f( ( x+(0.5*size) ), ( y+(0.3*size) ), 0 );
293 GFXVertex3f( ( x-(0.5*size) ), ( y-(0.5*size) ), 0 );
294 GFXVertex3f( ( x-(0.3*size) ), ( y-(0.5*size) ), 0 );
296 GFXVertex3f( ( x-(0.5*size) ), ( y-(0.5*size) ), 0 );
297 GFXVertex3f( ( x-(0.5*size) ), ( y-(0.3*size) ), 0 );
299 GFXVertex3f( ( x+(0.5*size) ), ( y-(0.5*size) ), 0 );
300 GFXVertex3f( ( x+(0.3*size) ), ( y-(0.5*size) ), 0 );
302 GFXVertex3f( ( x+(0.5*size) ), ( y-(0.5*size) ), 0 );
303 GFXVertex3f( ( x+(0.5*size) ), ( y-(0.3*size) ), 0 );
324 float segments = 20.0;
325 for ( i = 0; i < 6.28; i += (6.28/segments) ) {
326 QVector pos1( ( 0.6*size*
cos( i ) ), ( 0.6*size*
sin( i ) ), 0 );
327 QVector pos2( ( 0.6*size*
cos( i+(6.28/segments) ) ), ( 0.6*size*
sin( i+(6.28/segments) ) ), 0 );
328 pos1 =
dxyz( pos1, 0, 0, rot_y );
329 pos1 =
dxyz( pos1, rot_x, 0, 0 );
331 pos2 =
dxyz( pos2, 0, 0, rot_y );
332 pos2 =
dxyz( pos2, rot_x, 0, 0 );
334 float standard_unit = 0.25*1.2*
size;
335 float zdistance1 = ( (1.2*
size)-pos1.k );
336 float zdistance2 = ( (1.2*
size)-pos2.k );
337 float zscale1 = standard_unit/zdistance1;
338 float zscale2 = standard_unit/zdistance2;
339 pos1 *= (zscale1*5.0);
340 pos2 *= (zscale2*5.0);
345 for (
int j = circles;
j > 0;
j--) {
349 QVector pos1t( (x+pos1.i), ( y+(pos1.j) ), 0 );
350 QVector pos2t( (x+pos2.i), ( y+(pos2.j) ), 0 );
356 for ( i = 0; i < 6.28; i += (6.28/12.0) ) {
357 QVector pos1( ( 0.6*size*
cos( i )/
float(circles*2) ), ( 0.6*size*
sin( i )/
float(circles*2) ), 0 );
358 QVector pos2( ( 0.6*size*
cos( i ) ), ( 0.6*size*
sin( i ) ), 0 );
359 if ( (fabs( i-1.57 ) < 0.01) || (fabs( i-3.14 ) < 0.01) || (fabs( i-4.71 ) < 0.01) || (i < 0.01) )
361 pos1 =
dxyz( pos1, 0, 0, rot_y );
362 pos1 =
dxyz( pos1, rot_x, 0, 0 );
364 pos2 =
dxyz( pos2, 0, 0, rot_y );
365 pos2 =
dxyz( pos2, rot_x, 0, 0 );
367 float standard_unit = 0.25*1.2*
size;
368 float zdistance1 = ( (1.2*
size)-pos1.k );
369 float zdistance2 = ( (1.2*
size)-pos2.k );
370 float zscale1 = standard_unit/zdistance1;
371 float zscale2 = standard_unit/zdistance2;
372 pos1 *= (zscale1*5.0);
373 pos2 *= (zscale2*5.0);