diff --git a/code/nel/include/nel/gui/widget_manager.h b/code/nel/include/nel/gui/widget_manager.h index 19df9375b..4c0720a71 100644 --- a/code/nel/include/nel/gui/widget_manager.h +++ b/code/nel/include/nel/gui/widget_manager.h @@ -376,6 +376,9 @@ namespace NLGUI const SInterfaceTimes& getInterfaceTimes() const{ return interfaceTimes; } void updateInterfaceTimes( const SInterfaceTimes × ){ interfaceTimes = times; } + + void setIngame( bool i ){ inGame = i; } + bool isIngame() const{ return inGame; } static IParser *parser; @@ -436,6 +439,8 @@ namespace NLGUI NLMISC::CRGBA _OverExtendViewTextBackColor; SInterfaceTimes interfaceTimes; + + bool inGame; }; } diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index da9870352..a8e0610ea 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -1508,6 +1508,7 @@ namespace NLGUI _AlphaRolloverSpeedDB = NULL; _MouseHandlingEnabled = true; + inGame = false; } CWidgetManager::~CWidgetManager() diff --git a/code/ryzom/client/src/input.cpp b/code/ryzom/client/src/input.cpp index 6427529f8..42fa9842a 100644 --- a/code/ryzom/client/src/input.cpp +++ b/code/ryzom/client/src/input.cpp @@ -96,6 +96,7 @@ bool InitMouseWithCursor (bool hardware) // Get the new mouse state MouseHardware = hardware; + CViewPointer::setHWMouse( hardware ); // Reinit ? if (MouseDevice == NULL) diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index dc204b2dd..8b0f5668e 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -443,7 +443,7 @@ CInterfaceManager::CInterfaceManager( NL3D::UDriver *driver, NL3D::UTextContext _CurrentMode = 0; - _InGame = false; + setInGame( false ); _LocalSyncActionCounter= 0; // 4Bits counter. @@ -537,6 +537,12 @@ void CInterfaceManager::releaseServerToLocalAutoCopyObservers() ServerToLocalAutoCopySkillPoints.release(); } +void CInterfaceManager::setInGame( bool i ) +{ + _InGame = i; + CWidgetManager::getInstance()->setIngame( i ); +} + // ------------------------------------------------------------------------------------------------ void CInterfaceManager::resetShardSpecificData() { @@ -925,7 +931,7 @@ void CInterfaceManager::initInGame() initActions(); } - _InGame = true; + setInGame( true ); // Init bubble manager InSceneBubbleManager.init(); @@ -1324,7 +1330,7 @@ void CInterfaceManager::uninitInGame1 () // Close LUA Scripting uninitLUA(); - _InGame = false; + setInGame( false ); _NeutralColor = NULL; _WarningColor = NULL; _ErrorColor = NULL; diff --git a/code/ryzom/client/src/interface_v3/interface_manager.h b/code/ryzom/client/src/interface_v3/interface_manager.h index 564a27525..ac3865e74 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.h +++ b/code/ryzom/client/src/interface_v3/interface_manager.h @@ -143,6 +143,7 @@ public: // release all of the global db autocopy observers void releaseServerToLocalAutoCopyObservers(); + void setInGame( bool i ); bool isInGame() const { return _InGame; } /// initialize the whole login interface diff --git a/code/ryzom/client/src/interface_v3/register_interface_elements.cpp b/code/ryzom/client/src/interface_v3/register_interface_elements.cpp index 8c7d12dc5..4947d251e 100644 --- a/code/ryzom/client/src/interface_v3/register_interface_elements.cpp +++ b/code/ryzom/client/src/interface_v3/register_interface_elements.cpp @@ -60,10 +60,14 @@ #include "../r2/tool.h" #include "../r2/tool_pick.h" +#include "view_pointer_ryzom.h" + void registerInterfaceElements() { + CViewPointerRyzom::forceLinking(); + REGISTER_REFLECTABLE_CLASS(CInterfaceElement, CReflectable); REGISTER_REFLECTABLE_CLASS(CViewBase, CInterfaceElement); REGISTER_REFLECTABLE_CLASS(CViewText, CViewBase); diff --git a/code/ryzom/client/src/interface_v3/view_pointer.cpp b/code/ryzom/client/src/interface_v3/view_pointer.cpp index 21c7bbd5f..0da7ed610 100644 --- a/code/ryzom/client/src/interface_v3/view_pointer.cpp +++ b/code/ryzom/client/src/interface_v3/view_pointer.cpp @@ -15,30 +15,19 @@ // along with this program. If not, see . - -#include "../input.h" #include "view_pointer.h" -#include "interface_manager.h" +#include "nel/gui/widget_manager.h" #include "nel/gui/view_renderer.h" -#include "nel/gui/ctrl_col_pick.h" #include "nel/gui/group_paragraph.h" -#include "nel/gui/group_html.h" -#include "group_map.h" -// #include "nel/misc/xml_auto_ptr.h" -// #include "nel/gui/group_container.h" -#include "interface_3d_scene.h" -// -#include "../r2/editor.h" - - - using namespace std; using namespace NLMISC; -NLMISC_REGISTER_OBJECT(CViewBase, CViewPointer, std::string, "pointer"); +NLMISC_REGISTER_OBJECT(CViewBase, CViewPointer, std::string, "generic_pointer"); + +bool CViewPointer::hwMouse = true; // -------------------------------------------------------------------------------------------------------------------- CViewPointer::CViewPointer (const TCtorParam ¶m) @@ -125,16 +114,13 @@ bool CViewPointer::parse (xmlNodePtr cur,CInterfaceGroup * parentGroup) if (prop) _TxCanPan = (const char *) prop; _TxCanPan = NLMISC::strlwr (_TxCanPan); - if (ClientCfg.R2EDEnabled) - { - prop = (char*) xmlGetProp (cur, (xmlChar*)"tx_pan_r2"); - if (prop) _TxPanR2 = (const char *) prop; - _TxPanR2 = NLMISC::strlwr (_TxPanR2); + prop = (char*) xmlGetProp (cur, (xmlChar*)"tx_pan_r2"); + if (prop) _TxPanR2 = (const char *) prop; + _TxPanR2 = NLMISC::strlwr (_TxPanR2); - prop = (char*) xmlGetProp (cur, (xmlChar*)"tx_can_pan_r2"); - if (prop) _TxCanPanR2 = (const char *) prop; - _TxCanPanR2 = NLMISC::strlwr (_TxCanPanR2); - } + prop = (char*) xmlGetProp (cur, (xmlChar*)"tx_can_pan_r2"); + if (prop) _TxCanPanR2 = (const char *) prop; + _TxCanPanR2 = NLMISC::strlwr (_TxCanPanR2); prop = (char*) xmlGetProp (cur, (xmlChar*)"color"); if (prop) _Color = convertColor(prop); @@ -162,23 +148,22 @@ void CViewPointer::draw () if(!_PointerVisible) return; - CInterfaceManager *pIM = CInterfaceManager::getInstance(); CViewRenderer &rVR = *CViewRenderer::getInstance(); - if (pIM->isInGame()) + if ( CWidgetManager::getInstance()->isIngame() ) if (!_StringCursor) { // Create the string cursor instance std::vector > templateParams; templateParams.push_back (std::pair("id", "string_cursor")); - _StringCursor = pIM->createGroupInstance("string_cursor", "", templateParams); + _StringCursor = CWidgetManager::parser->createGroupInstance("string_cursor", "", templateParams); if (_StringCursor) _StringCursor->setParentPos(CWidgetManager::getInstance()->getElementFromId("ui:interface")); templateParams.clear(); templateParams.push_back (std::pair("id", "string_cursor_hardware")); - _StringCursorHardware = pIM->createGroupInstance("string_cursor_hardware", "", templateParams); + _StringCursorHardware = CWidgetManager::parser->createGroupInstance("string_cursor_hardware", "", templateParams); if (_StringCursorHardware) _StringCursorHardware->setParentPos(CWidgetManager::getInstance()->getElementFromId("ui:interface")); } @@ -225,11 +210,9 @@ void CViewPointer::draw () _TxIdColPick = rVR.getTextureIdFromName (_TxColPick); _TxIdPan = rVR.getTextureIdFromName (_TxPan); _TxIdCanPan = rVR.getTextureIdFromName (_TxCanPan); - if (ClientCfg.R2EDEnabled) - { - _TxIdPanR2 = rVR.getTextureIdFromName (_TxPanR2); - _TxIdCanPanR2 = rVR.getTextureIdFromName (_TxCanPanR2); - } + _TxIdPanR2 = rVR.getTextureIdFromName (_TxPanR2); + _TxIdCanPanR2 = rVR.getTextureIdFromName (_TxCanPanR2); + } const vector &rICL = CWidgetManager::getInstance()->getCtrlsUnderPointer (); @@ -240,7 +223,6 @@ void CViewPointer::draw () if (pCB != NULL) { if (drawResizer(pCB,col)) return; - //if (drawMover(pCB,col)) return; if (drawColorPicker(pCB,col)) return; if (drawRotate(pCB,col)) return; if (drawPan(pCB,col)) return; @@ -264,7 +246,7 @@ void CViewPointer::draw () setString(ucstring(tooltip)); sint32 texId = rVR.getTextureIdFromName ("curs_pick.tga"); - CInterfaceGroup *stringCursor = IsMouseCursorHardware() ? _StringCursorHardware : _StringCursor; + CInterfaceGroup *stringCursor = hwMouse ? _StringCursorHardware : _StringCursor; if (stringCursor) { stringCursor->setX(_PointerX); @@ -272,7 +254,7 @@ void CViewPointer::draw () stringCursor->updateCoords(); stringCursor->draw(); // if in hardware mode, force to draw the default cursor no matter what.. - if (IsMouseCursorHardware()) + if ( hwMouse ) drawCursor(texId, col, 0); } else @@ -357,8 +339,6 @@ void CViewPointer::draw () } } } - - //if (drawMover(pCB,col)) return; } } @@ -382,7 +362,7 @@ void CViewPointer::draw () if (_StringMode && CWidgetManager::getInstance()->isMouseHandlingEnabled()) { - CInterfaceGroup *stringCursor = IsMouseCursorHardware() ? _StringCursorHardware : _StringCursor; + CInterfaceGroup *stringCursor = hwMouse ? _StringCursorHardware : _StringCursor; if (stringCursor) { stringCursor->setX(_PointerX); @@ -390,7 +370,7 @@ void CViewPointer::draw () stringCursor->updateCoords(); stringCursor->draw(); // if in hardware mode, force to draw the default cursor no matter what.. - if (IsMouseCursorHardware()) + if ( hwMouse ) { drawCursor(_TxIdDefault, col, 0); } @@ -403,150 +383,6 @@ void CViewPointer::draw () } } -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawResizer(CCtrlBase* pCB, CRGBA col) -{ - CCtrlResizer *pCR = dynamic_cast(pCB); - if (pCR != NULL) - { - CGroupContainer *parent = dynamic_cast(pCR->getParent()); - if (parent && !parent->isLocked()) - { - sint32 texID= -1; - switch(pCR->getRealResizerPos()) - { - case Hotspot_BR: - case Hotspot_TL: - texID = _TxIdResizeBRTL; - break; - case Hotspot_BL: - case Hotspot_TR: - texID = _TxIdResizeBLTR; - break; - case Hotspot_MR: - case Hotspot_ML: - texID = _TxIdResizeLR; - break; - case Hotspot_TM: - case Hotspot_BM: - texID = _TxIdResizeTB; - break; - default: - return false; - break; - } - drawCursor(texID, col, false); - return true; - } - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawMover(CCtrlBase* pCB, CRGBA col) -{ - CCtrlMover *pCM = dynamic_cast(pCB); - if ((pCM != NULL) && (pCM->canMove() == true)) - { - drawCursor(_TxIdMoveWindow, col, 0); - return true; - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawRotate (CCtrlBase* pCB, CRGBA col) -{ - CInterface3DScene *pI3DS = dynamic_cast(pCB); - if (pI3DS != NULL) - { - drawCursor(_TxIdRotate, col, 0); - return true; - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawScale (CCtrlBase* pCB, CRGBA col) -{ - CInterface3DScene *pI3DS = dynamic_cast(pCB); - if (pI3DS != NULL) - { - drawCursor(_TxIdScale, col, 0); - return true; - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawColorPicker (CCtrlBase* pCB, CRGBA col) -{ - CCtrlColPick *pCCP = dynamic_cast(pCB); - if (pCCP != NULL) - { - drawCursor(_TxIdColPick, col, 0); - return true; - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawLink (CCtrlBase* pCB, CRGBA col) -{ - CCtrlLink *pCCP = dynamic_cast(pCB); - if (pCCP != NULL) - { - drawCursor(_TxIdColPick, col, 0); - return true; - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawBrowse (CCtrlBase* pCB, CRGBA col) -{ - CGroupHTML *pCGH = dynamic_cast(pCB); - if (pCGH != NULL) - { - if (pCGH->isBrowsing()) - { - static uint8 rot =0; - drawCursor(_TxIdRotate, col, rot>>3); - rot = (rot+1) & 0x1f; - return true; - } - } - return false; -} - -// -------------------------------------------------------------------------------------------------------------------- -bool CViewPointer::drawPan(CCtrlBase* pCB, NLMISC::CRGBA col) -{ - CGroupMap *gm = dynamic_cast(pCB); - if (gm) - { - sint32 texId; - if (ClientCfg.R2EDEnabled && R2::getEditor().getCurrentTool()) - { - /** If cursor is set to anything other than the default cursor, use that cursor (because action can be performed on the map - * by the current tool - */ - if (_TxDefault == "curs_default.tga") - { - texId = gm->isPanning() ? _TxIdPanR2 : _TxIdCanPanR2; - } - else return false; - } - else - { - texId = gm->isPanning() ? _TxIdPan : _TxIdCanPan; - } - drawCursor(texId, col, 0); - return true; - } - return false; -} - // -------------------------------------------------------------------------------------------------------------------- bool CViewPointer::drawCustom(CCtrlBase* pCB) { @@ -565,11 +401,10 @@ bool CViewPointer::drawCustom(CCtrlBase* pCB) tooltip = tooltipInfosList[1]; nlinfo(tooltip.c_str()); setString(ucstring(tooltip)); - CInterfaceManager *pIM = CInterfaceManager::getInstance(); CViewRenderer &rVR = *CViewRenderer::getInstance(); sint32 texId = rVR.getTextureIdFromName (texName); - CInterfaceGroup *stringCursor = IsMouseCursorHardware() ? _StringCursorHardware : _StringCursor; + CInterfaceGroup *stringCursor = hwMouse ? _StringCursorHardware : _StringCursor; if (stringCursor) { stringCursor->setX(_PointerX); @@ -577,7 +412,7 @@ bool CViewPointer::drawCustom(CCtrlBase* pCB) stringCursor->updateCoords(); stringCursor->draw(); // if in hardware mode, force to draw the default cursor no matter what.. - if (IsMouseCursorHardware()) + if ( hwMouse ) drawCursor(texId, col, 0); } else @@ -588,7 +423,6 @@ bool CViewPointer::drawCustom(CCtrlBase* pCB) } else { - CInterfaceManager *pIM = CInterfaceManager::getInstance(); CViewRenderer &rVR = *CViewRenderer::getInstance(); sint32 texId = rVR.getTextureIdFromName (texName); drawCursor(texId, col, 0); @@ -647,11 +481,10 @@ void CViewPointer::setString (const ucstring &str) // -------------------------------------------------------------------------------------------------------------------- void CViewPointer::drawCursor(sint32 texId, NLMISC::CRGBA col, uint8 rot) { - CInterfaceManager *pIM = CInterfaceManager::getInstance(); CViewRenderer &rVR = *CViewRenderer::getInstance(); sint32 xPos = _XReal + _OffsetX; sint32 yPos = _YReal + _OffsetY; - if (!IsMouseCursorHardware()) + if ( !hwMouse ) { rVR.draw11RotFlipBitmap (_RenderLayer, xPos, yPos, rot, false, texId, col); } diff --git a/code/ryzom/client/src/interface_v3/view_pointer.h b/code/ryzom/client/src/interface_v3/view_pointer.h index 7b1b85e30..cc422734c 100644 --- a/code/ryzom/client/src/interface_v3/view_pointer.h +++ b/code/ryzom/client/src/interface_v3/view_pointer.h @@ -38,13 +38,15 @@ namespace NLGUI class CViewPointer : public CViewPointerBase { - friend void SetMouseFreeLook (); - friend void SetMouseCursor (bool updateMousePos); + public: - DECLARE_UI_CLASS( CViewPointerBase ) - CViewPointer (const TCtorParam ¶m); + DECLARE_UI_CLASS( CViewPointer ) + + CViewPointer( const TCtorParam ¶m ); + virtual ~CViewPointer(){} + bool parse (xmlNodePtr cur,CInterfaceGroup * parentGroup); - void draw (); + void draw(); // Set cursor mode void setStringMode (bool stringCursor); @@ -53,7 +55,6 @@ public: // Set cursor string void setString (const ucstring &str); -public: // TEMP PATCH void setCursor (const std::string &name) { @@ -62,24 +63,25 @@ public: } // TEMP PATCH -private: - /// Show or hide the pointer. Please, use SetMouseMode (bool freelook) instead. void show(bool s) {_PointerVisible = s;} - /// Drawing helpers - bool drawResizer (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawMover (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawRotate (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawScale (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawColorPicker (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawLink (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawBrowse (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawPan (CCtrlBase* pCB, NLMISC::CRGBA col); - bool drawCustom (CCtrlBase* pCB); + static void setHWMouse( bool hw ){ hwMouse = hw; } private: + /// Drawing helpers + virtual bool drawResizer(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawRotate(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawScale(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawColorPicker(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawLink(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawBrowse(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawPan(CCtrlBase* pCB, NLMISC::CRGBA col){ return false; } + virtual bool drawCustom(CCtrlBase* pCB); + +protected: + // Look of the cursor in different situation std::string _TxDefault; std::string _TxMoveWindow; @@ -123,12 +125,15 @@ private: CInterfaceGroup *_StringCursorHardware; ucstring _ContextString; -private: // draw current cursor with the given texture, or, if in hardware mode, change the hardware cursor shape void drawCursor(sint32 texId, NLMISC::CRGBA col, uint8 rot); + +private: // set the string into frame for software or hardware version void setString (const ucstring &str, CInterfaceGroup *target); + static bool hwMouse; + }; diff --git a/code/ryzom/client/src/interface_v3/view_pointer_ryzom.cpp b/code/ryzom/client/src/interface_v3/view_pointer_ryzom.cpp new file mode 100644 index 000000000..b161b9dda --- /dev/null +++ b/code/ryzom/client/src/interface_v3/view_pointer_ryzom.cpp @@ -0,0 +1,161 @@ +#include "view_pointer_ryzom.h" +#include "group_map.h" +#include "nel/gui/group_html.h" +#include "interface_3d_scene.h" +#include "../r2/editor.h" +#include "nel/gui/ctrl_col_pick.h" +#include "nel/gui/widget_manager.h" +#include "nel/gui/view_renderer.h" +#include "nel/gui/group_paragraph.h" +#include "nel/misc/xml_auto_ptr.h" +#include "nel/gui/group_container.h" + + +NLMISC_REGISTER_OBJECT( CViewBase, CViewPointerRyzom, std::string, "pointer"); + +CViewPointerRyzom::CViewPointerRyzom( const TCtorParam ¶m ) : +CViewPointer( param ) +{ +} + +CViewPointerRyzom::~CViewPointerRyzom() +{ +} + +void CViewPointerRyzom::forceLinking() +{ +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawResizer(CCtrlBase* pCB, CRGBA col) +{ + CCtrlResizer *pCR = dynamic_cast(pCB); + if (pCR != NULL) + { + CGroupContainer *parent = dynamic_cast(pCR->getParent()); + if (parent && !parent->isLocked()) + { + sint32 texID= -1; + switch(pCR->getRealResizerPos()) + { + case Hotspot_BR: + case Hotspot_TL: + texID = _TxIdResizeBRTL; + break; + case Hotspot_BL: + case Hotspot_TR: + texID = _TxIdResizeBLTR; + break; + case Hotspot_MR: + case Hotspot_ML: + texID = _TxIdResizeLR; + break; + case Hotspot_TM: + case Hotspot_BM: + texID = _TxIdResizeTB; + break; + default: + return false; + break; + } + drawCursor(texID, col, false); + return true; + } + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawRotate (CCtrlBase* pCB, CRGBA col) +{ + CInterface3DScene *pI3DS = dynamic_cast(pCB); + if (pI3DS != NULL) + { + drawCursor(_TxIdRotate, col, 0); + return true; + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawScale (CCtrlBase* pCB, CRGBA col) +{ + CInterface3DScene *pI3DS = dynamic_cast(pCB); + if (pI3DS != NULL) + { + drawCursor(_TxIdScale, col, 0); + return true; + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawColorPicker (CCtrlBase* pCB, CRGBA col) +{ + CCtrlColPick *pCCP = dynamic_cast(pCB); + if (pCCP != NULL) + { + drawCursor(_TxIdColPick, col, 0); + return true; + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawLink (CCtrlBase* pCB, CRGBA col) +{ + CCtrlLink *pCCP = dynamic_cast(pCB); + if (pCCP != NULL) + { + drawCursor(_TxIdColPick, col, 0); + return true; + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawBrowse (CCtrlBase* pCB, CRGBA col) +{ + CGroupHTML *pCGH = dynamic_cast(pCB); + if (pCGH != NULL) + { + if (pCGH->isBrowsing()) + { + static uint8 rot =0; + drawCursor(_TxIdRotate, col, rot>>3); + rot = (rot+1) & 0x1f; + return true; + } + } + return false; +} + +// -------------------------------------------------------------------------------------------------------------------- +bool CViewPointerRyzom::drawPan(CCtrlBase* pCB, NLMISC::CRGBA col) +{ + CGroupMap *gm = dynamic_cast(pCB); + if (gm) + { + sint32 texId; + if (ClientCfg.R2EDEnabled && R2::getEditor().getCurrentTool()) + { + /** If cursor is set to anything other than the default cursor, use that cursor (because action can be performed on the map + * by the current tool + */ + if (_TxDefault == "curs_default.tga") + { + texId = gm->isPanning() ? _TxIdPanR2 : _TxIdCanPanR2; + } + else return false; + } + else + { + texId = gm->isPanning() ? _TxIdPan : _TxIdCanPan; + } + drawCursor(texId, col, 0); + return true; + } + return false; +} + + diff --git a/code/ryzom/client/src/interface_v3/view_pointer_ryzom.h b/code/ryzom/client/src/interface_v3/view_pointer_ryzom.h new file mode 100644 index 000000000..8afa7d654 --- /dev/null +++ b/code/ryzom/client/src/interface_v3/view_pointer_ryzom.h @@ -0,0 +1,31 @@ +#ifndef VIEW_POINTER_RYZOM_H +#define VIEW_POINTER_RYZOM_H + + +#include "view_pointer.h" + +class CViewPointerRyzom : public CViewPointer +{ +public: + DECLARE_UI_CLASS( CViewPointerRyzom ) + CViewPointerRyzom( const TCtorParam ¶m ); + ~CViewPointerRyzom(); + + static void forceLinking(); + +private: + bool drawResizer(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawRotate(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawScale(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawColorPicker(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawLink(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawBrowse(CCtrlBase* pCB, NLMISC::CRGBA col); + bool drawPan(CCtrlBase* pCB, NLMISC::CRGBA col); + +}; + + + +#endif + +