aboutsummaryrefslogtreecommitdiff
path: root/gtk.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-05-30 16:15:34 +0000
committerSimon Tatham <anakin@pobox.com>2005-05-30 16:15:34 +0000
commit90560462c4842dccc0288eb408f15539acc0ab83 (patch)
treed32e6a40e8f20409f2fe4709ff85607a217e9d1f /gtk.c
parent7ddaa1382f064466f158315198788daf33b05052 (diff)
downloadpuzzles-90560462c4842dccc0288eb408f15539acc0ab83.zip
puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.gz
puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.bz2
puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.xz
First cut at a game timer. Yet another backend function which
indicates whether a particular game state should have the timer going (for Mines the initial indeterminate state does not have this property, and neither does a dead or won state); a midend function that optionally (on request from the game) prepends a timer to the front of the status bar text; some complicated midend timing code. It's not great. It's ugly; it's probably slightly inaccurate; it's got no provision for anyone but the game author decreeing whether a game is timed or not. But Mines can't be taken seriously without a timer, so it's a start. [originally from svn r5866]
Diffstat (limited to 'gtk.c')
-rw-r--r--gtk.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk.c b/gtk.c
index 3fdfc87..84e5e72 100644
--- a/gtk.c
+++ b/gtk.c
@@ -98,10 +98,14 @@ void frontend_default_colour(frontend *fe, float *output)
void status_bar(frontend *fe, char *text)
{
+ char *rewritten;
+
assert(fe->statusbar);
+ rewritten = midend_rewrite_statusbar(fe->me, text);
gtk_statusbar_pop(GTK_STATUSBAR(fe->statusbar), fe->statusctx);
- gtk_statusbar_push(GTK_STATUSBAR(fe->statusbar), fe->statusctx, text);
+ gtk_statusbar_push(GTK_STATUSBAR(fe->statusbar), fe->statusctx, rewritten);
+ sfree(rewritten);
}
void start_draw(frontend *fe)