]> git.cworth.org Git - grrobot/blobdiff - src/grr_board_view.h
Added keybindings. Can now play a board from a file without any server.
[grrobot] / src / grr_board_view.h
index 4fb85074ca2240167da25e51b8c53e2c2871a4b1..706a56826623a5ca74e6440abea3419be3691ab7 100644 (file)
@@ -33,6 +33,8 @@
 
 #include <rr.h>
 
+#include "grr_icon.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
@@ -56,7 +58,7 @@ struct grr_board_view
 
     int cell_width, cell_height;
 
-    rr_robot_t drag_robot;
+    rr_robot_t active_robot;
 
     rr_client_t *client;
     
@@ -65,6 +67,12 @@ struct grr_board_view
     
     /* ID of update timer, or 0 if none */
     guint32 timer;
+
+    grr_icon_t *cell_icon;
+    grr_icon_t *wall_icon;
+
+    grr_icon_t *robot_icon[RR_NUM_ROBOTS];
+    grr_icon_t *target_icon[RR_NUM_TARGETS];
 };
 
 struct grr_board_view_class
@@ -72,7 +80,7 @@ struct grr_board_view_class
     GtkWidgetClass parent_class;
 };
 
-GtkWidget*
+grr_board_view_t *
 grr_board_view_new (rr_board_t *board);
 
 void
@@ -81,6 +89,15 @@ grr_board_view_set_client (grr_board_view_t *view, rr_client_t *client);
 GtkType
 grr_board_view_get_type (void);
 
+void
+grr_board_view_set_active_robot (grr_board_view_t *view, rr_robot_t robot);
+
+void
+grr_board_view_move_active (grr_board_view_t *view, rr_direction_t dir);
+
+void
+grr_board_view_undo (grr_board_view_t *view);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */