[gnome-games] Make gnomine work with GTK3/cairo
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games] Make gnomine work with GTK3/cairo
- Date: Tue, 30 Nov 2010 05:51:53 +0000 (UTC)
commit 47f69c40286d7f7df86d0c61a585e0011a879c0f
Author: Robert Ancell <robert ancell canonical com>
Date: Tue Nov 30 16:50:18 2010 +1100
Make gnomine work with GTK3/cairo
configure.in | 4 +-
gnomine/gnomine.c | 12 ++--
gnomine/minefield.c | 221 +++++++++++++++++++++-----------------------------
gnomine/minefield.h | 1 -
4 files changed, 101 insertions(+), 137 deletions(-)
---
diff --git a/configure.in b/configure.in
index 428c6cb..dc3081e 100644
--- a/configure.in
+++ b/configure.in
@@ -23,9 +23,9 @@ AM_MAINTAINER_MODE([enable])
# we support and which features to check for
# This is the canonical list of all game subdirectories.
-allgames="aisleriot glines gnect gnibbles gnobots2 gnotravex gnotski gtali iagno quadrapassel"
+allgames="aisleriot glines gnect gnibbles gnobots2 gnomine gnotravex gnotski gtali iagno quadrapassel"
AC_SUBST([allgames])
-staginggames="gnomine swell-foop mahjongg glchess gnome-sudoku lightsoff"
+staginggames="swell-foop mahjongg glchess gnome-sudoku lightsoff"
AC_SUBST([staginggames])
gamelist=""
diff --git a/gnomine/gnomine.c b/gnomine/gnomine.c
index 023f33c..2b6ef65 100644
--- a/gnomine/gnomine.c
+++ b/gnomine/gnomine.c
@@ -643,7 +643,7 @@ create_preferences (void)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
}
- g_signal_connect (GTK_OBJECT (button), "clicked",
+ g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (size_radio_callback),
GINT_TO_POINTER (i));
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
@@ -668,7 +668,7 @@ create_preferences (void)
GTK_EXPAND | GTK_FILL, 0, 0, 0);
mentry = gtk_spin_button_new_with_range (1, XSIZE_MAX * YSIZE_MAX, 1);
- g_signal_connect (GTK_OBJECT (mentry), "value-changed",
+ g_signal_connect (G_OBJECT (mentry), "value-changed",
G_CALLBACK (nmines_spin_cb), NULL);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (mentry), nmines);
gtk_table_attach (GTK_TABLE (table2), mentry, 1, 2, 2, 3, 0, 0, 0, 0);
@@ -681,7 +681,7 @@ create_preferences (void)
GTK_EXPAND | GTK_FILL, 0, 0, 0);
xentry = gtk_spin_button_new_with_range (XSIZE_MIN, XSIZE_MAX, 1);
- g_signal_connect (GTK_OBJECT (xentry), "value-changed",
+ g_signal_connect (G_OBJECT (xentry), "value-changed",
G_CALLBACK (xsize_spin_cb), NULL);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (xentry), xsize);
gtk_table_attach (GTK_TABLE (table2), xentry, 1, 2, 0, 1, 0, 0, 0, 0);
@@ -693,7 +693,7 @@ create_preferences (void)
GTK_EXPAND | GTK_FILL, 0, 0, 0);
yentry = gtk_spin_button_new_with_range (YSIZE_MIN, YSIZE_MAX, 1);
- g_signal_connect (GTK_OBJECT (yentry), "value-changed",
+ g_signal_connect (G_OBJECT (yentry), "value-changed",
G_CALLBACK (ysize_spin_cb), NULL);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (yentry), ysize);
gtk_table_attach (GTK_TABLE (table2), yentry, 1, 2, 1, 2, 0, 0, 0, 0);
@@ -708,7 +708,7 @@ create_preferences (void)
question_toggle =
gtk_check_button_new_with_mnemonic (_("_Use \"I'm not sure\" flags"));
- g_signal_connect (GTK_OBJECT (question_toggle), "toggled",
+ g_signal_connect (G_OBJECT (question_toggle), "toggled",
G_CALLBACK (use_question_toggle_cb), NULL);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (question_toggle),
use_question_marks);
@@ -722,7 +722,7 @@ create_preferences (void)
overmine_toggle =
gtk_check_button_new_with_mnemonic (_("_Use \"Too many flags\" warning"));
- g_signal_connect (GTK_OBJECT (overmine_toggle), "toggled",
+ g_signal_connect (G_OBJECT (overmine_toggle), "toggled",
G_CALLBACK (use_overmine_toggle_cb), NULL);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (overmine_toggle),
use_overmine_warning);
diff --git a/gnomine/minefield.c b/gnomine/minefield.c
index 9534ffc..ec493cf 100644
--- a/gnomine/minefield.c
+++ b/gnomine/minefield.c
@@ -104,7 +104,7 @@ static gint gtk_minefield_button_release (GtkWidget * widget,
GdkEventButton * event);
static void gtk_minefield_check_field (GtkMineField * mfield, gint x, gint y);
static void gtk_minefield_class_init (GtkMineFieldClass * class);
-static gboolean gtk_minefield_expose (GtkWidget * widget, GdkEventExpose * event);
+static gboolean gtk_minefield_draw (GtkWidget * widget, cairo_t * cr);
static void gtk_minefield_init (GtkMineField * mfield);
static void gtk_minefield_lose (GtkMineField * mfield);
static gint gtk_minefield_motion_notify (GtkWidget * widget,
@@ -117,8 +117,6 @@ static void gtk_minefield_setup_signs (GtkMineField * mfield);
static void gtk_minefield_show (GtkMineField * mfield, guint x, guint y);
static void gtk_minefield_size_allocate (GtkWidget * widget,
GtkAllocation * allocation);
-static void gtk_minefield_size_request (GtkWidget * widget,
- GtkRequisition * requisition);
static void gtk_minefield_set_mark (GtkMineField * mfield, guint x,
guint y, int mark);
static void gtk_minefield_toggle_mark (GtkMineField * mfield, guint x,
@@ -350,12 +348,11 @@ gtk_minefield_realize (GtkWidget * widget)
attributes.height = allocation.height;
attributes.wclass = GDK_INPUT_OUTPUT;
attributes.visual = gtk_widget_get_visual (widget);
- attributes.colormap = gtk_widget_get_colormap (widget);
attributes.event_mask = gtk_widget_get_events (widget);
attributes.event_mask |= GDK_EXPOSURE_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK;
- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
@@ -401,15 +398,6 @@ gtk_minefield_size_allocate (GtkWidget * widget, GtkAllocation * allocation)
xofs = allocation->x + (allocation->width - width) / 2;
yofs = allocation->y + (allocation->height - height) / 2;
-
- if (!mfield->thick_line)
- mfield->thick_line = gdk_gc_new (window);
- gdk_gc_copy (mfield->thick_line, gtk_widget_get_style (widget)->black_gc);
- gdk_gc_set_line_attributes (mfield->thick_line,
- MAX (1, 0.1 * minesizepixels),
- GDK_LINE_SOLID,
- GDK_CAP_ROUND, GDK_JOIN_ROUND);
-
gdk_window_move_resize (window, xofs, yofs, width, height);
}
}
@@ -440,75 +428,54 @@ gtk_mine_draw (GtkMineField * mfield, guint x, guint y)
gboolean clicked;
int n, nm;
guint minesizepixels;
- static GdkGC *dots;
- static const char stipple_data[] = { 0x03, 0x03, 0x0c, 0x0c };
- static GdkPixmap *stipple = NULL;
GtkStyle *style;
GtkWidget *widget = GTK_WIDGET (mfield);
- GdkRectangle rect;
- GdkWindow *window;
+ cairo_t *cr;
g_return_if_fail (c != -1);
- window = gtk_widget_get_window (widget);
+ cr = gdk_cairo_create (gtk_widget_get_window (widget));
style = gtk_widget_get_style (widget);
- /* This gives us a dotted line to increase the contrast between
- * buttons and the "sea". */
- if (stipple == NULL) {
- stipple = gdk_bitmap_create_from_data (NULL, stipple_data, 4, 4);
- dots = gdk_gc_new (window);
- gdk_gc_copy (dots, style->dark_gc[2]);
- gdk_gc_set_stipple (dots, stipple);
- g_object_unref (stipple);
- gdk_gc_set_fill (dots, GDK_STIPPLED);
- }
-
minesizepixels = mfield->minesizepixels;
noshadow = mfield->mines[c].shown;
clicked = mfield->mines[c].down;
- /* gtk_paint_box needs a clipping rectangle. */
- rect.x = x * minesizepixels;
- rect.y = y * minesizepixels;
- rect.width = minesizepixels;
- rect.height = minesizepixels;
-
if (noshadow) { /* draw grid on ocean floor */
+ double dots[] = {2, 2};
+
gtk_paint_box (style,
- window,
+ cr,
clicked ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL,
GTK_SHADOW_IN,
- &rect,
widget,
"button", x * minesizepixels, y * minesizepixels, minesizepixels, minesizepixels);
if (y == 0) { /* top row only */
- gdk_draw_line (window, /* top */
- dots, x * minesizepixels, 0, x * minesizepixels + minesizepixels - 1, 0);
+ cairo_move_to (cr, x * minesizepixels, 0);
+ cairo_line_to (cr, x * minesizepixels + minesizepixels - 1, 0);
}
if (x == 0) { /* left column only */
- gdk_draw_line (window, /* left */
- dots, 0, y * minesizepixels, 0, y * minesizepixels + minesizepixels - 1);
+ cairo_move_to (cr, 0, y * minesizepixels);
+ cairo_line_to (cr, 0, y * minesizepixels + minesizepixels - 1);
}
- gdk_draw_line (window, /* right */
- dots,
- x * minesizepixels + minesizepixels - 1,
- y * minesizepixels,
- x * minesizepixels + minesizepixels - 1, y * minesizepixels + minesizepixels - 1);
- gdk_draw_line (window, /* bottom */
- dots,
- x * minesizepixels,
- y * minesizepixels + minesizepixels - 1,
- x * minesizepixels + minesizepixels - 1, y * minesizepixels + minesizepixels - 1);
-
+ cairo_move_to (cr, x * minesizepixels + minesizepixels - 1 + 0.5, y * minesizepixels + 0.5);
+ cairo_line_to (cr, x * minesizepixels + minesizepixels - 1 + 0.5, y * minesizepixels + minesizepixels - 1 + 0.5);
+ cairo_move_to (cr, x * minesizepixels + 0.5, y * minesizepixels + minesizepixels - 1 + 0.5);
+ cairo_line_to (cr, x * minesizepixels + minesizepixels - 1 + 0.5, y * minesizepixels + minesizepixels - 1 + 0.5);
+
+ cairo_save (cr);
+ gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->dark[gtk_widget_get_state (widget)]);
+ cairo_set_line_width (cr, 1);
+ cairo_set_dash (cr, dots, 2, 0);
+ cairo_stroke (cr);
+ cairo_restore (cr);
} else { /* draw shadow around possible mine location */
gtk_paint_box (style,
- window,
+ cr,
clicked ? GTK_STATE_ACTIVE : GTK_STATE_SELECTED,
clicked ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
- &rect,
widget,
"button", x * minesizepixels, y * minesizepixels, minesizepixels, minesizepixels);
}
@@ -521,36 +488,41 @@ gtk_mine_draw (GtkMineField * mfield, guint x, guint y)
g_assert (nm >= 0 && nm <= 9);
if (mfield->use_overmine_warning && n < nm) {
- gdk_draw_pixbuf (window, NULL,
- mfield->warning.scaledpixbuf, 0, 0,
- x * minesizepixels + (minesizepixels - mfield->warning.width) / 2,
- y * minesizepixels + (minesizepixels - mfield->warning.height) / 2,
- mfield->warning.width, mfield->warning.height,
- GDK_RGB_DITHER_NORMAL, 0, 0);
+ gdk_cairo_set_source_pixbuf (cr, mfield->warning.scaledpixbuf,
+ x * minesizepixels + (minesizepixels - mfield->warning.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->warning.height) / 2);
+ cairo_rectangle (cr,
+ x * minesizepixels + (minesizepixels - mfield->warning.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->warning.height) / 2,
+ mfield->warning.width, mfield->warning.height);
+ cairo_fill (cr);
}
if (n != 0) {
- gdk_draw_layout (window,
- style->black_gc,
- x * minesizepixels + mfield->numstr[n].dx,
- y * minesizepixels + mfield->numstr[n].dy,
- PANGO_LAYOUT (mfield->numstr[n].layout));
+ cairo_move_to (cr,
+ x * minesizepixels + mfield->numstr[n].dx,
+ y * minesizepixels + mfield->numstr[n].dy);
+ pango_cairo_show_layout (cr, PANGO_LAYOUT (mfield->numstr[n].layout));
}
} else if (mfield->mines[c].marked == MINE_QUESTION) {
- gdk_draw_pixbuf (window, NULL,
- mfield->question.scaledpixbuf, 0, 0,
- x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
- y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
- mfield->flag.width, mfield->flag.height,
- GDK_RGB_DITHER_NORMAL, 0, 0);
+ gdk_cairo_set_source_pixbuf (cr, mfield->question.scaledpixbuf,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2);
+ cairo_rectangle (cr,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
+ mfield->flag.width, mfield->flag.height);
+ cairo_fill (cr);
} else if (mfield->mines[c].marked == MINE_MARKED) {
- gdk_draw_pixbuf (window, NULL,
- mfield->flag.scaledpixbuf, 0, 0,
- x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
- y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
- mfield->flag.width, mfield->flag.height,
- GDK_RGB_DITHER_NORMAL, 0, 0);
+ gdk_cairo_set_source_pixbuf (cr, mfield->flag.scaledpixbuf,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2);
+ cairo_rectangle (cr,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
+ mfield->flag.width, mfield->flag.height);
+ cairo_fill (cr);
if (mfield->lose && mfield->mines[c].mined != 1) {
int x1 = x * minesizepixels + 0.1 * minesizepixels;
@@ -558,65 +530,59 @@ gtk_mine_draw (GtkMineField * mfield, guint x, guint y)
int x2 = x * minesizepixels + 0.9 * minesizepixels;
int y2 = y * minesizepixels + 0.9 * minesizepixels;
- gdk_draw_line (window, mfield->thick_line, x1, y1, x2, y2);
- gdk_draw_line (window, mfield->thick_line, x1, y2, x2, y1);
+ cairo_move_to (cr, x1, y1);
+ cairo_line_to (cr, x2, y2);
+ cairo_move_to (cr, x1, y2);
+ cairo_line_to (cr, x2, y1);
+
+ cairo_save (cr);
+ gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->black);
+ cairo_set_line_width (cr, MAX (1, 0.1 * minesizepixels));
+ cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
+ cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
+ cairo_stroke (cr);
+ cairo_restore (cr);
}
} else if (mfield->lose && mfield->mines[c].mined) {
- gdk_draw_pixbuf (window, NULL,
- mfield->mine.scaledpixbuf, 0, 0,
- x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
- y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
- mfield->flag.width, mfield->flag.height,
- GDK_RGB_DITHER_NORMAL, 0, 0);
+ gdk_cairo_set_source_pixbuf (cr, mfield->mine.scaledpixbuf,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2);
+ cairo_rectangle (cr,
+ x * minesizepixels + (minesizepixels - mfield->flag.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->flag.height) / 2,
+ mfield->flag.width, mfield->flag.height);
+ cairo_fill (cr);
}
if (mfield->lose && mfield->mines[c].mined && mfield->mines[c].shown) {
- gdk_draw_pixbuf (window, NULL,
- mfield->bang.scaledpixbuf, 0, 0,
- x * minesizepixels + (minesizepixels - mfield->bang.width) / 2,
- y * minesizepixels + (minesizepixels - mfield->bang.height) / 2,
- mfield->bang.width, mfield->bang.height,
- GDK_RGB_DITHER_NORMAL, 0, 0);
-
+ gdk_cairo_set_source_pixbuf (cr, mfield->bang.scaledpixbuf,
+ x * minesizepixels + (minesizepixels - mfield->bang.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->bang.height) / 2);
+ cairo_rectangle (cr,
+ x * minesizepixels + (minesizepixels - mfield->bang.width) / 2,
+ y * minesizepixels + (minesizepixels - mfield->bang.height) / 2,
+ mfield->bang.width, mfield->bang.height);
+ cairo_fill (cr);
}
+
+ cairo_destroy (cr);
}
static gboolean
-gtk_minefield_expose (GtkWidget * widget, GdkEventExpose * event)
+gtk_minefield_draw (GtkWidget * widget, cairo_t * cr)
{
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_MINEFIELD (widget), FALSE);
- g_return_val_if_fail (event != NULL, FALSE);
if (gtk_widget_is_drawable (widget)) {
- guint x1, y1, x2, y2, x, y;
+ guint x, y;
GtkMineField *mfield = GTK_MINEFIELD (widget);
- GdkRectangle *area = &event->area;
/* mine square numbers must be resized to fit the mine size */
gtk_minefield_setup_signs (mfield);
gtk_minefield_setup_numbers (mfield);
- if (area) {
- x1 = area->x / mfield->minesizepixels;
- y1 = area->y / mfield->minesizepixels;
- x2 = (area->x + area->width - 1) / mfield->minesizepixels;
- y2 = (area->y + area->height - 1) / mfield->minesizepixels;
- } else {
- x1 = 0;
- y1 = 0;
- x2 = mfield->xsize - 1;
- y2 = mfield->ysize - 1;
- }
-
- /* These are necessary because we get an expose call before a
- * resize at the old size, but after we have changed our data. */
- if (x2 >= mfield->xsize)
- x2 = mfield->xsize - 1;
- if (y2 >= mfield->ysize)
- y2 = mfield->ysize - 1;
-
- for (x = x1; x <= x2; x++)
- for (y = y1; y <= y2; y++)
+ for (x = 0; x < mfield->xsize; x++)
+ for (y = 0; y < mfield->ysize; y++)
gtk_mine_draw (mfield, x, y);
}
return FALSE;
@@ -737,7 +703,7 @@ gtk_minefield_win (GtkMineField * mfield)
mfield->mines[c].marked = MINE_MARKED; /* mark it */
gtk_mine_draw (mfield, x, y); /* draw it */
mfield->flag_count++; /* up the count */
- g_signal_emit (GTK_OBJECT (mfield), /* display the count */
+ g_signal_emit (G_OBJECT (mfield), /* display the count */
minefield_signals[MARKS_CHANGED_SIGNAL], 0, NULL);
}
}
@@ -749,7 +715,7 @@ gtk_minefield_win (GtkMineField * mfield)
/* now stop the clock. (MARKS_CHANGED_SIGNAL starts it) */
/* Make sure this is the last thing called so it is safe to
* start a new game in the win_signal handler. */
- g_signal_emit (GTK_OBJECT (mfield), minefield_signals[WIN_SIGNAL], 0, NULL);
+ g_signal_emit (G_OBJECT (mfield), minefield_signals[WIN_SIGNAL], 0, NULL);
}
static void
@@ -885,7 +851,7 @@ gtk_minefield_set_mark (GtkMineField * mfield, guint x, guint y, int mark)
/* Update marking */
mfield->mines[c].marked = mark;
gtk_mine_draw (mfield, x, y);
- g_signal_emit (GTK_OBJECT (mfield),
+ g_signal_emit (G_OBJECT (mfield),
minefield_signals[MARKS_CHANGED_SIGNAL], 0, NULL);
}
@@ -1146,7 +1112,7 @@ gtk_minefield_button_press (GtkWidget * widget, GdkEventButton * event)
}
}
if (mfield->action != FLAG_ACTION) {
- g_signal_emit (GTK_OBJECT (mfield),
+ g_signal_emit (G_OBJECT (mfield),
minefield_signals[LOOK_SIGNAL], 0, NULL);
}
}
@@ -1185,7 +1151,7 @@ gtk_minefield_button_release (GtkWidget * widget, GdkEventButton * event)
break;
}
if (!mfield->lose && !mfield->win) {
- g_signal_emit (GTK_OBJECT (mfield),
+ g_signal_emit (G_OBJECT (mfield),
minefield_signals[UNLOOK_SIGNAL], 0, NULL);
}
mfield->mines[mfield->celldown].down = 0;
@@ -1201,7 +1167,7 @@ static void
gtk_minefield_class_init (GtkMineFieldClass * class)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
- GtkObjectClass *object_class = GTK_OBJECT_CLASS (class);
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
parent_class = g_type_class_peek_parent (class);
@@ -1210,7 +1176,7 @@ gtk_minefield_class_init (GtkMineFieldClass * class)
widget_class->size_allocate = gtk_minefield_size_allocate;
widget_class->get_preferred_width = gtk_minefield_get_preferred_width;
widget_class->get_preferred_height = gtk_minefield_get_preferred_height;
- widget_class->expose_event = gtk_minefield_expose;
+ widget_class->draw = gtk_minefield_draw;
widget_class->button_press_event = gtk_minefield_button_press;
widget_class->button_release_event = gtk_minefield_button_release;
widget_class->motion_notify_event = gtk_minefield_motion_notify;
@@ -1277,7 +1243,6 @@ gtk_minefield_init (GtkMineField * mfield)
mfield->bang.preimage = NULL;
mfield->warning.preimage = NULL;
mfield->grand = g_rand_new ();
- mfield->thick_line = NULL;
}
void
@@ -1489,7 +1454,7 @@ gtk_minefield_hint (GtkMineField * mfield)
/* Makes sure that the program knows about the successful
* hint before a possible win. */
- g_signal_emit (GTK_OBJECT (mfield),
+ g_signal_emit (G_OBJECT (mfield),
minefield_signals[HINT_SIGNAL], 0, NULL);
gtk_minefield_show (mfield, x, y);
gtk_mine_draw (mfield, x, y);
diff --git a/gnomine/minefield.h b/gnomine/minefield.h
index 98d1a58..af7fbb4 100644
--- a/gnomine/minefield.h
+++ b/gnomine/minefield.h
@@ -77,7 +77,6 @@ extern "C" {
sign bang;
sign warning;
GRand *grand;
- GdkGC *thick_line;
gboolean started;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]