X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Ftangram.c;h=c250f5455ea6d7176d91fdd037c21a870f2a70c2;hb=39809ded547bdbb08207d3e514950425215b4410;hp=c084af588b586fcab6af76f1972cbd11db9ee14d;hpb=aa75c7476aeaa84cf3abc192b376a8b03c325213;p=xscreensaver diff --git a/hacks/glx/tangram.c b/hacks/glx/tangram.c index c084af58..c250f545 100644 --- a/hacks/glx/tangram.c +++ b/hacks/glx/tangram.c @@ -22,7 +22,7 @@ "*titleFont2: -*-helvetica-medium-r-normal-*-*-120-*-*-*-*-*-*\n" \ "*titleFont3: -*-helvetica-medium-r-normal-*-*-80-*-*-*-*-*-*\n" \ -# define refresh_tangram 0 +# define free_tangram 0 # define release_tangram 0 #undef countof #define countof(x) (sizeof((x))/sizeof((*x))) @@ -779,7 +779,14 @@ static void draw_shapes(ModeInfo * mi) ENTRYPOINT void reshape_tangram(ModeInfo * mi, int w, int h) { - glViewport(0, 0, w, h); + int y = 0; + + if (w > h * 5) { /* tiny window: show middle */ + h = w; + y = -h/2; + } + + glViewport(0, y, w, h); } static void set_camera(tangram_configuration *tp) @@ -877,14 +884,7 @@ ENTRYPOINT void init_tangram(ModeInfo * mi) { tangram_configuration *tp; - if (!tps) { - tps = (tangram_configuration *) - calloc(MI_NUM_SCREENS(mi), sizeof(tangram_configuration)); - if (!tps) { - fprintf(stderr, "%s: out of memory\n", progname); - exit(1); - } - } + MI_INIT (mi, tps); tp = &tps[MI_SCREEN(mi)];