Equalizer  1.6.1
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Friends | List of all members
eq::fabric::Window< class, class, class > Class Template Reference

Base data transport class for windows. More...

#include <window.h>

+ Inheritance diagram for eq::fabric::Window< class, class, class >:
+ Collaboration diagram for eq::fabric::Window< class, class, class >:

Public Types

typedef std::vector< C * > Channels
 A vector of pointers to channels. More...
 
typedef ElementVisitor< W,
LeafVisitor< C > > 
Visitor
 The Window visitor type. More...
 
- Public Types inherited from eq::fabric::Object
enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR
}
 The changed parts of the object since the last pack(). More...
 

Public Member Functions

EQFABRIC_INL WindowPath getPath () const
 
Data Access
void init ()
 
const P * getPipe () const
 
P * getPipe ()
 
const ChannelsgetChannels () const
 
const DrawableConfiggetDrawableConfig () const
 
const PixelViewportgetPixelViewport () const
 
const ViewportgetViewport () const
 
virtual EQFABRIC_INL void setPixelViewport (const PixelViewport &pvp)
 Set the window's pixel viewport wrt its parent pipe. More...
 
EQFABRIC_INL void setViewport (const Viewport &vp)
 Set the window's viewport wrt its parent pipe. More...
 
bool hasFixedViewport () const
 
virtual void notifyViewportChanged ()
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor)
 Perform a depth-first traversal of this window. More...
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor) const
 Const-version of accept(). More...
 
internal
virtual EQFABRIC_INL void backup ()
 
virtual EQFABRIC_INL void restore ()
 
void create (C **channel)
 
void release (C *channel)
 
virtual void output (std::ostream &) const
 
virtual EQFABRIC_INL uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
- Public Member Functions inherited from eq::fabric::Object
virtual bool isDirty () const
 
void setName (const std::string &name)
 Set the name of the object. More...
 
const std::string & getName () const
 
void setUserData (co::Object *userData)
 Set user-specific data. More...
 
co::Object * getUserData ()
 
const co::Object * getUserData () const
 
void setError (const int32_t error)
 Set an error code why the last operation failed. More...
 
eq::fabric::Error getError () const
 
uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
uint32_t getSerial () const
 

Protected Types

enum  DirtyBits {
  DIRTY_ATTRIBUTES = Object::DIRTY_CUSTOM << 0, DIRTY_CHANNELS = Object::DIRTY_CUSTOM << 1, DIRTY_VIEWPORT = Object::DIRTY_CUSTOM << 2, DIRTY_DRAWABLECONFIG = Object::DIRTY_CUSTOM << 3,
  DIRTY_WINDOW_BITS
}
 

Protected Member Functions

 Window (P *parent)
 
virtual void attach (const UUID &id, const uint32_t instanceID)
 
virtual EQFABRIC_INL void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void notifyDetach ()
 
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 
void _setDrawableConfig (const DrawableConfig &drawableConfig)
 
virtual ChangeType getChangeType () const
 
C * _findChannel (const UUID &id)
 
virtual uint64_t getRedistributableBits () const
 
- Protected Member Functions inherited from eq::fabric::Object
 Object ()
 Construct a new Object. More...
 
virtual ~Object ()
 Destruct the object. More...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
void setTasks (const uint32_t tasks)
 
void postRemove (Object *child)
 
virtual void removeChild (const UUID &)
 
template<class C , class S >
void commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChild (C *child, const uint32_t incarnation)
 
template<class C , class S >
void commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, const uint32_t incarnation)
 
template<class C >
void syncChildren (const std::vector< C * > &children)
 
template<class P , class C >
void releaseChildren (const std::vector< C * > &children)
 
bool _cmdSync (co::ICommand &command)
 

Friends

class Channel< W, C >
 

Attributes

enum  IAttribute {
  IATTR_HINT_STEREO, IATTR_HINT_DOUBLEBUFFER, IATTR_HINT_FULLSCREEN, IATTR_HINT_DECORATION,
  IATTR_HINT_SWAPSYNC, IATTR_HINT_DRAWABLE, IATTR_HINT_STATISTICS, IATTR_HINT_SCREENSAVER,
  IATTR_HINT_GRAB_POINTER, IATTR_PLANES_COLOR, IATTR_PLANES_ALPHA, IATTR_PLANES_DEPTH,
  IATTR_PLANES_STENCIL, IATTR_PLANES_ACCUM, IATTR_PLANES_ACCUM_ALPHA, IATTR_PLANES_SAMPLES,
  IATTR_LAST, IATTR_ALL = IATTR_LAST + 5
}
 Window attributes. More...
 
void setIAttribute (const IAttribute attr, const int32_t value)
 Set a window attribute. More...
 
int32_t getIAttribute (const IAttribute attr) const
 
static EQFABRIC_INL const
std::string & 
getIAttributeString (const IAttribute attr)
 

Detailed Description

template<class, class, class>
class eq::fabric::Window< class, class, class >

Base data transport class for windows.

See Also
eq::Window

Definition at line 79 of file eq/fabric/types.h.

Member Typedef Documentation

template<class , class , class >
typedef std::vector< C* > eq::fabric::Window< class, class, class >::Channels

A vector of pointers to channels.

Version
1.0

Definition at line 43 of file include/eq/fabric/window.h.

template<class , class , class >
typedef ElementVisitor< W, LeafVisitor< C > > eq::fabric::Window< class, class, class >::Visitor

The Window visitor type.

Version
1.0

Definition at line 45 of file include/eq/fabric/window.h.

Member Enumeration Documentation

template<class , class , class >
enum eq::fabric::Window::IAttribute

Window attributes.

Most of these attributes are used by the SystemWindow implementation to configure the window during configInit(). An SystemWindow implementation might not respect all attributes, e.g., IATTR_HINT_SWAPSYNC is not implemented by the GLXWindow. Please refer to the Programming Guide for details.

Version
1.0
Enumerator
IATTR_HINT_STEREO 

Active stereo.

IATTR_HINT_DOUBLEBUFFER 

Front and back buffer.

IATTR_HINT_FULLSCREEN 

Fullscreen drawable.

IATTR_HINT_DECORATION 

Window decorations.

IATTR_HINT_SWAPSYNC 

Swap sync on vertical retrace.

IATTR_HINT_DRAWABLE 

Window, pbuffer, FBO or OFF.

IATTR_HINT_STATISTICS 

Statistics gathering hint.

IATTR_HINT_SCREENSAVER 

Screensaver (de)activation (WGL)

IATTR_HINT_GRAB_POINTER 

Capture mouse outside window.

IATTR_PLANES_COLOR 

No of per-component color planes.

IATTR_PLANES_ALPHA 

No of alpha planes.

IATTR_PLANES_DEPTH 

No of z-buffer planes.

IATTR_PLANES_STENCIL 

No of stencil planes.

IATTR_PLANES_ACCUM 

No of accumulation buffer planes.

IATTR_PLANES_ACCUM_ALPHA 

No of alpha accum buffer planes.

IATTR_PLANES_SAMPLES 

No of multisample (AA) planes.

Definition at line 128 of file include/eq/fabric/window.h.

Member Function Documentation

template<class , class , class >
EQFABRIC_INL VisitorResult eq::fabric::Window< class, class, class >::accept ( Visitor visitor)

Perform a depth-first traversal of this window.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0
template<class , class , class >
EQFABRIC_INL VisitorResult eq::fabric::Window< class, class, class >::accept ( Visitor visitor) const

Const-version of accept().

Version
1.0
template<class , class , class >
const Channels& eq::fabric::Window< class, class, class >::getChannels ( ) const
inline
Returns
a vector of all child channels of this window.

Definition at line 58 of file include/eq/fabric/window.h.

template<class , class , class >
const DrawableConfig& eq::fabric::Window< class, class, class >::getDrawableConfig ( ) const
inline
Returns
the window's drawable configuration.
Version
1.0

Definition at line 61 of file include/eq/fabric/window.h.

template<class , class , class >
int32_t eq::fabric::Window< class, class, class >::getIAttribute ( const IAttribute  attr) const
inline
Returns
the value of a window attribute.
Version
1.0

Definition at line 156 of file include/eq/fabric/window.h.

template<class , class , class >
const P* eq::fabric::Window< class, class, class >::getPipe ( ) const
inline
Returns
the parent Pipe of this window.
Version
1.0

Definition at line 53 of file include/eq/fabric/window.h.

template<class , class , class >
P* eq::fabric::Window< class, class, class >::getPipe ( )
inline
Returns
the parent Pipe of this window.
Version
1.0

Definition at line 55 of file include/eq/fabric/window.h.

template<class , class , class >
const PixelViewport& eq::fabric::Window< class, class, class >::getPixelViewport ( ) const
inline
Returns
the window's pixel viewport wrt the parent pipe.
Version
1.0

Definition at line 67 of file include/eq/fabric/window.h.

template<class , class , class >
const Viewport& eq::fabric::Window< class, class, class >::getViewport ( ) const
inline
Returns
the window's fractional viewport wrt the parent pipe.
Version
1.0

Definition at line 73 of file include/eq/fabric/window.h.

template<class , class , class >
bool eq::fabric::Window< class, class, class >::hasFixedViewport ( ) const
inline
Returns
true if a viewport was specified last.
Version
1.0

Definition at line 98 of file include/eq/fabric/window.h.

template<class , class , class >
virtual EQFABRIC_INL void eq::fabric::Window< class, class, class >::setDirty ( const uint64_t  bits)
protectedvirtual
See Also
Serializable::setDirty()
template<class , class , class >
void eq::fabric::Window< class, class, class >::setIAttribute ( const IAttribute  attr,
const int32_t  value 
)
inline

Set a window attribute.

Version
1.0

Definition at line 152 of file include/eq/fabric/window.h.

template<class , class , class >
virtual EQFABRIC_INL void eq::fabric::Window< class, class, class >::setPixelViewport ( const PixelViewport pvp)
virtual

Set the window's pixel viewport wrt its parent pipe.

Updates the fractional viewport of the window and its channels accordingly.

Parameters
pvpthe viewport in pixels.
Version
1.0
template<class , class , class >
EQFABRIC_INL void eq::fabric::Window< class, class, class >::setViewport ( const Viewport vp)

Set the window's viewport wrt its parent pipe.

Updates the fractional pixel viewport of the window and its channels accordingly.

Parameters
vpthe fractional viewport.
Version
1.0

The documentation for this class was generated from the following files: