All pastes #479350 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-09 18:04 UTC
rendered paste body
static void
draw(CompScreen* s, ScreenPaintAttrib *sAttrib, int output, GLint gear1, GLint gear2, GLint gear3, GLfloat angle)
{
   glPushMatrix();
   
   CompTransform sTransform;
   memcpy (sTransform.m, identity, sizeof (float) * 16);
   
   (*s->applyScreenTransform) (s, sAttrib, output, &sTransform);
   glLoadMatrixf (sTransform.m);
   prepareXCoords (s, output, -sAttrib->zTranslate);
   
   glTranslatef(s->width / 2, s->height / 2, 0.5f);
   
   glScalef (s->width, -s->height, 1.0f);
   
   glTranslatef (0.0f, 0.0f, -40.0f);

   glPushMatrix();
   glTranslatef(-3.0, -2.0, 0.0);
   glRotatef(angle, 0.0, 0.0, 1.0);
   glCallList(gear1);
   glPopMatrix();

   glPushMatrix();
   glTranslatef(3.1, -2.0, 0.0);
   glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
   glCallList(gear2);
   glPopMatrix();

   glPushMatrix();
   glTranslatef(-3.1, 4.2, 0.0);
   glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
   glCallList(gear3);
   glPopMatrix();
   
   glPopMatrix();
}