Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8754)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8755)
@@ -18,4 +18,16 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2007/10/10 Thomas Bretz
+
+   * mtools/MagicDomino.[h,cc], mtools/MagicReversi.[h,cc],
+     mtools/MagicShow.[h,cc], mtools/MagicSnake.[h,cc],
+      mtools/MineSweeper.[h,cc]:
+     - added a constructor supporting any MGeomCam
+
+   * mtools/MagicJam.h:
+     - removed some new function from the context menu
+
+
 
  2007/10/08 Thomas Bretz
Index: trunk/MagicSoft/Mars/mtools/MagicDomino.cc
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicDomino.cc	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicDomino.cc	(revision 8755)
@@ -215,12 +215,7 @@
 // ------------------------------------------------------------------------
 //
-//  default constructor
-//
-MagicDomino::MagicDomino()
-    : fGeomCam(NULL), fDir(kBottom), fDone(NULL)
+void MagicDomino::Init()
 {
     memset(fText, 0, sizeof(fText));
-
-    SetNewCamera(new MGeomCamMagic);
 
     //
@@ -233,4 +228,24 @@
 
     Draw();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicDomino::MagicDomino()
+    : fGeomCam(NULL), fDir(kBottom), fDone(NULL)
+{
+    SetNewCamera(new MGeomCamMagic);
+    Init();
+}
+// ------------------------------------------------------------------------
+//
+//
+MagicDomino::MagicDomino(const MGeomCam &geom)
+    : fGeomCam(NULL), fDir(kBottom), fDone(NULL)
+{
+    SetNewCamera(static_cast<MGeomCam*>(geom.Clone()));
+    Init();
 }
 
Index: trunk/MagicSoft/Mars/mtools/MagicDomino.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicDomino.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicDomino.h	(revision 8755)
@@ -83,4 +83,5 @@
     Short_t AnalysePixel(Int_t dir);
     void    GetSortedNeighbors(Int_t indices[6]);
+    void    Init();
 
     void  Draw(Option_t *option="");
@@ -91,4 +92,5 @@
 public:
     MagicDomino();
+    MagicDomino(const MGeomCam &geom);
     ~MagicDomino();
 
Index: trunk/MagicSoft/Mars/mtools/MagicJam.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicJam.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicJam.h	(revision 8755)
@@ -41,4 +41,7 @@
     void  SetAutoScale() { }
     void  SetMinMax(Double_t min=-1111, Double_t max=-1111) { SetMinimum(min); SetMaximum(max); }
+    TH1  *ShowBackground(Int_t niter=2, Option_t *option="same") { return 0; }
+    Int_t ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05) { return 0; }
+    void  SetErrorSpread(Bool_t f=kTRUE) { }
 
     // Make the full pad sensible for the context menu
Index: trunk/MagicSoft/Mars/mtools/MagicReversi.cc
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicReversi.cc	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicReversi.cc	(revision 8755)
@@ -181,13 +181,6 @@
 }
 
-// ------------------------------------------------------------------------
-//
-//  default constructor
-//
-MagicReversi::MagicReversi()
-    : fGeomCam(NULL), fDone(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
-{
-    SetNewCamera(new MGeomCamMagic);
-
+void MagicReversi::Init()
+{
     //
     // Make sure, that the object is destroyed when the canvas/pad is
@@ -201,4 +194,24 @@
 
     Draw();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicReversi::MagicReversi()
+    : fGeomCam(NULL), fDone(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
+{
+    SetNewCamera(new MGeomCamMagic);
+
+    Init();
+}
+
+MagicReversi::MagicReversi(const MGeomCam &geom)
+    : fGeomCam(NULL), fDone(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
+{
+    SetNewCamera(static_cast<MGeomCam*>(geom.Clone()));
+
+    Init();
 }
 
Index: trunk/MagicSoft/Mars/mtools/MagicReversi.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicReversi.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicReversi.h	(revision 8755)
@@ -70,4 +70,5 @@
     void  DrawHexagons();
     void  Free();
+    void  Init();
 
     Bool_t Flip(Int_t idx, Bool_t flip);
@@ -83,4 +84,5 @@
 public:
     MagicReversi();
+    MagicReversi(const MGeomCam &geom);
     ~MagicReversi();
 
Index: trunk/MagicSoft/Mars/mtools/MagicShow.cc
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicShow.cc	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicShow.cc	(revision 8755)
@@ -167,13 +167,6 @@
 }
 
-// ------------------------------------------------------------------------
-//
-//  default constructor
-//
-MagicShow::MagicShow()
-    : fTimer(this, 250, kTRUE), fGeomCam(NULL), fNumPixel(-1), fAuto(kTRUE), fW(0), fH(0)
-{
-    SetNewCamera(new MGeomCamMagic);
-
+void MagicShow::Init()
+{
     memset(fText, 0, sizeof(fText));
 
@@ -189,4 +182,26 @@
 
     fTimer.TurnOn();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicShow::MagicShow()
+    : fTimer(this, 250, kTRUE), fGeomCam(NULL), fNumPixel(-1), fAuto(kTRUE), fW(0), fH(0)
+{
+    SetNewCamera(new MGeomCamMagic);
+    Init();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicShow::MagicShow(const MGeomCam &geom)
+    : fTimer(this, 250, kTRUE), fGeomCam(NULL), fNumPixel(-1), fAuto(kTRUE), fW(0), fH(0)
+{
+    SetNewCamera(static_cast<MGeomCam*>(geom.Clone()));
+    Init();
 }
 
Index: trunk/MagicSoft/Mars/mtools/MagicShow.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicShow.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicShow.h	(revision 8755)
@@ -58,4 +58,5 @@
     void   SetNewCamera(MGeomCam *);
     void   ChangePixel(Int_t add);
+    void   Init();
 
     Bool_t HandleTimer(TTimer *timer);
@@ -67,4 +68,5 @@
 public:
     MagicShow();
+    MagicShow(const MGeomCam &geom);
     ~MagicShow();
 
Index: trunk/MagicSoft/Mars/mtools/MagicSnake.cc
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicSnake.cc	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicSnake.cc	(revision 8755)
@@ -153,13 +153,6 @@
 }
 
-// ------------------------------------------------------------------------
-//
-//  default constructor
-//
-MagicSnake::MagicSnake()
-    : fTimer(this, 500, kTRUE), fGeomCam(NULL), fDone(NULL), fPaused(NULL), fW(0), fH(0)
-{
-    SetNewCamera(new MGeomCamMagic);
-
+void MagicSnake::Init()
+{
     //
     // Make sure, that the object is destroyed when the canvas/pad is
@@ -175,4 +168,26 @@
 
     fTimer.TurnOn();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicSnake::MagicSnake()
+    : fTimer(this, 500, kTRUE), fGeomCam(NULL), fDone(NULL), fPaused(NULL), fW(0), fH(0)
+{
+    SetNewCamera(new MGeomCamMagic);
+    Init();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MagicSnake::MagicSnake(const MGeomCam &geom)
+    : fTimer(this, 500, kTRUE), fGeomCam(NULL), fDone(NULL), fPaused(NULL), fW(0), fH(0)
+{
+    SetNewCamera(static_cast<MGeomCam*>(geom.Clone()));
+    Init();
 }
 
Index: trunk/MagicSoft/Mars/mtools/MagicSnake.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MagicSnake.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MagicSnake.h	(revision 8755)
@@ -82,4 +82,5 @@
     void   SetWormColor();
     void   Pause(Bool_t yes=kTRUE);
+    void   Init();
 
     Bool_t HandleTimer(TTimer *timer);
@@ -91,4 +92,5 @@
 public:
     MagicSnake();
+    MagicSnake(const MGeomCam &geom);
     ~MagicSnake();
 
Index: trunk/MagicSoft/Mars/mtools/MineSweeper.cc
===================================================================
--- trunk/MagicSoft/Mars/mtools/MineSweeper.cc	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MineSweeper.cc	(revision 8755)
@@ -175,13 +175,6 @@
 }
 
-// ------------------------------------------------------------------------
-//
-//  default constructor
-//
-MineSweeper::MineSweeper()
-    : fGeomCam(NULL), fDone(NULL), fShow(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
-{
-    SetNewCamera(new MGeomCamMagic);
-
+void MineSweeper::Init()
+{
     //
     // Make sure, that the object is destroyed when the canvas/pad is
@@ -193,4 +186,22 @@
 
     Draw();
+}
+
+// ------------------------------------------------------------------------
+//
+//  default constructor
+//
+MineSweeper::MineSweeper()
+    : fGeomCam(NULL), fDone(NULL), fShow(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
+{
+    SetNewCamera(new MGeomCamMagic);
+    Init();
+}
+
+MineSweeper::MineSweeper(const MGeomCam &geom)
+    : fGeomCam(NULL), fDone(NULL), fShow(NULL), fW(0), fH(0), fDrawingPad(NULL), fIsAllocated(kFALSE)
+{
+    SetNewCamera(static_cast<MGeomCam*>(geom.Clone()));
+    Init();
 }
 
Index: trunk/MagicSoft/Mars/mtools/MineSweeper.h
===================================================================
--- trunk/MagicSoft/Mars/mtools/MineSweeper.h	(revision 8754)
+++ trunk/MagicSoft/Mars/mtools/MineSweeper.h	(revision 8755)
@@ -60,4 +60,5 @@
     void  DrawHexagons();
     void  Free();
+    void  Init();
 
     void  Paint(Option_t *option="");
@@ -68,4 +69,5 @@
 public:
     MineSweeper();
+    MineSweeper(const MGeomCam &geom);
     ~MineSweeper();
 
