X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fflipflop.c;h=3d35c1e1c277821f26299a3ef66eed4d2bff4b57;hp=d780348c8c7bdba88417aa1e20984b612f815478;hb=aa75c7476aeaa84cf3abc192b376a8b03c325213;hpb=88cfe534a698a0562e81345957a50714af1453bc diff --git a/hacks/glx/flipflop.c b/hacks/glx/flipflop.c index d780348c..3d35c1e1 100644 --- a/hacks/glx/flipflop.c +++ b/hacks/glx/flipflop.c @@ -169,7 +169,7 @@ static void randsheet_move( randsheet *rs, float rot ); static int randsheet_draw( randsheet *rs ); static void setup_lights(void); static int drawBoard(Flipflopcreen *); -static int display(Flipflopcreen *c); +static int display(ModeInfo *mi); static int draw_sheet(float *tex); @@ -233,8 +233,9 @@ drawBoard(Flipflopcreen *c) static int -display(Flipflopcreen *c) +display(ModeInfo *mi) { + Flipflopcreen *c = &qs[MI_SCREEN(mi)]; GLfloat amb[] = { 0.8, 0.8, 0.8, 1.0 }; int polys = 0; @@ -242,7 +243,6 @@ display(Flipflopcreen *c) glClear(clearbits); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 1.2); glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.15/board_avg_size ); glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 0.15/board_avg_size ); @@ -262,6 +262,15 @@ display(Flipflopcreen *c) if(textured) glBindTexture(GL_TEXTURE_2D, c->texid); +# ifdef HAVE_MOBILE /* Keep it the same relative size when rotated. */ + { + GLfloat h = MI_HEIGHT(mi) / (GLfloat) MI_WIDTH(mi); + int o = (int) current_device_rotation(); + if (o != 0 && o != 180 && o != -180) + glScalef (1/h, 1/h, 1/h); + } +# endif + polys = drawBoard(c); if (!c->button_down_p) { @@ -443,7 +452,7 @@ draw_flipflop(ModeInfo *mi) glXMakeCurrent(disp, w, *(c->glx_context)); - mi->polygon_count = display(c); + mi->polygon_count = display(mi); if(mi->fps_p){ do_fps(mi);