![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtWindowConfiguration.h,v $ $Revision: 1.20 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvUtil/vrvUtil.h> 00016 #include <vrvUtil/DtConfiguration.h> 00017 #include <vrvUtil/DtChannelConfiguration.h> 00018 #include <vrvUtil/DtConfigurationCollection.h> 00019 00020 #include <string> 00021 #include <list> 00022 00023 namespace makVrv 00024 { 00025 00026 typedef DtConfigurationCollection<DtChannelConfiguration> DtChannelConfigurations; 00027 00032 class DT_DLL_VRVUTIL DtWindowConfiguration : public DtConfiguration 00033 { 00034 00035 public: 00036 00037 static const char* DefaultWindowString; 00038 00039 enum WindowType 00040 { 00041 NoWindow, 00042 Window, 00043 FullscreenWindow, 00044 EmbeddedWindow 00045 }; 00046 00050 DtWindowConfiguration(const std::string& name = DefaultWindowString); 00051 00054 DtWindowConfiguration(const DtWindowConfiguration& copy); 00055 00058 DtWindowConfiguration& operator=(const DtWindowConfiguration& copy); 00059 00061 ~DtWindowConfiguration(); 00062 00064 00065 DtChannelConfigurations& channelConfigurations(); 00066 const DtChannelConfigurations& channelConfigurations() const; 00068 00070 WindowType windowType() const; 00071 00073 void setWindowType(WindowType wt); 00074 00076 int screenNumber() const; 00077 00080 void setScreenNumber(int number); 00081 00083 int x() const; 00084 00086 int y() const; 00087 00089 void setPosition(int x, int y); 00090 00092 unsigned int width() const; 00093 00095 unsigned int height() const; 00096 00098 void setSize(unsigned int width,unsigned int height); 00099 00101 bool isFixedSize() const; 00102 00104 void setFixedSize(bool fixed); 00105 00111 DT_DECLARE_ALL_serialize_FUNCTIONS 00112 00113 protected: 00114 00115 template<class Archive> 00116 void _serialize(Archive& ar, const unsigned int version) 00117 { 00119 ar & DT_SERIALIZE_BASE(DtConfiguration); 00120 ar & DT_SERIALIZE_MEMBER(myChannelConfigurations); 00121 ar & DT_SERIALIZE_MEMBER(myWindowType); 00122 ar & DT_SERIALIZE_MEMBER(myScreenNumber); 00123 ar & DT_SERIALIZE_MEMBER(myX); 00124 ar & DT_SERIALIZE_MEMBER(myY); 00125 ar & DT_SERIALIZE_MEMBER(myWidth); 00126 ar & DT_SERIALIZE_MEMBER(myHeight); 00127 ar & DT_SERIALIZE_MEMBER(myFixedSizeFlag); 00128 } 00129 00131 00133 DtChannelConfigurations myChannelConfigurations; 00134 00136 WindowType myWindowType; 00137 00139 int myScreenNumber; 00140 00142 int myX; 00143 00145 int myY; 00146 00148 unsigned int myWidth; 00149 00151 unsigned int myHeight; 00152 00154 bool myFixedSizeFlag; 00155 }; 00156 }