X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fsplitflap.c;h=cf4e762339af1c6e3cf8bdd13b2965ef1ceee2a7;hb=39809ded547bdbb08207d3e514950425215b4410;hp=8a0df74cc97921694add922e0265ea216a1e67d9;hpb=d1ae2829ff0fd2a96c16a0c8c5420efaa47d7b30;p=xscreensaver diff --git a/hacks/glx/splitflap.c b/hacks/glx/splitflap.c index 8a0df74c..cf4e7623 100644 --- a/hacks/glx/splitflap.c +++ b/hacks/glx/splitflap.c @@ -26,7 +26,7 @@ "*program: xscreensaver-text\n" \ "*usePty: False\n" -# define refresh_splitflap 0 +# define release_splitflap 0 #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -213,6 +213,14 @@ reshape_splitflap (ModeInfo *mi, int width, int height) 0, 0, 0, 0, 1, 0); +# ifdef HAVE_MOBILE /* Keep it the same relative size when rotated. */ + { + int o = (int) current_device_rotation(); + if (o != 0 && o != 180 && o != -180) + glScalef (h, h, h); + } +# endif + glClear(GL_COLOR_BUFFER_BIT); } @@ -291,14 +299,7 @@ init_splitflap (ModeInfo *mi) splitflap_configuration *bp; int wire = MI_IS_WIREFRAME(mi); int i; - if (!bps) { - bps = (splitflap_configuration *) - calloc (MI_NUM_SCREENS(mi), sizeof (splitflap_configuration)); - if (!bps) { - fprintf(stderr, "%s: out of memory\n", progname); - exit(1); - } - } + MI_INIT (mi, bps); bp = &bps[MI_SCREEN(mi)]; bp->glx_context = init_GL(mi); @@ -1362,7 +1363,7 @@ draw_splitflap (ModeInfo *mi) ? grid_width * r : grid_height); GLfloat s = 8; -# ifdef USE_IPHONE +# ifdef HAVE_MOBILE s *= 2; /* #### What. Why is this necessary? */ #endif s /= cells; @@ -1393,11 +1394,12 @@ draw_splitflap (ModeInfo *mi) } ENTRYPOINT void -release_splitflap (ModeInfo *mi) +free_splitflap (ModeInfo *mi) { splitflap_configuration *bp = &bps[MI_SCREEN(mi)]; if (bp->tc) textclient_close (bp->tc); + bp->tc = 0; /* #### bp->texinfo */ }