Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapicursor.cc @ 12377

Last change on this file since 12377 was 12377, checked in by tkuonen, 5 years ago

Improve MouseAPI
Add Comments
Cleanup

File size: 1.3 KB
Line 
1#include "mouseapicursor.h"
2
3namespace orxonox{
4
5RegisterClass(MouseAPICursor);
6
7MouseAPICursor::MouseAPICursor(Context* context):OrxonoxOverlay(context)
8{
9    RegisterObject(MouseAPICursor);
10    cursor = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
11                                                          .createOverlayElement("Panel", "MouseAPI_cursor_" + getUniqueNumberString()));
12    updateCursor();
13    overlay_->add2D(this->cursor);
14    scale(Vector2(0.03,0.03));
15    setVisible(true);
16}
17
18MouseAPICursor::~MouseAPICursor()
19{
20    if(running)
21        MouseAPI::getInstance().deactivate();
22    if(this->isInitialized())
23        Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->cursor);
24}
25
26void MouseAPICursor::XMLPort(ticpp::Element &xmlelement, XMLPort::Mode mode)
27{
28    MouseAPI::getInstance().activate();
29    running = true;
30    SUPER(MouseAPICursor, XMLPort, xmlelement, mode);
31    XMLPortParam(MouseAPICursor, "cursorShape", setCursorName, getCursorName,xmlelement, mode);
32    XMLPortParam(MouseAPICursor, "cursorColor", setCursorColor, getCursorColor,xmlelement, mode);
33}
34
35void MouseAPICursor::tick(float dt)
36{
37    if(running)
38    {
39        this->cursor->show();
40        this->show();
41        this->setPosition(MouseAPI::getInstance().getMousePosition());
42    }
43}
44
45}
Note: See TracBrowser for help on using the repository browser.