![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtDisplayProxy.h,v $ $Revision: 1.25 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvUtil/DtProxy.h> 00016 #include <vrvCore/DtWindowProxy.h> 00017 00018 namespace makVrv 00019 { 00020 class DtDe; 00021 class DtDisplayConfiguration; 00022 class DtDisplayProctor; 00023 00027 class DT_DLL_VRVCORE DtDisplayProxy : public DtProxy 00028 { 00029 public: 00030 00032 friend class DtDe; 00033 00035 virtual ~DtDisplayProxy(); 00036 00038 00039 00041 bool addWindow(const DtWindowConfiguration& configuration); 00042 00044 void destroyWindow(DtWindowProxySP window); 00045 00047 bool modifyWindow(DtWindowProxySP window, 00048 const DtWindowConfiguration& config); 00049 00051 00052 00054 00055 00058 const DtDisplayConfiguration& configuration() const; 00059 00062 DtWindowProxySP findWindow(const std::string& windowName ); 00063 00066 DtWindowProxySP findWindowByIndex(int index); 00067 00070 int windowCount() const; 00071 00073 const std::string& displayName() const; 00075 00076 00077 protected: 00078 00080 DtDisplayProxy(DtDe& de,DtDisplayConfiguration& configuration); 00081 00083 DtDisplayProctor* proctor(); 00084 00085 protected: 00086 00087 DtDe& myDe; 00088 DtDisplayConfiguration* myConfiguration; 00089 DtDisplayProctor* myProctorCache; 00090 00091 typedef std::map<std::string,DtWindowProxyWP> WindowProxies; 00092 WindowProxies myWindowProxies; 00093 00094 }; 00095 00096 typedef DtBoost::shared_ptr<DtDisplayProxy> DtDisplayProxySP; 00097 typedef DtBoost::weak_ptr<DtDisplayProxy> DtDisplayProxyWP; 00098 }