CHANGED: #1471 CWidgetManager no longer depends on CViewPointer. Instead it depends on the new class CViewPointerBase.

--HG--
branch : gui-refactoring
This commit is contained in:
dfighter1985 2012-06-07 23:57:02 +02:00
parent 3c74576ba9
commit fbd1d5533c
17 changed files with 207 additions and 172 deletions

View file

@ -143,7 +143,7 @@ bool CContextualCursor::context(const std::string &contextName, float dist, cons
CInterfaceManager *IM = CInterfaceManager::getInstance(); CInterfaceManager *IM = CInterfaceManager::getInstance();
if(IM) if(IM)
{ {
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
if (!functions.isString) if (!functions.isString)

View file

@ -239,7 +239,7 @@ void checkUnderCursor()
return; return;
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor == 0) if(cursor == 0)
return; return;

View file

@ -124,7 +124,7 @@ bool InitMouseWithCursor (bool hardware)
{ {
Driver->showCursor(true); Driver->showCursor(true);
CViewPointer *pointer = CWidgetManager::getInstance()->getPointer(); CViewPointer *pointer = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (pointer) if (pointer)
{ {
float x = (float)pointer->getX()/(float)Driver->getWindowWidth(); float x = (float)pointer->getX()/(float)Driver->getWindowWidth();
@ -145,7 +145,7 @@ bool InitMouseWithCursor (bool hardware)
else else
{ {
CInterfaceManager *pIm = CInterfaceManager::getInstance(); CInterfaceManager *pIm = CInterfaceManager::getInstance();
CViewPointer *vp = CWidgetManager::getInstance()->getPointer(); CViewPointer *vp = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
Driver->showCursor(false); Driver->showCursor(false);
SetMousePosFirstTime = false; SetMousePosFirstTime = false;
if (vp) if (vp)
@ -247,7 +247,7 @@ void SetMouseFreeLook ()
CInterfaceManager *im = CInterfaceManager::getInstance(); CInterfaceManager *im = CInterfaceManager::getInstance();
if (im) if (im)
{ {
CViewPointer *pointer = CWidgetManager::getInstance()->getPointer(); CViewPointer *pointer = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (pointer) if (pointer)
pointer->show (false); pointer->show (false);
} }
@ -281,7 +281,7 @@ void SetMouseCursor (bool updatePos)
if (instance) if (instance)
{ {
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (cursor) if (cursor)
{ {
sint32 ix, iy; sint32 ix, iy;
@ -319,7 +319,7 @@ void SetMouseCursor (bool updatePos)
if (instance) if (instance)
{ {
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (cursor) if (cursor)
{ {
cursor->setPointerPos(ix, iy); cursor->setPointerPos(ix, iy);
@ -342,7 +342,7 @@ void SetMouseCursor (bool updatePos)
CInterfaceManager *im = CInterfaceManager::getInstance(); CInterfaceManager *im = CInterfaceManager::getInstance();
if (im) if (im)
{ {
CViewPointer *pointer = CWidgetManager::getInstance()->getPointer(); CViewPointer *pointer = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (pointer) if (pointer)
pointer->show (true); pointer->show (true);
} }

View file

@ -2194,7 +2194,7 @@ void CGroupContainer::draw ()
// manage rollover // manage rollover
CViewPointer *mousePointer = CWidgetManager::getInstance()->getPointer(); CViewPointer *mousePointer = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if (mousePointer) if (mousePointer)
{ {
bool dontFade = false; bool dontFade = false;
@ -3641,7 +3641,7 @@ void CGroupContainer::setOpenable(bool openable)
void CGroupContainer::rollOverAlphaUp() void CGroupContainer::rollOverAlphaUp()
{ {
CInterfaceManager *im = CInterfaceManager::getInstance(); CInterfaceManager *im = CInterfaceManager::getInstance();
CViewPointer *vp = CWidgetManager::getInstance()->getPointer(); CViewPointer *vp = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
float speed = im->getAlphaRolloverSpeed(); float speed = im->getAlphaRolloverSpeed();
if (!isIn(vp->getX(), vp->getY())) if (!isIn(vp->getX(), vp->getY()))
{ {

View file

@ -268,7 +268,7 @@ void CInputHandlerManager::operator ()(const NLMISC::CEvent &event)
{ {
CViewPointer &rIP = *CWidgetManager::getInstance()->getPointer(); CViewPointer &rIP = *static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
NLGUI::CEventDescriptorMouse eventDesc; NLGUI::CEventDescriptorMouse eventDesc;

View file

@ -2481,7 +2481,7 @@ uint CInterfaceManager::getDepth (CCtrlBase *ctrl, CInterfaceGroup *pNewCurrentW
bool CInterfaceManager::handleEvent (const NLGUI::CEventDescriptor& event) bool CInterfaceManager::handleEvent (const NLGUI::CEventDescriptor& event)
{ {
bool handled= false; bool handled= false;
CViewPointer *_Pointer = CWidgetManager::getInstance()->getPointer(); CViewPointer *_Pointer = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if( event.getType() == NLGUI::CEventDescriptor::system ) if( event.getType() == NLGUI::CEventDescriptor::system )
{ {

View file

@ -361,7 +361,7 @@ void CViewBitmapCombo::draw()
&& my < py + (sint32) itemh) && my < py + (sint32) itemh)
{ {
overItem = true; overItem = true;
if (CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) if ( static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton)
{ {
textId = getTexId(_TexsPushedId, texIndex); textId = getTexId(_TexsPushedId, texIndex);
color = getCol(_ColPushed, texIndex); color = getCol(_ColPushed, texIndex);
@ -416,7 +416,7 @@ void CViewBitmapCombo::draw()
// //
if (_CD.Unrolled.getBool()) if (_CD.Unrolled.getBool())
{ {
if (overItem && CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) if (overItem && static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton)
{ {
textId = getTexId(_TexsId, selectedTexIndex); textId = getTexId(_TexsId, selectedTexIndex);
color = getCol(_Col, selectedTexIndex); color = getCol(_Col, selectedTexIndex);
@ -436,7 +436,7 @@ void CViewBitmapCombo::draw()
&& my < py + (sint32) itemh && my < py + (sint32) itemh
) )
{ {
if (CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) if ( static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton)
{ {
textId = getTexId(_TexsPushedId, selectedTexIndex); textId = getTexId(_TexsPushedId, selectedTexIndex);
color = getCol(_ColPushed, selectedTexIndex); color = getCol(_ColPushed, selectedTexIndex);

View file

@ -16,10 +16,7 @@
#include "stdpch.h"
#include "../input.h" #include "../input.h"
//
#include "view_pointer.h" #include "view_pointer.h"
#include "interface_manager.h" #include "interface_manager.h"
#include "nel/gui/view_renderer.h" #include "nel/gui/view_renderer.h"
@ -45,12 +42,9 @@ NLMISC_REGISTER_OBJECT(CViewBase, CViewPointer, std::string, "pointer");
// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------
CViewPointer::CViewPointer (const TCtorParam &param) CViewPointer::CViewPointer (const TCtorParam &param)
: CViewBase(param), : CViewPointerBase(param),
_Buttons(NLMISC::noButton) _Buttons(NLMISC::noButton)
{ {
_PointerX = _PointerY = _PointerOldX = _PointerOldY = _PointerDownX = _PointerDownY = 0;
_PointerDown = false;
_PointerVisible = true;
_TxIdDefault = -2; _TxIdDefault = -2;
_TxIdMoveWindow = -2; _TxIdMoveWindow = -2;
_TxIdResizeBRTL = -2; _TxIdResizeBRTL = -2;
@ -608,111 +602,6 @@ bool CViewPointer::drawCustom(CCtrlBase* pCB)
// +++ SET +++ // +++ SET +++
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::setPointerPos (sint32 x, sint32 y)
{
if (_PointerDown)
{
if (!_PointerDrag)
{
if (((_PointerX - _PointerDownX) != 0) ||
((_PointerY - _PointerDownY) != 0))
{
_PointerDrag = true;
}
}
}
_PointerOldX = getX();
_PointerOldY = getY();
_PointerX = x;
_PointerY = y;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::setPointerDispPos (sint32 x, sint32 y)
{
setX (x);
setY (y);
updateCoords ();
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::resetPointerPos ()
{
_PointerOldX = _PointerX;
_PointerOldY = _PointerY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::setPointerDown (bool pd)
{
_PointerDown = pd;
if (_PointerDown == true)
{
_PointerDownX = _PointerX;
_PointerDownY = _PointerY;
}
if (_PointerDown == false)
_PointerDrag = false;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::setPointerDownString (const std::string &s)
{
_PointerDownString = s;
}
// +++ GET +++
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::getPointerPos (sint32 &x, sint32 &y)
{
x = _PointerX;
y = _PointerY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::getPointerDispPos (sint32 &x, sint32 &y)
{
x = getX();
y = getY();
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::getPointerOldPos (sint32 &x, sint32 &y)
{
x = _PointerOldX;
y = _PointerOldY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointer::getPointerDownPos (sint32 &x, sint32 &y)
{
x = _PointerDownX;
y = _PointerDownY;
}
// --------------------------------------------------------------------------------------------------------------------
bool CViewPointer::getPointerDown ()
{
return _PointerDown;
}
// --------------------------------------------------------------------------------------------------------------------
bool CViewPointer::getPointerDrag ()
{
return _PointerDrag;
}
// --------------------------------------------------------------------------------------------------------------------
std::string CViewPointer::getPointerDownString ()
{
return _PointerDownString;
}
// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------
void CViewPointer::setStringMode (bool stringCursor) void CViewPointer::setStringMode (bool stringCursor)

View file

@ -21,7 +21,7 @@
#include "nel/misc/types_nl.h" #include "nel/misc/types_nl.h"
#include "nel/misc/events.h" #include "nel/misc/events.h"
#include "view_base.h" #include "view_pointer_base.h"
class CGroupContainer; class CGroupContainer;
class CCtrlBase; class CCtrlBase;
@ -33,35 +33,16 @@ class CCtrlBase;
* \date 2002 * \date 2002
*/ */
class CViewPointer : public CViewBase class CViewPointer : public CViewPointerBase
{ {
friend void SetMouseFreeLook (); friend void SetMouseFreeLook ();
friend void SetMouseCursor (bool updateMousePos); friend void SetMouseCursor (bool updateMousePos);
public: public:
DECLARE_UI_CLASS( CViewPointerBase )
CViewPointer (const TCtorParam &param); CViewPointer (const TCtorParam &param);
bool parse (xmlNodePtr cur,CInterfaceGroup * parentGroup); bool parse (xmlNodePtr cur,CInterfaceGroup * parentGroup);
void draw (); void draw ();
// Set the pointer position.
void setPointerPos (sint32 x, sint32 y);
void setPointerDispPos (sint32 x, sint32 y);
void resetPointerPos ();
void setPointerDown (bool pd);
void setPointerDownString (const std::string &s);
void getPointerPos (sint32 &x, sint32 &y);
void getPointerDispPos (sint32 &x, sint32 &y);
void getPointerOldPos (sint32 &x, sint32 &y);
void getPointerDownPos (sint32 &x, sint32 &y);
bool getPointerDown ();
std::string getPointerDownString ();
bool getPointerDrag ();
/// Is the pointer visible ?
bool show() const {return _PointerVisible;}
// Set cursor mode // Set cursor mode
void setStringMode (bool stringCursor); void setStringMode (bool stringCursor);
bool getStringMode() const {return _StringMode;} bool getStringMode() const {return _StringMode;}
@ -135,18 +116,6 @@ private:
sint32 _OffsetX; sint32 _OffsetX;
sint32 _OffsetY; sint32 _OffsetY;
// (x,y) is from the TopLeft corner of the window
sint32 _PointerX; // Current pointer position (raw, before snapping)
sint32 _PointerY;
sint32 _PointerOldX; // Previous frame pointer position
sint32 _PointerOldY;
bool _PointerDown; // Is the pointer down ?
sint32 _PointerDownX; // Pointer down position
sint32 _PointerDownY;
std::string _PointerDownString; // What is under the pointer at the down position
bool _PointerDrag; // Is the pointer down and we have moved ?
bool _PointerVisible; // Is the pointer visible or hidden ?
NLMISC::TMouseButton _Buttons; NLMISC::TMouseButton _Buttons;
CGroupContainer *_LastHightLight; CGroupContainer *_LastHightLight;

View file

@ -0,0 +1,122 @@
#include "view_pointer_base.h"
CViewPointerBase::CViewPointerBase( const CViewBase::TCtorParam &param ) :
CViewBase( param )
{
_PointerX = _PointerY = _PointerOldX = _PointerOldY = _PointerDownX = _PointerDownY = 0;
_PointerDown = false;
_PointerVisible = true;
}
CViewPointerBase::~CViewPointerBase()
{
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::setPointerPos (sint32 x, sint32 y)
{
if (_PointerDown)
{
if (!_PointerDrag)
{
if (((_PointerX - _PointerDownX) != 0) ||
((_PointerY - _PointerDownY) != 0))
{
_PointerDrag = true;
}
}
}
_PointerOldX = getX();
_PointerOldY = getY();
_PointerX = x;
_PointerY = y;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::setPointerDispPos (sint32 x, sint32 y)
{
setX (x);
setY (y);
updateCoords ();
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::resetPointerPos ()
{
_PointerOldX = _PointerX;
_PointerOldY = _PointerY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::setPointerDown (bool pd)
{
_PointerDown = pd;
if (_PointerDown == true)
{
_PointerDownX = _PointerX;
_PointerDownY = _PointerY;
}
if (_PointerDown == false)
_PointerDrag = false;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::setPointerDownString (const std::string &s)
{
_PointerDownString = s;
}
// +++ GET +++
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::getPointerPos (sint32 &x, sint32 &y)
{
x = _PointerX;
y = _PointerY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::getPointerDispPos (sint32 &x, sint32 &y)
{
x = getX();
y = getY();
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::getPointerOldPos (sint32 &x, sint32 &y)
{
x = _PointerOldX;
y = _PointerOldY;
}
// --------------------------------------------------------------------------------------------------------------------
void CViewPointerBase::getPointerDownPos (sint32 &x, sint32 &y)
{
x = _PointerDownX;
y = _PointerDownY;
}
// --------------------------------------------------------------------------------------------------------------------
bool CViewPointerBase::getPointerDown ()
{
return _PointerDown;
}
// --------------------------------------------------------------------------------------------------------------------
bool CViewPointerBase::getPointerDrag ()
{
return _PointerDrag;
}
// --------------------------------------------------------------------------------------------------------------------
std::string CViewPointerBase::getPointerDownString ()
{
return _PointerDownString;
}

View file

@ -0,0 +1,55 @@
#ifndef VIEW_POINTER_BASE_H
#define VIEW_POINTER_BASE_H
#include "view_base.h"
class CViewPointerBase : public CViewBase
{
public:
DECLARE_UI_CLASS( CViewPointerBase )
CViewPointerBase( const TCtorParam &param );
virtual ~CViewPointerBase();
// Set the pointer position.
void setPointerPos (sint32 x, sint32 y);
void setPointerDispPos (sint32 x, sint32 y);
void resetPointerPos ();
void setPointerDown (bool pd);
void setPointerDownString (const std::string &s);
void getPointerPos (sint32 &x, sint32 &y);
void getPointerDispPos (sint32 &x, sint32 &y);
void getPointerOldPos (sint32 &x, sint32 &y);
void getPointerDownPos (sint32 &x, sint32 &y);
bool getPointerDown ();
std::string getPointerDownString ();
bool getPointerDrag ();
/// Is the pointer visible ?
bool show() const {return _PointerVisible;}
void draw(){}
protected:
// (x,y) is from the TopLeft corner of the window
sint32 _PointerX; // Current pointer position (raw, before snapping)
sint32 _PointerY;
sint32 _PointerOldX; // Previous frame pointer position
sint32 _PointerOldY;
bool _PointerDown; // Is the pointer down ?
sint32 _PointerDownX; // Pointer down position
sint32 _PointerDownY;
std::string _PointerDownString; // What is under the pointer at the down position
bool _PointerDrag; // Is the pointer down and we have moved ?
bool _PointerVisible; // Is the pointer visible or hidden ?
private:
};
#endif

View file

@ -18,7 +18,7 @@
#include "interface_group.h" #include "interface_group.h"
#include "group_container.h" #include "group_container.h"
#include "group_in_scene.h" #include "group_in_scene.h"
#include "view_pointer.h" #include "view_pointer_base.h"
#include "group_editbox_base.h" #include "group_editbox_base.h"
#include "ctrl_draggable.h" #include "ctrl_draggable.h"

View file

@ -27,7 +27,7 @@ class CInterfaceElement;
class CCtrlBase; class CCtrlBase;
class CViewBase; class CViewBase;
class CInterfaceGroup; class CInterfaceGroup;
class CViewPointer; class CViewPointerBase;
class IParser class IParser
{ {
@ -184,8 +184,8 @@ public:
float _DeltaTimeStopingContextHelp; float _DeltaTimeStopingContextHelp;
CViewPointer* getPointer(){ return _Pointer; } CViewPointerBase* getPointer(){ return _Pointer; }
void setPointer( CViewPointer *pointer ){ _Pointer = pointer; } void setPointer( CViewPointerBase *pointer ){ _Pointer = pointer; }
/** /**
* get the window under a spot * get the window under a spot
@ -278,7 +278,7 @@ private:
std::vector< SModalWndInfo > _ModalStack; std::vector< SModalWndInfo > _ModalStack;
static std::string _CtrlLaunchingModalId; static std::string _CtrlLaunchingModalId;
NLMISC::CRefPtr< CCtrlBase > curContextHelp; NLMISC::CRefPtr< CCtrlBase > curContextHelp;
CViewPointer *_Pointer; CViewPointerBase *_Pointer;
NLMISC::CRefPtr< CInterfaceGroup > _WindowUnder; NLMISC::CRefPtr< CInterfaceGroup > _WindowUnder;

View file

@ -1738,7 +1738,7 @@ bool mainLoop()
if(!CViewRenderer::getInstance()->isMinimized()) if(!CViewRenderer::getInstance()->isMinimized())
{ {
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
// Get the pointer position (in pixel) // Get the pointer position (in pixel)

View file

@ -150,7 +150,7 @@ void CUserControls::aiMode()
IM->enableMouseHandling(false); IM->enableMouseHandling(false);
EventsListener.enableMouseSmoothing(true); EventsListener.enableMouseSmoothing(true);
// Get the cursor instance and hide. // Get the cursor instance and hide.
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
// Freelook mode. // Freelook mode.

View file

@ -507,7 +507,7 @@ void CUserControls::freeLook(bool fullMode)
// disable interface mouse handling. // disable interface mouse handling.
IM->enableMouseHandling(false); IM->enableMouseHandling(false);
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
// Hide the Cursor. // Hide the Cursor.
@ -590,7 +590,7 @@ void CUserControls::cameraLook(bool fullMode)
// disable interface mouse handling. // disable interface mouse handling.
IM->enableMouseHandling(false); IM->enableMouseHandling(false);
// Get the cursor instance // Get the cursor instance
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
// Hide the Cursor. // Hide the Cursor.

View file

@ -155,7 +155,7 @@ uint32 CTool::getScreenHeight()
void CTool::getMousePos(sint32 &x, sint32 &y) void CTool::getMousePos(sint32 &x, sint32 &y)
{ {
//H_AUTO(R2_CTool_getMousePos) //H_AUTO(R2_CTool_getMousePos)
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor == NULL) if(cursor == NULL)
{ {
x = y = -1; x = y = -1;
@ -753,7 +753,7 @@ bool CTool::isMouseCaptured()
void CTool::setMouseCursor(const char *cursorTexture) void CTool::setMouseCursor(const char *cursorTexture)
{ {
//H_AUTO(R2_CTool_setMouseCursor) //H_AUTO(R2_CTool_setMouseCursor)
CViewPointer *cursor = CWidgetManager::getInstance()->getPointer(); CViewPointer *cursor = static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() );
if(cursor) if(cursor)
{ {
cursor->setCursor(cursorTexture); cursor->setCursor(cursorTexture);