X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fcubicgrid.c;fp=hacks%2Fglx%2Fcubicgrid.c;h=34b6c34aed604b91d1d993ecca680343de4b2dbd;hp=262b4e41bd418bba999eb7eebcbceae5d565cbbd;hb=39809ded547bdbb08207d3e514950425215b4410;hpb=4361b69d3178d7fc98d0388f9a223af6c2651aba diff --git a/hacks/glx/cubicgrid.c b/hacks/glx/cubicgrid.c index 262b4e41..34b6c34a 100644 --- a/hacks/glx/cubicgrid.c +++ b/hacks/glx/cubicgrid.c @@ -24,7 +24,7 @@ "*wireframe: False \n" \ "*suppressRotationAnimation: True\n" \ -# define refresh_cubicgrid 0 +# define free_cubicgrid 0 # define release_cubicgrid 0 #include "xlockmore.h" @@ -192,9 +192,17 @@ static void init_gl(ModeInfo *mi) ENTRYPOINT void reshape_cubicgrid(ModeInfo *mi, int width, int height) { cubicgrid_conf *cp = &cubicgrid[MI_SCREEN(mi)]; + int y = 0; if(!height) height = 1; cp->ratio = (GLfloat)width/(GLfloat)height; - glViewport(0, 0, (GLint) width, (GLint) height); + + if (width > height * 3) { /* tiny window: show middle */ + height = width; + y = -height/2; + cp->ratio = (GLfloat)width/(GLfloat)height; + } + + glViewport(0, y, (GLint) width, (GLint) height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, cp->ratio, 1.0, 100.0); @@ -205,7 +213,7 @@ ENTRYPOINT void reshape_cubicgrid(ModeInfo *mi, int width, int height) ENTRYPOINT void init_cubicgrid(ModeInfo *mi) { cubicgrid_conf *cp; - MI_INIT(mi, cubicgrid, NULL); + MI_INIT(mi, cubicgrid); cp = &cubicgrid[MI_SCREEN(mi)]; if ((cp->glx_context = init_GL(mi)) != NULL) {