gnome-games r8314 - trunk/gnometris
- From: jclinton svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-games r8314 - trunk/gnometris
- Date: Sat, 15 Nov 2008 04:14:03 +0000 (UTC)
Author: jclinton
Date: Sat Nov 15 04:14:03 2008
New Revision: 8314
URL: http://svn.gnome.org/viewvc/gnome-games?rev=8314&view=rev
Log:
Replace gtk_drawing_areas with gtk_clutter_embeds. Remove expose handlers.
This commit causes us to depend on mutlistage support in the underlying glx
implementation.
Added:
trunk/gnometris/preview-noclutter.cpp
- copied, changed from r8313, /trunk/gnometris/preview.cpp
trunk/gnometris/preview-noclutter.h
- copied, changed from r8313, /trunk/gnometris/preview.h
Modified:
trunk/gnometris/blockops.cpp
trunk/gnometris/field-noclutter.cpp
trunk/gnometris/field-noclutter.h
trunk/gnometris/field.cpp
trunk/gnometris/field.h
trunk/gnometris/main.cpp
trunk/gnometris/preview.cpp
trunk/gnometris/preview.h
trunk/gnometris/tetris.cpp
Modified: trunk/gnometris/blockops.cpp
==============================================================================
--- trunk/gnometris/blockops.cpp (original)
+++ trunk/gnometris/blockops.cpp Sat Nov 15 04:14:03 2008
@@ -21,7 +21,12 @@
#include "blockops.h"
#include "blocks.h"
+
+#ifdef HAVE_CLUTTER
#include "field.h"
+#else
+#include "field-noclutter.h"
+#endif
#define NCOLOURS 7
Modified: trunk/gnometris/field-noclutter.cpp
==============================================================================
--- trunk/gnometris/field-noclutter.cpp (original)
+++ trunk/gnometris/field-noclutter.cpp Sat Nov 15 04:14:03 2008
@@ -19,7 +19,7 @@
* For more details see the file COPYING.
*/
-#include "field.h"
+#include "field-noclutter.h"
#include "blocks.h"
#include "renderer.h"
Modified: trunk/gnometris/field-noclutter.h
==============================================================================
--- trunk/gnometris/field-noclutter.h (original)
+++ trunk/gnometris/field-noclutter.h Sat Nov 15 04:14:03 2008
@@ -1,6 +1,6 @@
/* -*- mode:C++; tab-width:8; c-basic-offset:8; indent-tabs-mode:true -*- */
-#ifndef __field_h__
-#define __field_h__
+#ifndef __field_noclutter_h__
+#define __field_noclutter_h__
/*
* written by J. Marcin Gorycki <marcin gorycki intel com>
@@ -78,4 +78,4 @@
};
-#endif //__field_h__
+#endif //__field_noclutter_h__
Modified: trunk/gnometris/field.cpp
==============================================================================
--- trunk/gnometris/field.cpp (original)
+++ trunk/gnometris/field.cpp Sat Nov 15 04:14:03 2008
@@ -23,6 +23,8 @@
#include "blocks.h"
#include "renderer.h"
+#include <clutter-gtk/gtk-clutter-embed.h>
+
#define FONT "Sans Bold"
Field::Field():
@@ -40,9 +42,8 @@
renderer = NULL;
rendererTheme = -1;
- w = gtk_drawing_area_new();
+ w = gtk_clutter_embed_new();
- g_signal_connect (w, "expose_event", G_CALLBACK (expose), this);
g_signal_connect (w, "configure_event", G_CALLBACK (configure), this);
/* We do our own double-buffering. */
gtk_widget_set_double_buffered(w, FALSE);
@@ -155,15 +156,6 @@
draw (0, 0, width, height);
}
-gboolean
-Field::expose(GtkWidget *widget, GdkEventExpose *event, Field *field)
-{
- field->draw (event->area.x, event->area.y,
- event->area.width, event->area.height);
-
- return TRUE;
-}
-
void
Field::drawMessage(cairo_t *cr, const char *msg)
{
Modified: trunk/gnometris/field.h
==============================================================================
--- trunk/gnometris/field.h (original)
+++ trunk/gnometris/field.h Sat Nov 15 04:14:03 2008
@@ -73,9 +73,6 @@
static gboolean configure (GtkWidget * widget, GdkEventConfigure * event,
Field * field);
- static gboolean expose (GtkWidget * widget, GdkEventExpose * event,
- Field * field);
-
};
#endif //__field_h__
Modified: trunk/gnometris/main.cpp
==============================================================================
--- trunk/gnometris/main.cpp (original)
+++ trunk/gnometris/main.cpp Sat Nov 15 04:14:03 2008
@@ -80,8 +80,6 @@
games_conf_initialise ("Gnometris");
- Tetris *t = new Tetris(cmdlineLevel);
-
#ifdef HAVE_CLUTTER
if (gtk_clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS ) {
g_printerr ("Failed to initialise clutter: %s\n", error->message);
@@ -90,6 +88,8 @@
}
#endif
+ Tetris *t = new Tetris(cmdlineLevel);
+
gtk_main();
delete t;
Copied: trunk/gnometris/preview-noclutter.cpp (from r8313, /trunk/gnometris/preview.cpp)
==============================================================================
--- /trunk/gnometris/preview.cpp (original)
+++ trunk/gnometris/preview-noclutter.cpp Sat Nov 15 04:14:03 2008
@@ -20,7 +20,7 @@
* For more details see the file COPYING.
*/
-#include "preview.h"
+#include "preview-noclutter.h"
#include "blocks.h"
#define PREVIEW_WIDTH 6
Copied: trunk/gnometris/preview-noclutter.h (from r8313, /trunk/gnometris/preview.h)
==============================================================================
--- /trunk/gnometris/preview.h (original)
+++ trunk/gnometris/preview-noclutter.h Sat Nov 15 04:14:03 2008
@@ -1,6 +1,6 @@
/* -*- mode:C++; tab-width:8; c-basic-offset:8; indent-tabs-mode:true -*- */
-#ifndef __preview_h__
-#define __preview_h__
+#ifndef __preview_noclutter_h__
+#define __preview_noclutter_h__
/*
* written by J. Marcin Gorycki <marcin gorycki intel com>
Modified: trunk/gnometris/preview.cpp
==============================================================================
--- trunk/gnometris/preview.cpp (original)
+++ trunk/gnometris/preview.cpp Sat Nov 15 04:14:03 2008
@@ -48,7 +48,6 @@
w = gtk_drawing_area_new();
- g_signal_connect (w, "expose_event", G_CALLBACK (expose), this);
g_signal_connect (w, "configure_event", G_CALLBACK (configure), this);
/* FIXME: We should scale with the rest of the UI, but that requires
@@ -133,49 +132,3 @@
return TRUE;
}
-gint
-Preview::expose(GtkWidget * widget, GdkEventExpose * event, Preview * preview)
-{
- cairo_t *cr;
- Renderer *r;
-
- cr = gdk_cairo_create (widget->window);
-
- if (!preview->enabled)
- {
- cairo_scale (cr, 1.0*widget->allocation.width/PREVIEW_WIDTH,
- 1.0*widget->allocation.height/PREVIEW_HEIGHT);
- cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
-
- cairo_set_source_rgb (cr, 0, 0, 0);
- cairo_paint (cr);
-
- cairo_set_source_rgb (cr, 0.8, 0.1, 0.1);
- cairo_set_line_width (cr, 0.5);
-
- cairo_move_to (cr, 1, 1);
- cairo_line_to (cr, PREVIEW_WIDTH-1, PREVIEW_HEIGHT-1);
- cairo_move_to (cr, PREVIEW_WIDTH-1, 1);
- cairo_line_to (cr, 1, PREVIEW_HEIGHT-1);
-
- cairo_stroke (cr);
- }
- else
- {
- cairo_surface_t *dst;
-
- dst = cairo_get_target (cr);
-
- r = rendererFactory (preview->themeID, dst,
- preview->background, preview->blocks,
- PREVIEW_WIDTH, PREVIEW_HEIGHT,
- preview->width, preview->height);
-
- r->render ();
- delete r;
- }
-
- cairo_destroy (cr);
-
- return TRUE;
-}
Modified: trunk/gnometris/preview.h
==============================================================================
--- trunk/gnometris/preview.h (original)
+++ trunk/gnometris/preview.h Sat Nov 15 04:14:03 2008
@@ -55,10 +55,7 @@
static gint configure (GtkWidget * widget, GdkEventConfigure * event,
Preview * preview);
- static gint expose (GtkWidget * widget, GdkEventExpose * event,
- Preview * preview);
-
-Block **blocks;
+ Block **blocks;
};
#endif //__preview_h__
Modified: trunk/gnometris/tetris.cpp
==============================================================================
--- trunk/gnometris/tetris.cpp (original)
+++ trunk/gnometris/tetris.cpp Sat Nov 15 04:14:03 2008
@@ -39,14 +39,20 @@
#include <libgames-support/games-stock.h>
#include "tetris.h"
-#include "field.h"
#include "blockops.h"
#include "blocks.h"
-#include "preview.h"
#include "scoreframe.h"
#include "highscores.h"
#include "renderer.h"
+#ifdef HAVE_CLUTTER
+#include "preview.h"
+#include "field.h"
+#else
+#include "preview-noclutter.h"
+#include "field-noclutter.h"
+#endif
+
int LINES = 20;
int COLUMNS = 14;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]