#include <stdio.h>
/* #include <X11/bitmaps/gray1> */
+/*
#define gray1_width 2
#define gray1_height 2
static const char gray1_bits[] = { 0x01, 0x02 };
-
+*/
#define MAX_MAZE_SIZE_X 1000
#define MAX_MAZE_SIZE_Y 1000
backup (struct state *st) /* back up a move */
{
st->sqnum--;
- st->cur_sq_x = st->move_list[st->sqnum].x;
- st->cur_sq_y = st->move_list[st->sqnum].y;
+ if (st->sqnum >= 0) {
+ st->cur_sq_x = st->move_list[st->sqnum].x;
+ st->cur_sq_y = st->move_list[st->sqnum].y;
+ }
return ( st->sqnum );
}
XSetForeground (st->dpy, st->erase_gc, bg);
XSetBackground (st->dpy, st->erase_gc, bg);
+# ifdef HAVE_JWXYZ
+ jwxyz_XSetAntiAliasing (st->dpy, st->gc, False);
+# endif
+
{
Window r;
int x, y;
st->stop = 0;
st->state = 1;
+ if (st->solve_state && st->solve_state->running)
+ st->solve_state->running = 0;
+
st->sync_p = ((random() % 4) != 0);
size = get_integer_resource (st->dpy, "gridSize", "Dimension");
maze_event (Display *dpy, Window window, void *closure, XEvent *event)
{
struct state *st = (struct state *) closure;
- switch (event->type)
+ if (event->type == ButtonPress)
{
- case ButtonPress:
switch (event->xbutton.button)
{
case 2:
st->stop = 0 ;
return True;
}
- break;
-
- case Expose:
+ }
+ else if (event->type == Expose)
+ {
st->restart = 1;
- break;
-
- default:
- break;
+ return False;
+ }
+ else if (screenhack_event_helper (dpy, window, event))
+ {
+ st->restart = 1 ;
+ st->stop = 0 ;
+ return True;
}
return False;
}