CHANGED: #1471 Broke up CViewPointer into a generic and a Ryzom game related class.
--HG-- branch : gui-refactoringhg/feature/sse2
parent
31482e873b
commit
803bdc6272
@ -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<CCtrlResizer*>(pCB);
|
||||||
|
if (pCR != NULL)
|
||||||
|
{
|
||||||
|
CGroupContainer *parent = dynamic_cast<CGroupContainer *>(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<CInterface3DScene *>(pCB);
|
||||||
|
if (pI3DS != NULL)
|
||||||
|
{
|
||||||
|
drawCursor(_TxIdRotate, col, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool CViewPointerRyzom::drawScale (CCtrlBase* pCB, CRGBA col)
|
||||||
|
{
|
||||||
|
CInterface3DScene *pI3DS = dynamic_cast<CInterface3DScene *>(pCB);
|
||||||
|
if (pI3DS != NULL)
|
||||||
|
{
|
||||||
|
drawCursor(_TxIdScale, col, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool CViewPointerRyzom::drawColorPicker (CCtrlBase* pCB, CRGBA col)
|
||||||
|
{
|
||||||
|
CCtrlColPick *pCCP = dynamic_cast<CCtrlColPick*>(pCB);
|
||||||
|
if (pCCP != NULL)
|
||||||
|
{
|
||||||
|
drawCursor(_TxIdColPick, col, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool CViewPointerRyzom::drawLink (CCtrlBase* pCB, CRGBA col)
|
||||||
|
{
|
||||||
|
CCtrlLink *pCCP = dynamic_cast<CCtrlLink*>(pCB);
|
||||||
|
if (pCCP != NULL)
|
||||||
|
{
|
||||||
|
drawCursor(_TxIdColPick, col, 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool CViewPointerRyzom::drawBrowse (CCtrlBase* pCB, CRGBA col)
|
||||||
|
{
|
||||||
|
CGroupHTML *pCGH = dynamic_cast<CGroupHTML *>(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<CGroupMap *>(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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue