![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtCursorManager.h,v $ $Revision: 1.31 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtCursor.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <stack> 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 00029 class DT_DLL_VRVCORE DtCursorManager : public DtVirtualBaseClass 00030 { 00031 00032 public: 00033 00035 DtCursorManager(DtDe&); 00036 00038 virtual ~DtCursorManager(); 00039 00040 static DtCursorManager& instance(DtDe&); 00041 static void registerInstance(DtDe&, DtCursorManager*); 00042 00045 virtual void setCursor(const DtCursor&); 00046 const DtCursor& currentCursor() const; 00047 00050 virtual void pushCursor(const DtCursor&); 00051 virtual void pushCursor(DtCursor::CursorShape); 00052 00054 virtual void popCursor(); 00055 00056 protected: 00057 typedef std::stack<DtCursor*> CursorStack; 00058 00059 CursorStack myCursorStack; 00060 DtCursor* myCurrentCursor; 00061 DtDe& myDe; 00062 }; 00063 } 00064 00065