[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Eliot-dev] Changes to eliot/wxwin/gfxboard.h [antoine-1]
From: |
eliot-dev |
Subject: |
[Eliot-dev] Changes to eliot/wxwin/gfxboard.h [antoine-1] |
Date: |
Sun, 23 Oct 2005 13:10:59 -0400 |
Index: eliot/wxwin/gfxboard.h
diff -u /dev/null eliot/wxwin/gfxboard.h:1.4.2.1
--- /dev/null Sun Oct 23 17:10:59 2005
+++ eliot/wxwin/gfxboard.h Sun Oct 23 17:10:46 2005
@@ -0,0 +1,117 @@
+/* Eliot */
+/* Copyright (C) 1999 Antoine Fraboulet */
+/* */
+/* This file is part of Eliot. */
+/* */
+/* Eliot is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* Eliot is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the Free Software */
+/* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+
+/* $Id: gfxboard.h,v 1.4.2.1 2005/10/23 17:10:46 afrab Exp $ */
+
+/**
+ * \file gfxboard.h
+ * \brief Game board graphical view
+ * \author Antoine Fraboulet
+ * \date 2002
+ */
+
+#ifndef _GFXBOARD_H
+#define _GFXBOARD_H
+
+/**
+ * gfxboard is a wxWindow widget that draws a Scrabble board
+ */
+
+class GfxBoard : public wxWindow
+{
+ private:
+ /**
+ * reference on the played game
+ */
+ Game &m_game;
+
+ /**
+ * paintedboard_char is the matrix of played tiles
+ */
+ wxChar paintedboard_char[BOARD_DIM][BOARD_DIM];
+
+ /**
+ * paintedboard_attr is the matrix of special attributes for tiles, for
+ * instance it can store if a tile is a test tile (placed but not played).
+ */
+ char paintedboard_attr[BOARD_DIM][BOARD_DIM];
+
+ /**
+ * size in pixels for the board.
+ * board_size = min(width,height)
+ */
+ int board_size;
+
+ /**
+ * tile_size = size in pixels of a tile
+ */
+ int tile_size;
+
+ /**
+ * there is a bug when doing an OnSize under windows : the window
+ * has to be fully refreshed (UpdateRegion does not seem to work).
+ */
+#if defined(MSW_RESIZE_BUG)
+ bool just_resized;
+#endif
+
+ /**
+ * top left point used to draw the lines, used to keep the board
+ * centered horizontally and vertically
+ */
+ wxPoint TopLeft;
+
+ /**
+ * Board bitmap, created by CreateBMP
+ */
+ wxBitmap *bmp;
+
+ void CreateBMP();
+ void DrawTileBack(wxDC*,int,int,int, bool testtile);
+ void DrawTile(wxDC*,wxString&,int,int,bool testtile = false, bool
drawtileback = false);
+ void DrawBoard(wxDC*);
+ void RefreshSquare(wxRect&);
+
+ ConfigDB config;
+
+ public:
+
+ GfxBoard(wxFrame* parent, Game& game);
+ ~GfxBoard(void);
+
+ void OnPaint (wxPaintEvent& event);
+ void OnSize (wxSizeEvent& event);
+
+ typedef enum {
+ BOARD_REFRESH,
+ BOARD_FORCE_REFRESH
+ } board_refresh_t;
+
+ void Refresh (board_refresh_t force = BOARD_REFRESH);
+
+ DECLARE_EVENT_TABLE()
+};
+
+#endif
+
+
+/// Local Variables:
+/// mode: hs-minor
+/// c-basic-offset: 4
+/// End:
- [Eliot-dev] Changes to eliot/wxwin/gfxboard.h [antoine-1],
eliot-dev <=