gnome-games r8393 - trunk/gnometris
- From: jclinton svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-games r8393 - trunk/gnometris
- Date: Mon, 5 Jan 2009 06:16:18 +0000 (UTC)
Author: jclinton
Date: Mon Jan 5 06:16:18 2009
New Revision: 8393
URL: http://svn.gnome.org/viewvc/gnome-games?rev=8393&view=rev
Log:
Further seperate the clutter and noclutter code
Added:
trunk/gnometris/block-cache.cpp
- copied, changed from r8392, /trunk/gnometris/preview-noclutter.h
trunk/gnometris/block-cache.h
- copied, changed from r8392, /trunk/gnometris/preview-noclutter.h
trunk/gnometris/renderer-noclutter.cpp
- copied, changed from r8392, /trunk/gnometris/renderer.cpp
trunk/gnometris/renderer-noclutter.h
- copied, changed from r8392, /trunk/gnometris/renderer.h
Modified:
trunk/gnometris/Makefile.am
trunk/gnometris/field-noclutter.cpp
trunk/gnometris/field-noclutter.h
trunk/gnometris/field.cpp
trunk/gnometris/field.h
trunk/gnometris/preview-noclutter.h
trunk/gnometris/renderer.cpp
trunk/gnometris/renderer.h
trunk/gnometris/tetris.cpp
Modified: trunk/gnometris/Makefile.am
==============================================================================
--- trunk/gnometris/Makefile.am (original)
+++ trunk/gnometris/Makefile.am Mon Jan 5 06:16:18 2009
@@ -10,8 +10,6 @@
blockops.h \
highscores.cpp \
highscores.h \
- renderer.cpp \
- renderer.h \
scoreframe.cpp \
scoreframe.h \
tetris.cpp \
@@ -22,13 +20,19 @@
field.cpp \
field.h \
preview.cpp \
- preview.h
+ preview.h \
+ renderer.cpp \
+ renderer.h \
+ block-cache.cpp \
+ block-cache.h
else
gnometris_SOURCES += \
field-noclutter.cpp \
field-noclutter.h \
preview-noclutter.cpp \
- preview-noclutter.h
+ preview-noclutter.h \
+ renderer-noclutter.cpp \
+ renderer-noclutter.h
endif
gnometris_CPPFLAGS = \
@@ -53,23 +57,23 @@
main.cpp \
blocks.cpp \
blocks.h \
- preview.cpp \
- preview.h \
+ preview-noclutter.cpp \
+ preview-noclutter.h \
blockops.cpp \
blockops.h \
field-noclutter.cpp \
field-noclutter.h \
highscores.cpp \
highscores.h \
- renderer.cpp \
- renderer.h \
+ renderer-noclutter.cpp \
+ renderer-noclutter.h \
scoreframe.cpp \
scoreframe.h \
tetris.cpp \
tetris.h
gnometris_noclutter_CPPFLAGS = $(gnometris_CPPFLAGS) -UHAVE_CLUTTER
-gnometris_noclutter_CXXFLAGS = $(gnometris_CXXFLAGS)
+gnometris_noclutter_CXXFLAGS = $(gnometris_CXXFLAGS) -UHAVE_CLUTTER
gnometris_noclutter_LDADD = $(gnometris_LDADD)
gnometris_CPPFLAGS += -DHAVE_CLUTTER
gnometris_CXXFLAGS += $(CLUTTER_CFLAGS)
Copied: trunk/gnometris/block-cache.cpp (from r8392, /trunk/gnometris/preview-noclutter.h)
==============================================================================
--- /trunk/gnometris/preview-noclutter.h (original)
+++ trunk/gnometris/block-cache.cpp Mon Jan 5 06:16:18 2009
@@ -1,9 +1,9 @@
/* -*- mode:C++; tab-width:8; c-basic-offset:8; indent-tabs-mode:true -*- */
-#ifndef __preview_noclutter_h__
-#define __preview_noclutter_h__
-
/*
- * written by J. Marcin Gorycki <marcin gorycki intel com>
+ * written by Jason Clinton <me jasonclinton com>
+ * inspired by the cache code writen by Neil Roberts for Aiselriot
+ *
+ * Copyright (C) 2005 by Callum McKenzie
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,43 +22,16 @@
* For more details see the file COPYING.
*/
-#include "tetris.h"
-#include "blockops.h"
-#include "renderer.h"
-
-class Preview {
-public:
- Preview ();
- ~Preview ();
-
- GtkWidget *getWidget () {
- return w;
- }
-
- void enable (bool enable);
- void previewBlock (int bnr, int brot, int bcolor);
- void setTheme (int id);
-
-private:
- GtkWidget * w;
- gint width;
- gint height;
-
- int blocknr;
- int blockrot;
- int blockcolor;
-
- bool enabled;
-
- int themeID;
- cairo_surface_t *background;
-
- static gint configure (GtkWidget * widget, GdkEventConfigure * event,
- Preview * preview);
- static gint expose (GtkWidget * widget, GdkEventExpose * event,
- Preview * preview);
+#include "block-cache.h"
+
+GnometrisBlockCache::GnometrisBlockCache (int total_slots)
+{
+ slots = total_slots;
+}
+
+GnometrisBlockCache::~GnometrisBlockCache ()
+{
+
+}
-Block **blocks;
-};
-#endif //__preview_h__
Copied: trunk/gnometris/block-cache.h (from r8392, /trunk/gnometris/preview-noclutter.h)
==============================================================================
--- /trunk/gnometris/preview-noclutter.h (original)
+++ trunk/gnometris/block-cache.h Mon Jan 5 06:16:18 2009
@@ -1,9 +1,9 @@
/* -*- mode:C++; tab-width:8; c-basic-offset:8; indent-tabs-mode:true -*- */
-#ifndef __preview_noclutter_h__
-#define __preview_noclutter_h__
-
/*
- * written by J. Marcin Gorycki <marcin gorycki intel com>
+ * written by Jason Clinton <me jasonclinton com>
+ * inspired by the cache code writen by Neil Roberts for Aiselriot
+ *
+ * Copyright (C) 2005 by Callum McKenzie
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,43 +22,21 @@
* For more details see the file COPYING.
*/
-#include "tetris.h"
-#include "blockops.h"
-#include "renderer.h"
-
-class Preview {
-public:
- Preview ();
- ~Preview ();
+#ifndef __blockcache_h__
+#define __blockcache_h__
- GtkWidget *getWidget () {
- return w;
- }
+#include <cogl/cogl.h>
- void enable (bool enable);
- void previewBlock (int bnr, int brot, int bcolor);
- void setTheme (int id);
+class GnometrisBlockCache
+{
+public:
+ GnometrisBlockCache (int);
+ ~GnometrisBlockCache ();
+ CoglHandle get_block_by_id (int);
+ CoglHandle get_block_by_color (int);
private:
- GtkWidget * w;
- gint width;
- gint height;
-
- int blocknr;
- int blockrot;
- int blockcolor;
-
- bool enabled;
-
- int themeID;
- cairo_surface_t *background;
-
- static gint configure (GtkWidget * widget, GdkEventConfigure * event,
- Preview * preview);
- static gint expose (GtkWidget * widget, GdkEventExpose * event,
- Preview * preview);
-
-Block **blocks;
+ int slots;
+
};
-
-#endif //__preview_h__
+#endif //__blockcache_h__
Modified: trunk/gnometris/field-noclutter.cpp
==============================================================================
--- trunk/gnometris/field-noclutter.cpp (original)
+++ trunk/gnometris/field-noclutter.cpp Mon Jan 5 06:16:18 2009
@@ -21,7 +21,7 @@
#include "field-noclutter.h"
#include "blocks.h"
-#include "renderer.h"
+#include "renderer-noclutter.h"
#define FONT "Sans Bold"
Modified: trunk/gnometris/field-noclutter.h
==============================================================================
--- trunk/gnometris/field-noclutter.h (original)
+++ trunk/gnometris/field-noclutter.h Mon Jan 5 06:16:18 2009
@@ -24,7 +24,7 @@
#include "tetris.h"
#include "blockops.h"
-#include "renderer.h"
+#include "renderer-noclutter.h"
class Field:public BlockOps {
public:
Modified: trunk/gnometris/field.cpp
==============================================================================
--- trunk/gnometris/field.cpp (original)
+++ trunk/gnometris/field.cpp Mon Jan 5 06:16:18 2009
@@ -109,30 +109,21 @@
redraw ();
}
+void
+Field::rescaleBlockCache ()
+{
+ return;
+}
+
gboolean
Field::configure(GtkWidget *widget, GdkEventConfigure *event, Field *field)
{
- cairo_t *cr;
-
field->width = widget->allocation.width;
field->height = widget->allocation.height;
- cr = gdk_cairo_create (widget->window);
-
- if (field->buffer)
- cairo_surface_destroy(field->buffer);
-
- // backing buffer
- field->buffer = cairo_surface_create_similar (cairo_get_target (cr),
- CAIRO_CONTENT_COLOR,
- widget->allocation.width,
- widget->allocation.height);
-
- cairo_destroy (cr);
-
-
field->rescaleBackground ();
-
+ field->rescaleBlockCache ();
+
return TRUE;
}
Modified: trunk/gnometris/field.h
==============================================================================
--- trunk/gnometris/field.h (original)
+++ trunk/gnometris/field.h Mon Jan 5 06:16:18 2009
@@ -70,6 +70,7 @@
void draw (gint x, gint y, gint w, gint h);
void draw ();
void rescaleBackground ();
+ void rescaleBlockCache ();
static gboolean configure (GtkWidget * widget, GdkEventConfigure * event,
Field * field);
Modified: trunk/gnometris/preview-noclutter.h
==============================================================================
--- trunk/gnometris/preview-noclutter.h (original)
+++ trunk/gnometris/preview-noclutter.h Mon Jan 5 06:16:18 2009
@@ -24,7 +24,7 @@
#include "tetris.h"
#include "blockops.h"
-#include "renderer.h"
+#include "renderer-noclutter.h"
class Preview {
public:
Copied: trunk/gnometris/renderer-noclutter.cpp (from r8392, /trunk/gnometris/renderer.cpp)
==============================================================================
--- /trunk/gnometris/renderer.cpp (original)
+++ trunk/gnometris/renderer-noclutter.cpp Mon Jan 5 06:16:18 2009
@@ -22,7 +22,7 @@
*/
-#include "renderer.h"
+#include "renderer-noclutter.h"
const ThemeTableEntry ThemeTable[] = {{N_("Plain"), "plain"},
{N_("Joined"), "joined"},
Copied: trunk/gnometris/renderer-noclutter.h (from r8392, /trunk/gnometris/renderer.h)
==============================================================================
Modified: trunk/gnometris/renderer.cpp
==============================================================================
--- trunk/gnometris/renderer.cpp (original)
+++ trunk/gnometris/renderer.cpp Mon Jan 5 06:16:18 2009
@@ -87,6 +87,7 @@
{
target = cairo_surface_reference (dst);
background = cairo_surface_reference (bg);
+ block_cache = new GnometrisBlockCache(5);
data = src;
width = w;
height = h;
Modified: trunk/gnometris/renderer.h
==============================================================================
--- trunk/gnometris/renderer.h (original)
+++ trunk/gnometris/renderer.h Mon Jan 5 06:16:18 2009
@@ -27,6 +27,7 @@
#include <cairo.h>
#include <glib.h>
+#include "block-cache.h"
#include "blockops.h"
struct ThemeTableEntry {
@@ -52,8 +53,8 @@
int pxwidth;
int pxheight;
protected:
-
- cairo_surface_t * target;
+ GnometrisBlockCache *block_cache;
+ cairo_surface_t *target;
cairo_surface_t *background;
virtual void drawCell (cairo_t * cr, gint x, gint y);
Modified: trunk/gnometris/tetris.cpp
==============================================================================
--- trunk/gnometris/tetris.cpp (original)
+++ trunk/gnometris/tetris.cpp Mon Jan 5 06:16:18 2009
@@ -43,14 +43,15 @@
#include "blocks.h"
#include "scoreframe.h"
#include "highscores.h"
-#include "renderer.h"
#ifdef HAVE_CLUTTER
#include "preview.h"
#include "field.h"
+#include "renderer.h"
#else
#include "preview-noclutter.h"
#include "field-noclutter.h"
+#include "renderer-noclutter.h"
#endif
int LINES = 20;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]