- draw_polygon(fe, coords, 7, TRUE, COL_LOWLIGHT);
- draw_polygon(fe, coords, 7, FALSE, COL_TEXT);
+ draw_polygon(dr, coords, 7, cur ? COL_POWERED : COL_LOWLIGHT, COL_TEXT);
+}
+
+static void draw_arrow_for_cursor(drawing *dr, game_drawstate *ds,
+ int cur_x, int cur_y, int cur)
+{
+ if (cur_x == -1 && cur_y == -1)
+ return; /* 'no cursur here */
+ else if (cur_x == -1) /* LH column. */
+ draw_arrow(dr, ds, 0, cur_y+1, 0, -1, cur);
+ else if (cur_x == ds->width) /* RH column */
+ draw_arrow(dr, ds, ds->width, cur_y, 0, +1, cur);
+ else if (cur_y == -1) /* Top row */
+ draw_arrow(dr, ds, cur_x, 0, +1, 0, cur);
+ else if (cur_y == ds->height) /* Bottom row */
+ draw_arrow(dr, ds, cur_x+1, ds->height, -1, 0, cur);
+ else
+ assert(!"Invalid cursor position");
+
+ draw_update(dr,
+ cur_x * TILE_SIZE + BORDER + WINDOW_OFFSET,
+ cur_y * TILE_SIZE + BORDER + WINDOW_OFFSET,
+ TILE_SIZE, TILE_SIZE);