Equalizer  2.0.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 
25 namespace eq
26 {
27 namespace fabric
28 {
29 namespace detail { class WindowSettings; }
30 
33 {
34 public:
36  EQFABRIC_API WindowSettings();
37 
39  EQFABRIC_API virtual ~WindowSettings();
40 
42  EQFABRIC_API WindowSettings( const WindowSettings& rhs );
43 
45  EQFABRIC_API WindowSettings& operator=( const WindowSettings& rhs );
46 
57  {
58  // Note: also update string array initialization in window.ipp
80  IATTR_LAST,
81  IATTR_ALL = IATTR_LAST
82  };
83 
90  EQFABRIC_API bool setIAttribute( const IAttribute attr,
91  const int32_t value );
92 
94  EQFABRIC_API int32_t getIAttribute( const IAttribute attr ) const;
95 
100  EQFABRIC_API const PixelViewport& getPixelViewport() const;
101 
108  EQFABRIC_API void setPixelViewport( const PixelViewport& pvp );
109 
111  EQFABRIC_API const std::string& getName() const;
112 
114  EQFABRIC_API void setName( const std::string& name );
115 
117  EQFABRIC_API void serialize( co::DataOStream& os ) const;
118 
120  EQFABRIC_API void deserialize( co::DataIStream& is );
121 
122 private:
123  detail::WindowSettings* const _impl;
124 };
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