"*wireframe: False \n" \
"*suppressRotationAnimation: True\n" \
-# define refresh_splodesic 0
# define release_splodesic 0
#undef countof
#define countof(x) (sizeof((x))/sizeof((*x)))
#define DEF_SPIN "True"
#define DEF_WANDER "True"
#define DEF_SPEED "1.0"
-#define DEF_DEPTH "4"
+#define DEF_FREQ "4"
#define BELLRAND(n) ((frand((n)) + frand((n)) + frand((n))) / 3)
{&do_spin, "spin", "Spin", DEF_SPIN, t_Bool},
{&do_wander, "wander", "Wander", DEF_WANDER, t_Bool},
{&speed, "speed", "Speed", DEF_SPEED, t_Float},
- {&depth_arg, "freq", "Depth", DEF_DEPTH, t_Int},
+ {&depth_arg, "freq", "Depth", DEF_FREQ, t_Int},
};
ENTRYPOINT ModeSpecOpt splodesic_opts = {countof(opts), opts, countof(vars), vars, NULL};
reshape_splodesic (ModeInfo *mi, int width, int height)
{
GLfloat h = (GLfloat) height / (GLfloat) width;
+ int y = 0;
- glViewport (0, 0, (GLint) width, (GLint) height);
+ if (width > height * 5) { /* tiny window: show middle */
+ height = width * 9/16;
+ y = -height/2;
+ h = height / (GLfloat) width;
+ }
+
+ glViewport (0, y, (GLint) width, (GLint) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
}
-static void free_splodesic (ModeInfo *mi);
-
ENTRYPOINT void
init_splodesic (ModeInfo *mi)
{
splodesic_configuration *bp;
int wire = MI_IS_WIREFRAME(mi);
- MI_INIT (mi, bps, free_splodesic);
+ MI_INIT (mi, bps);
bp = &bps[MI_SCREEN(mi)];
}
-static void
+ENTRYPOINT void
free_splodesic (ModeInfo *mi)
{
splodesic_configuration *bp = &bps[MI_SCREEN(mi)];