1 #ifndef LEVELS__OB_GOBJECTS_H
2 #define LEVELS__OB_GOBJECTS_H
8 #include "common__object_stage.h"
10 //*****************************************************************
12 //-----------------------------------------------------------------
21 GATOM_OTHER
, // Wall Hole
27 Ob_GAtom(int atom_id
);
28 virtual ~Ob_GAtom(){};
41 wxBitmap
* bitmap_Mini
;
48 //-----------------------------------------------------------------
52 static Ob_GObject
* GuessAndConstruct( ob_stage_object
* src
);
55 Ob_GObject( ob_stage_object
* src
){obj
= src
;};
56 virtual ~Ob_GObject(){};
67 // Return true if the TAB controls must be updated
68 virtual bool OnMouseEvent( Ob_GAtom
* obAtom
, wxSize _m_coords
, wxMouseEvent
& evt
, bool multi_selection
);
70 // Return true if the TAB controls must be updated
71 virtual bool OnKeyEvent( wxKeyEvent
& evt
, bool multi_selection
);
73 // Return true if the TAB controls must be updated
74 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
){return false;};
78 virtual std::list
<Ob_GAtom
*>* Get_GAtoms(
89 //-----------------------------------------------------------------
90 class Ob_GObject__Spawn
: public Ob_GObject
93 Ob_GObject__Spawn( ob_stage_object
* src
);
94 virtual ~Ob_GObject__Spawn();
96 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
);
99 std::list
<Ob_GAtom
*>* Get_GAtoms(
108 //-----------------------------------------------------------------
109 class Ob_GObject__AT
: public Ob_GObject
112 Ob_GObject__AT( ob_stage_object
* src
);
113 virtual ~Ob_GObject__AT();
115 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
);
120 int vert_truncate_up
;
121 int vert_truncate_down
;
123 int horiz_width_down
;
124 std::list
<Ob_GAtom
*>* Get_GAtoms(
134 //-----------------------------------------------------------------
135 class Ob_GObject__ScrollZ
: public Ob_GObject
138 Ob_GObject__ScrollZ( ob_stage_object
* src
);
139 virtual ~Ob_GObject__ScrollZ();
141 virtual bool OnMouseEvent( Ob_GAtom
* obAtom
, wxSize _m_coords
, wxMouseEvent
& evt
, bool multi_selection
);
142 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
);
145 std::list
<Ob_GAtom
*>* Get_GAtoms(
155 //-----------------------------------------------------------------
156 class Ob_GObject__PlayerSpawn
: public Ob_GObject
159 Ob_GObject__PlayerSpawn( ob_stage_object
* src
);
160 virtual ~Ob_GObject__PlayerSpawn();
162 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
);
165 std::list
<Ob_GAtom
*>* Get_GAtoms(
176 //-----------------------------------------------------------------
177 class Ob_GObject__Wall
: public Ob_GObject
180 static wxColour theColor
;
183 Ob_GObject__Wall( ob_stage_object
* src
);
184 virtual ~Ob_GObject__Wall();
186 virtual bool OnMouseEvent( Ob_GAtom
* obAtom
, wxSize _m_coords
, wxMouseEvent
& evt
, bool multi_selection
);
187 virtual bool ApplyMove( wxSize
& diffs
, bool multi_selection
);
190 std::list
<Ob_GAtom
*>* Get_GAtoms(
197 // Only the first 4 are draguables
201 wxString last_wall_state
;
226 //-----------------------------------------------------------------
227 class Ob_GObject__Hole : public Ob_GObject
235 //-----------------------------------------------------------------
236 #endif //LEVELS__OB_GOBJECTS_H