-/* voronoi, Copyright (c) 2007 Jamie Zawinski <jwz@jwz.org>
+/* voronoi, Copyright (c) 2007, 2008 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#define DEFAULTS "*delay: 20000 \n" \
"*showFPS: False \n" \
+ "*suppressRotationAnimation: True\n" \
-
-# define refresh_voronoi 0
+# define free_voronoi 0
# define release_voronoi 0
#undef countof
#define countof(x) (sizeof((x))/sizeof((*x)))
#define DEF_POINTS "25"
#define DEF_POINT_SIZE "9"
-#define DEF_POINT_SPEED "1"
+#define DEF_POINT_SPEED "1.0"
#define DEF_POINT_DELAY "0.05"
-#define DEF_ZOOM_SPEED "1"
+#define DEF_ZOOM_SPEED "1.0"
#define DEF_ZOOM_DELAY "15"
typedef struct node {
int i;
int faces = 64;
GLfloat step = M_PI * 2 / faces;
- GLfloat s2 = step/2;
- GLfloat th;
- GLfloat x, y, x0, y0;
-
- glBegin(GL_TRIANGLES);
-
- th = 0;
- x = 1;
- y = 0;
- x0 = cos (s2);
- y0 = sin (s2);
+ GLfloat th = 0;
+ GLfloat x = 1;
+ GLfloat y = 0;
+ glBegin(GL_TRIANGLE_FAN);
+ glVertex3f (0, 0, 1);
for (i = 0; i < faces; i++)
{
- glVertex3f(0, 0, 1);
- glVertex3f(x, y, 0);
-
+ glVertex3f (x, y, 0);
th += step;
- x0 = cos (th + s2);
- y0 = sin (th + s2);
- x = cos (th);
- y = sin (th);
-
- glVertex3f(x, y, 0);
+ x = cos (th);
+ y = sin (th);
}
+ glVertex3f (1, 0, 0);
glEnd();
return faces;
}
glPopMatrix();
}
}
+
+#if 0
+ glPushMatrix();
+ glColor3f(1,1,1);
+ glBegin(GL_LINE_LOOP);
+ glVertex3f(0,0,0);
+ glVertex3f(1,0,0);
+ glVertex3f(1,1,0);
+ glVertex3f(0,1,0);
+ glEnd();
+ glScalef(0.25, 0.25, 1);
+ glBegin(GL_LINE_LOOP);
+ glVertex3f(0,0,0);
+ glVertex3f(1,0,0);
+ glVertex3f(1,1,0);
+ glVertex3f(0,1,0);
+ glEnd();
+ glPopMatrix();
+#endif
}
glLoadIdentity();
glOrtho (0, 1, 1, 0, -1, 1);
+# ifdef HAVE_MOBILE /* So much WTF */
+ {
+ int rot = current_device_rotation();
+
+ glTranslatef (0.5, 0.5, 0);
+ // glScalef(0.19, 0.19, 0.19);
+
+ if (rot == 180 || rot == -180) {
+ glTranslatef (1, 1, 0);
+ } else if (rot == 90 || rot == -270) {
+ glRotatef (180, 0, 0, 1);
+ glTranslatef (0, 1, 0);
+ } else if (rot == -90 || rot == 270) {
+ glRotatef (180, 0, 0, 1);
+ glTranslatef (1, 0, 0);
+ }
+
+ glTranslatef(-0.5, -0.5, 0);
+ }
+# endif
+
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
{
voronoi_configuration *vp;
- if (!vps) {
- vps = (voronoi_configuration *)
- calloc (MI_NUM_SCREENS(mi), sizeof (voronoi_configuration));
- if (!vps) {
- fprintf(stderr, "%s: out of memory\n", progname);
- exit(1);
- }
-
- vp = &vps[MI_SCREEN(mi)];
- }
+ MI_INIT (mi, vps);
vp = &vps[MI_SCREEN(mi)];