#include <stdlib.h>
#include <time.h>
#include <gtk/gtk.h>
+#include <librsvg/rsvg.h>
+#include <librsvg/rsvg-cairo.h>
+
+#define FATAL_ERROR(msg) \
+ do { fprintf (stderr, "Error: %s\n", msg); exit (1); } while (0)
char *colors[] = {"Black", "Blue", "Red", "Yellow"};
int num_players;
board_t board;
deck_t deck;
+ RsvgHandle *blanktile;
} game_t;
static void card_print(card_t card)
static void game_init(game_t *game)
{
int i;
+ GError *error = NULL;
+
game->num_players = 0;
for (i = 0; i < GAME_MAX_PLAYERS; ++i)
board_init(&game->board);
deck_init(&game->deck);
deck_shuffle(&game->deck);
+
+ game->blanktile = rsvg_handle_new_from_file ("tiles/blanktile.svg", &error);
+ if (error)
+ FATAL_ERROR (error->message);
}
static gboolean on_expose_event (GtkWidget *widget, GdkEventExpose *event, game_t *game)
cr = gdk_cairo_create (widget->window);
- cairo_set_source_rgb (cr, 1, 0, 0); /* red */
- cairo_rectangle (cr, 86, 66, 74, 103);
- cairo_fill (cr);
+ rsvg_handle_render_cairo (game->blanktile, cr);
cairo_destroy (cr);
game_t game;
srand(time(NULL));
+
+ gtk_init (&argc, &argv);
game_init(&game);
deck_print(&game.deck);
hand_print(&game);
deck_print(&game.deck);
- gtk_init (&argc, &argv);
-
/* Create a new window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window),