# include "xlock.h"
#endif
-#ifdef HAVE_COCOA
+#ifdef HAVE_JWXYZ
# include "jwxyz.h"
#else
# include <X11/Xlib.h>
#ifdef USE_MODULES
ModStruct queens_description =
-{"queens", "init_queens", "draw_queens", "release_queens",
+{"queens", "init_queens", "draw_queens", NULL,
"draw_queens", "init_queens", NULL, &queens_opts,
1000, 1, 2, 1, 4, 1.0, "",
"Queens", 0, NULL};
{
Queenscreen *qs = &qss[MI_SCREEN(mi)];
- if (event->xany.type == ButtonPress &&
- event->xbutton.button == Button1)
+ if (gltrackball_event_handler (event, qs->trackball,
+ MI_WIDTH (mi), MI_HEIGHT (mi),
+ &qs->button_down_p))
+ return True;
+ else if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
{
- qs->button_down_p = True;
- gltrackball_start (qs->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)
- {
- qs->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 (qs->trackball, event->xbutton.button, 5,
- !event->xbutton.state);
- return True;
- }
- else if (event->xany.type == MotionNotify &&
- qs->button_down_p)
- {
- gltrackball_track (qs->trackball,
- event->xmotion.x, event->xmotion.y,
- MI_WIDTH (mi), MI_HEIGHT (mi));
+ qs->steps = 1024 - 1;
return True;
}
return polys;
}
-static int display(Queenscreen *qs)
+static int display(ModeInfo *mi, Queenscreen *qs)
{
int max = 1024;
int polys = 0;
wire = 0;
# endif
- if(!qss &&
- !(qss = (Queenscreen *) calloc(MI_NUM_SCREENS(mi), sizeof(Queenscreen))))
- return;
+ MI_INIT (mi, qss, NULL);
qs = &qss[screen];
qs->window = MI_WINDOW(mi);
else
MI_CLEARWINDOW(mi);
- qs->trackball = gltrackball_init ();
+ qs->trackball = gltrackball_init (False);
qs->BOARDSIZE = 8; /* 8 cuz its classic */
else
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- mi->polygon_count = display(qs);
+ mi->polygon_count = display(mi, qs);
mi->recursion_depth = qs->BOARDSIZE;
if(mi->fps_p) do_fps(mi);