X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Frubikblocks.c;h=fadeb0d07c5ca5ef614be77d13caa3bb696be011;hb=78add6e627ee5f10e1fa6f3852602ea5066eee5a;hp=9a6ecbdc06ae4794f0b4971ef326e5c09e40bebb;hpb=4361b69d3178d7fc98d0388f9a223af6c2651aba;p=xscreensaver diff --git a/hacks/glx/rubikblocks.c b/hacks/glx/rubikblocks.c index 9a6ecbdc..fadeb0d0 100644 --- a/hacks/glx/rubikblocks.c +++ b/hacks/glx/rubikblocks.c @@ -22,7 +22,7 @@ "*wireframe: False \n" \ "*suppressRotationAnimation: True\n" \ -# define refresh_rubikblocks 0 +# define free_rubikblocks 0 # define release_rubikblocks 0 #include "xlockmore.h" #include "rotator.h" @@ -496,8 +496,8 @@ init_gl(ModeInfo *mi) 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, cp->texture); #endif glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); #ifdef MIPMAP glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); @@ -542,9 +542,15 @@ ENTRYPOINT void reshape_rubikblocks(ModeInfo *mi, int width, int height) { rubikblocks_conf *cp = &rubikblocks[MI_SCREEN(mi)]; + int y = 0; + + if (width > height * 5) { /* tiny window: show middle */ + height = width; + y = -height/2; + } if(!height) height = 1; cp->ratio = (GLfloat)width/(GLfloat)height; - glViewport(0, 0, (GLint) width, (GLint) height); + glViewport(0, y, (GLint) width, (GLint) height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, cp->ratio, 1.0, 100.0); @@ -556,7 +562,7 @@ ENTRYPOINT void init_rubikblocks(ModeInfo *mi) { rubikblocks_conf *cp; - MI_INIT(mi, rubikblocks, NULL); + MI_INIT(mi, rubikblocks); cp = &rubikblocks[MI_SCREEN(mi)]; if(tex)