X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab7ce33c563651f790f99d64ee56727706047ae3..89b3361ec25cf1e6d255b14c7633d8375646e4fb:/demos/life/game.h?ds=sidebyside diff --git a/demos/life/game.h b/demos/life/game.h index 8605e51376..a95dae2656 100644 --- a/demos/life/game.h +++ b/demos/life/game.h @@ -12,22 +12,6 @@ #ifndef _LIFE_GAME_H_ #define _LIFE_GAME_H_ -#if defined(__GNUG__) && !defined(__APPLE__) - #pragma interface "game.h" -#endif - -// for compilers that support precompilation, includes "wx/wx.h" -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -// for all others, include the necessary headers -#ifndef WX_PRECOMP - #include "wx/wx.h" -#endif - // -------------------------------------------------------------------------- // LifePattern // -------------------------------------------------------------------------- @@ -47,8 +31,8 @@ public: m_rules = rules; m_shape = shape; }; - - // A more convenient ctor for the built-in samples + + // A more convenient ctor for the built-in samples LifePattern(wxString name, wxString description, int width, @@ -57,10 +41,24 @@ public: { m_name = name; m_description = description; - m_rules = _(""); - m_shape.Add( wxString::Format("%i %i", -width/2, -height/2) ); + m_rules = wxEmptyString; + // TODO: add the positions later, since the formatting command + // causes a crash due to conversion objects not being available + // during initialisation. +#ifndef __WXMAC__ + m_shape.Add( wxString::Format(wxT("%i %i"), -width/2, -height/2) ); +#endif for(int j = 0; j < height; j++) - m_shape.Add( wxString(shape + (j * width), (size_t) width) ); + { + wxString tmp; + + for(int i = 0; i < width; i++) + { + tmp += wxChar(shape[j * width + i]); + } + + m_shape.Add( tmp ); + } }; wxString m_name; @@ -79,7 +77,7 @@ struct LifeCell { wxInt32 i; wxInt32 j; -}; +}; // A private class that contains data about a block of cells class LifeCellBox; @@ -97,7 +95,7 @@ public: inline wxString GetRules() const { return m_rules; }; inline wxString GetDescription() const { return m_description; }; bool IsAlive(wxInt32 x, wxInt32 y); - void SetCell(wxInt32 x, wxInt32 y, bool alive = TRUE); + void SetCell(wxInt32 x, wxInt32 y, bool alive = true); void SetPattern(const LifePattern &pattern); // game control @@ -114,7 +112,7 @@ public: // The following functions find cells within a given viewport; either // all alive cells, or only those cells which have changed since last // generation. You first call BeginFind() to specify the viewport, - // then keep calling FindMore() until it returns TRUE. + // then keep calling FindMore() until it returns true. // // BeginFind: // Specify the viewport and whether to look for alive cells or for @@ -126,7 +124,7 @@ public: // Fills an array with cells that match the specification given with // BeginFind(). The array itself belongs to the Life object and must // not be modified or freed by the caller. If this function returns - // FALSE, then the operation is not complete: just process all cells + // false, then the operation is not complete: just process all cells // and call FillMore() again. // void BeginFind(wxInt32 x0, wxInt32 y0, @@ -137,7 +135,7 @@ public: private: // cellbox-related LifeCellBox *CreateBox(wxInt32 x, wxInt32 y, wxUint32 hv); - LifeCellBox *LinkBox(wxInt32 x, wxInt32 y, bool create = TRUE); + LifeCellBox *LinkBox(wxInt32 x, wxInt32 y, bool create = true); void KillBox(LifeCellBox *c); // helper for BeginFind & FindMore