Equalizer  2.1.0
Parallel Rendering Framework
fabric/windowSettings.h
1 
2 /* Copyright (c) 2014-2015, Daniel Nachbaur <danielnachbaur@gmail.com>
3  *
4  * This library is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU Lesser General Public License version 2.1 as published
6  * by the Free Software Foundation.
7  *
8  * This library is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11  * details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this library; if not, write to the Free Software Foundation, Inc.,
15  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16  */
17 
18 #ifndef EQFABRIC_WINDOW_SETTINGS_H
19 #define EQFABRIC_WINDOW_SETTINGS_H
20 
21 #include <eq/fabric/api.h>
22 #include <eq/fabric/pixelViewport.h>
23 
24 namespace eq
25 {
26 namespace fabric
27 {
28 namespace detail
29 {
30 class WindowSettings;
31 }
32 
35 {
36 public:
38  EQFABRIC_API WindowSettings();
39 
41  EQFABRIC_API virtual ~WindowSettings();
42 
44  EQFABRIC_API WindowSettings(const WindowSettings& rhs);
45 
47  EQFABRIC_API WindowSettings& operator=(const WindowSettings& rhs);
48 
59  {
60  // Note: also update string array initialization in window.ipp
82  IATTR_LAST,
83  IATTR_ALL = IATTR_LAST
84  };
85 
92  EQFABRIC_API bool setIAttribute(const IAttribute attr, const int32_t value);
93 
95  EQFABRIC_API int32_t getIAttribute(const IAttribute attr) const;
96 
101  EQFABRIC_API const PixelViewport& getPixelViewport() const;
102 
109  EQFABRIC_API void setPixelViewport(const PixelViewport& pvp);
110 
112  EQFABRIC_API const std::string& getName() const;
113 
115  EQFABRIC_API void setName(const std::string& name);
116 
118  EQFABRIC_API void serialize(co::DataOStream& os) const;
119 
121  EQFABRIC_API void deserialize(co::DataIStream& is);
122 
123 private:
124  detail::WindowSettings* const _impl;
125 };
126 }
127 }
128 
129 #endif // EQFABRIC_WINDOW_SETTINGS_H
Defines export visibility macros for library EqualizerFabric.
A set of settings to setup an eq::fabric::Window.
The Equalizer client library.
Definition: eq/agl/types.h:23
Holds a 2D pixel viewport with methods for manipulation.
Definition: pixelViewport.h:34