Wartbed:Framework
From Dark Omen Wiki
(Difference between revisions)
(→Namespaces) |
|||
Line 6: | Line 6: | ||
==Namespaces== | ==Namespaces== | ||
- | <tt> | + | <tt style="white-space:pre;"> |
- | :'''wb''' | + | :'''wb''' <span style="color:green">// main WARTBED namespace</span> |
:{ | :{ | ||
- | : | + | :<span style="color:purple;">''WARTBED-common namespaces''</span> |
- | + | ||
- | + | ||
::'''camera''' { <span style="color:green">enums for controlling a WARTBED Camera object</span> } | ::'''camera''' { <span style="color:green">enums for controlling a WARTBED Camera object</span> } | ||
::'''gui''' { <span style="color:green">all things CEGUI and GUI are encapsulated here</span> } | ::'''gui''' { <span style="color:green">all things CEGUI and GUI are encapsulated here</span> } | ||
+ | ::'''input''' { <span style="color:green">all input-related aspects are collected here</span> } | ||
+ | ::'''mvc''' { <span style="color:green">contains the base classes for the Model-View-Controller architecture</span> } | ||
+ | ::'''ogre''' { <span style="color:green">all things OGRE are encapsulated here</span> } | ||
+ | ::'''order''' { <span style="color:green">the order queue and all specific order classes are contained here</span> } | ||
: | : | ||
- | :''Modules'' | + | :<span style="color:purple;">''Modules''</span> |
::'''darkomen''' { <span style="color:green">Code specific to handle Warhammer: Dark Omen</span> } | ::'''darkomen''' { <span style="color:green">Code specific to handle Warhammer: Dark Omen</span> } | ||
:} | :} |
Revision as of 16:39, 20 January 2010
Stub page the may be updated as I go along. Does not in anyway represent the current state of the WARTBED code base.
Reference for WARTBED development framework
Namespaces
- wb // main WARTBED namespace
- {
- WARTBED-common namespaces
- camera { enums for controlling a WARTBED Camera object }
- gui { all things CEGUI and GUI are encapsulated here }
- input { all input-related aspects are collected here }
- mvc { contains the base classes for the Model-View-Controller architecture }
- ogre { all things OGRE are encapsulated here }
- order { the order queue and all specific order classes are contained here }
- Modules
- darkomen { Code specific to handle Warhammer: Dark Omen }
- }
Input Listeners
OGRE and WARTBED uses listener objects to capture and respond to user input. The raw input is then promulgated to event managers and/or the GUI system for handling. Gererally, WARTBED creates the appropriate or sufficient listener objects by default, replacing the old:
- When OGRE is initialised through
ogre::BootSystem()
basic inert listeners are created. These are unresponsive and cause no events. - When CEGUI is initialised through
ogre::InitialiseCEGUI()
wb::gui::KeyListener
andwb::gui::MouseListener
objects are created. These objects forward raw input into the GUI system. - When the
Wartbed
object is created (first timeWartbed::getInstance()
is called) basicwb::KeyListener
andwb::MouseListener
(which are aliases forwb::input::KeyListener
andwb::input::MouseListener
) are created. These listeners cause WARTBED input events but are unconcerned with the GUI. - When the GUI is initialised through
Wartbed::initialiseGUI()
(when theWartbed::GUI
singleton is first created) default listeners inheriting from bothinput::*Listener
andgui::*Listener
are created.
If further specialisation is required appropriate classes must be defined by the client application.
Classes
namespace ::
Symbol | #include | Description |
---|---|---|
Wartbed | Wartbed.h | Framework initialisation object. When created will boot OGRE and initialise all basic facilities. |
namespace wb
Symbol | #include | Description |
---|---|---|
Camera | wb_Kernel.h | Versatile camera abstraction that is designed for automate movement, focusing, swiveling, circling and orbiting operations. |