X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fcube21.c;h=31a3c6afe2d35dba4f13a26041d4a3e2169f5bfe;hp=542c93699e3953bde0e1b36708b3edd435e8c651;hb=aa75c7476aeaa84cf3abc192b376a8b03c325213;hpb=88cfe534a698a0562e81345957a50714af1453bc diff --git a/hacks/glx/cube21.c b/hacks/glx/cube21.c index 542c9369..31a3c6af 100644 --- a/hacks/glx/cube21.c +++ b/hacks/glx/cube21.c @@ -515,10 +515,20 @@ static Bool draw_main(ModeInfo *mi, cube21_conf *cp) glTranslatef(0, 0, zpos); glScalef(size, size, size); - gltrackball_rotate (cp->trackball); +# 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 glRotatef(cp->xrot, 1.0, 0.0, 0.0); glRotatef(cp->yrot, 0.0, 1.0, 0.0); + + gltrackball_rotate (cp->trackball); + if(cp->wire) glColor3f(0.7, 0.7, 0.7); switch(cp->state) { case CUBE21_PAUSE1: @@ -891,6 +901,10 @@ ENTRYPOINT void init_cube21(ModeInfo *mi) make_texture(cp); } +#ifdef HAVE_MOBILE + size *= 2; +#endif + if ((cp->glx_context = init_GL(mi)) != NULL) { init_gl(mi); init_cp(cp);