#define DEFAULTS "*delay: 20000 \n"\
"*showFPS: False \n"
-#define refresh_lockward 0
#define release_lockward 0
/***************************************************************************
* Prototypes.
*/
-static void free_lockward (ModeInfo *mi);
+ENTRYPOINT void free_lockward (ModeInfo *mi);
/***************************************************************************
{
lockward_context *ctx = &g_ctx[MI_SCREEN (mi)];
GLfloat h = (GLfloat) height / (GLfloat) width;
+ int y = 0;
+
+ if (width > height * 5) { /* tiny window: show middle */
+ height = width * 9/16;
+ y = -height/2;
+ h = height / (GLfloat) width;
+ }
glXMakeCurrent (MI_DISPLAY (mi), MI_WINDOW (mi),
*(ctx->glx_context));
- glViewport (0, 0, (GLint) width, (GLint) height);
+ glViewport (0, y, (GLint) width, (GLint) height);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
lockward_context *ctx;
int i, n;
- MI_INIT (mi, g_ctx, free_lockward);
+ MI_INIT (mi, g_ctx);
ctx = &g_ctx[MI_SCREEN (mi)];
ctx->glx_context = init_GL (mi);
/* ctx->blades_inner = glGenLists (NRADII); */
ctx->rings = glGenLists (NRADII - 1);
ctx->blendmode = 0;
- ctx->fps = 1000000 / MI_DELAY (mi);
+/* WTF? ctx->fps = 1000000 / MI_DELAY (mi); */
+ ctx->fps = 60;
ctx->nextblink = calc_interval_frames
(ctx, g_blinkidle_min, g_blinkidle_max);
ctx->blink.drawfunc = NULL;
}
}
-static void
+ENTRYPOINT void
free_lockward (ModeInfo *mi)
{
lockward_context *ctx = &g_ctx[MI_SCREEN (mi)];