Equalizer  1.8.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
fabric/windowSettings.h
1 
2 /* Copyright (c) 2014, 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
77  IATTR_LAST,
78  IATTR_ALL = IATTR_LAST
79  };
80 
87  EQFABRIC_API bool setIAttribute( const IAttribute attr,
88  const int32_t value );
89 
91  EQFABRIC_API int32_t getIAttribute( const IAttribute attr ) const;
92 
97  EQFABRIC_API const PixelViewport& getPixelViewport() const;
98 
105  EQFABRIC_API void setPixelViewport( const PixelViewport& pvp );
106 
108  EQFABRIC_API const std::string& getName() const;
109 
111  EQFABRIC_API void setName( const std::string& name );
112 
114  EQFABRIC_API void serialize( co::DataOStream& os ) const;
115 
117  EQFABRIC_API void deserialize( co::DataIStream& is );
118 
119 private:
120  detail::WindowSettings* const _impl;
121 };
122 }
123 }
124 
125 
126 #endif // EQFABRIC_WINDOW_SETTINGS_H
IAttribute
Possible values for integer attributes.
Definition: iAttribute.h:30
A set of settings to setup an eq::fabric::Window.
EQFABRIC_API bool setIAttribute(const IAttribute attr, const int32_t value)
Set a window attribute.
EQFABRIC_API const std::string & getName() const
EQFABRIC_API void setName(const std::string &name)
Set the window's name.
EQFABRIC_API int32_t getIAttribute(const IAttribute attr) const
EQFABRIC_API WindowSettings()
Create a new WindowSettings.
EQFABRIC_API const PixelViewport & getPixelViewport() const
Holds a 2D pixel viewport with methods for manipulation.
Definition: pixelViewport.h:34
virtual EQFABRIC_API ~WindowSettings()
Destroy the WindowSettings.
EQFABRIC_API void setPixelViewport(const PixelViewport &pvp)
Set the window's pixel viewport wrt its parent pipe.