X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fantinspect.c;h=b4581e5695cfc5ea49a2f5bbd668b27fddec544f;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hp=8beaa2a10912db438eadc8b8301ccf9152ef66f7;hpb=5f9c47ca98dd43d8f59b7c27d3fde6edfde4fe21;p=xscreensaver diff --git a/hacks/glx/antinspect.c b/hacks/glx/antinspect.c index 8beaa2a1..b4581e56 100644 --- a/hacks/glx/antinspect.c +++ b/hacks/glx/antinspect.c @@ -25,6 +25,19 @@ #include "xlock.h" #endif +#ifdef HAVE_COCOA +# include "jwxyz.h" +#else +# include +# include +# include +#endif + +#ifdef HAVE_JWZGLES +# include "jwzgles.h" +#endif /* HAVE_JWZGLES */ + +#include "sphere.h" #include "gltrackball.h" #define DEF_SHADOWS "True" @@ -148,6 +161,7 @@ static const GLfloat ground[4] = {0.0, 1.0, 0.0, -0.00001}; /* simple filled sphere */ static Bool mySphere(float radius) { +#if 0 GLUquadricObj *quadObj; if((quadObj = gluNewQuadric()) == 0) @@ -155,13 +169,20 @@ static Bool mySphere(float radius) gluQuadricDrawStyle(quadObj, (GLenum) GLU_FILL); gluSphere(quadObj, radius, 16, 16); gluDeleteQuadric(quadObj); - +#else + glPushMatrix(); + glScalef (radius, radius, radius); + glRotatef (90, 1, 0, 0); + unit_sphere (16, 16, False); + glPopMatrix(); +#endif return True; } /* caged sphere */ static Bool mySphere2(float radius) { +#if 0 GLUquadricObj *quadObj; if((quadObj = gluNewQuadric()) == 0) @@ -169,6 +190,13 @@ static Bool mySphere2(float radius) gluQuadricDrawStyle(quadObj, (GLenum) GLU_LINE);/*GLU_SILHOUETTE);*/ gluSphere(quadObj, radius, 16, 8); gluDeleteQuadric(quadObj); +#else + glPushMatrix(); + glScalef (radius, radius, radius); + glRotatef (90, 1, 0, 0); + unit_sphere (16, 8, True); + glPopMatrix(); +#endif return True; } @@ -573,34 +601,10 @@ ENTRYPOINT Bool antinspect_handle_event (ModeInfo *mi, XEvent *event) { antinspectstruct *mp = &antinspect[MI_SCREEN(mi)]; - if(event->xany.type == ButtonPress && event->xbutton.button == Button1) { - mp->button_down_p = True; - gltrackball_start(mp->trackball, - event->xbutton.x, event->xbutton.y, - MI_WIDTH (mi), MI_HEIGHT (mi)); - return True; - } - else if(event->xany.type == ButtonRelease && - event->xbutton.button == Button1) { - mp->button_down_p = False; - return True; - } - else if (event->xany.type == ButtonPress && - (event->xbutton.button == Button4 || - event->xbutton.button == Button5 || - event->xbutton.button == Button6 || - event->xbutton.button == Button7)) - { - gltrackball_mousewheel (mp->trackball, event->xbutton.button, 5, - !event->xbutton.state); - return True; - } - else if(event->xany.type == MotionNotify && mp->button_down_p) { - gltrackball_track (mp->trackball, - event->xmotion.x, event->xmotion.y, - MI_WIDTH (mi), MI_HEIGHT (mi)); - return True; - } + if (gltrackball_event_handler (event, mp->trackball, + MI_WIDTH (mi), MI_HEIGHT (mi), + &mp->button_down_p)) + return True; return False; } @@ -617,7 +621,7 @@ ENTRYPOINT void init_antinspect(ModeInfo * mi) mp = &antinspect[MI_SCREEN(mi)]; mp->step = NRAND(90); mp->ant_position = NRAND(90); - mp->trackball = gltrackball_init (); + mp->trackball = gltrackball_init (False); if ((mp->glx_context = init_GL(mi)) != NULL) { reshape_antinspect(mi, MI_WIDTH(mi), MI_HEIGHT(mi)); @@ -651,6 +655,7 @@ ENTRYPOINT void draw_antinspect(ModeInfo * mi) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glPushMatrix(); + glRotatef(current_device_rotation(), 0, 0, 1); mi->polygon_count = 0;