]> git.cworth.org Git - kub/commitdiff
Add "select_mode" to determine if "selection_box.visible" is true or false
authorKevin Worth <kworth@kworth-laptop.(none)>
Sun, 7 Jun 2009 23:07:15 +0000 (19:07 -0400)
committerKevin Worth <kworth@kworth-laptop.(none)>
Sun, 7 Jun 2009 23:07:15 +0000 (19:07 -0400)
    If "select_mode" is true(tile not being dragged) then
    selection_box.visible is true. Previously this check was done using
    "current_tile == -1", which was unclear.

    It could be said that it is redundant to set "select_mode" and *then*
    set "selection_box.visible" to true, but it very clearly shows what
    is being done and when. In addition, checking select_mode may be used
    later on with a completely different purpose.

kub.c

diff --git a/kub.c b/kub.c
index 489effb4cd77945d570c5b58bf81c2307f4a5896..530fc4133043a00606d1537f16689195127afc46 100644 (file)
--- a/kub.c
+++ b/kub.c
@@ -97,6 +97,7 @@ typedef struct game {
     RsvgHandle *blanktile;
 
     int current_tile;
+    int select_mode;
     int diff_x, diff_y;
     int click_x, click_y;
     int release_x, release_y;    /*Currently unused*/
@@ -480,9 +481,8 @@ static void game_init(game_t *game)
     if (error)
        FATAL_ERROR (error->message);
 
-    /*This line appears to be useless, has been replaced by line below*/
-    //game->current_tile = game->deck.num_tiles - 1;
-    game->current_tile = -1;
+    game->current_tile = game->deck.num_tiles - 1;
+    game->select_mode = 1;
 
     game->diff_x = game->diff_y = 0;
 }
@@ -528,7 +528,7 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event,
            game->diff_y = event->y - tile_y;
         }
     }
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
        game->selection_box.visible = 1;
        /*These next two lines are likely to be replaced by...*/
@@ -543,8 +543,9 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event,
 
 static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *event, game_t *game)
 {
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
+       game->select_mode = 0;
        selection_box_t *box;
        box = &game->selection_box;
 
@@ -579,7 +580,7 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even
            tile_print(group.tiles[i]);
     }
 
-    game->current_tile = -1;
+    game->select_mode = 1;
 
     return TRUE;
 }
@@ -587,7 +588,7 @@ static gboolean on_button_release_event (GtkWidget *widget, GdkEventButton *even
 static gboolean on_button_motion_event (GtkWidget *widget, GdkEventMotion *event,
                                        game_t *game, cairo_t *cr)
 {
-    if (game->current_tile == -1)
+    if (game->select_mode)
     {
        selection_box_t *box;
        box = &game->selection_box;