X-Git-Url: https://git.cworth.org/git?p=wordgame;a=blobdiff_plain;f=rack-fancy.c;h=14c8d70fa8b55c3f0e47f4c13a3c2cc70b69cc78;hp=38c125394e9c8aeeaa6f4070cf643dafc8b3f362;hb=1478e50ab9b22ef50fb0a1be0d77a5f532eb7bd8;hpb=5e131ba1815778bc6ea172cc4ca4f0c478edd316 diff --git a/rack-fancy.c b/rack-fancy.c index 38c1253..14c8d70 100644 --- a/rack-fancy.c +++ b/rack-fancy.c @@ -16,7 +16,13 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." */ #include +#include #include +#include +#include +#include + +#include "word-game.h" #include "demo-item.h" static gboolean @@ -61,10 +67,13 @@ on_button_press (GooCanvasItem *item, } static void -create_canvas (GtkWidget *parent) +create_canvas (GtkWidget *parent, char *word) { GtkWidget *canvas; - GooCanvasItem *root, *rect; + GooCanvasItem *root, *letter; + int i; + int item_size = 60; + int item_pad = 5; canvas = goo_canvas_new (); gtk_widget_set_size_request (canvas, 400, 400); @@ -74,25 +83,43 @@ create_canvas (GtkWidget *parent) root = goo_canvas_get_root_item (GOO_CANVAS (canvas)); - rect = goo_demo_item_new (root, 30, 20, 50, 30, - "fill-color", "purple", - NULL); - - g_signal_connect (rect, "button_press_event", - (GtkSignalFunc) on_button_press, NULL); + for (i = 0; i < strlen (word); i++) { + letter = goo_demo_item_new (root, + 30 + i * (item_size + item_pad), 20, + item_size, item_size, + word[i], + NULL); + g_signal_connect (letter, "button_press_event", + (GtkSignalFunc) on_button_press, NULL); + } } int main (int argc, char *argv[]) { + struct timeval tv; + bag_t bag; + char rack[8]; + int i; GtkWidget *window; - gtk_init (&argc, &argv); + gettimeofday (&tv, NULL); + srand (tv.tv_sec ^ tv.tv_usec); + + bag_init (&bag); + bag_shuffle (&bag); + memcpy (rack, bag.tiles, 7); + rack[7] = '\0'; + + for (i = 0; i < 7; i++) + rack[i] = toupper (rack[i]); + + gtk_init (&argc, &argv); window = create_window (); - create_canvas (window); + create_canvas (window, rack); gtk_main ();