Equalizer 1.0
|
Base data transport class for windows. More...
#include <window.h>
Classes | |
struct | BackupData |
Public Member Functions | |
EQFABRIC_INL WindowPath | getPath () const |
virtual EQFABRIC_INL void | backup () |
virtual EQFABRIC_INL void | restore () |
void | create (C **channel) |
void | release (C *channel) |
virtual void | output (std::ostream &) const |
Data Access | |
void | init () |
const P * | getPipe () const |
P * | getPipe () |
const Channels & | getChannels () const |
const DrawableConfig & | getDrawableConfig () const |
const PixelViewport & | getPixelViewport () const |
const Viewport & | getViewport () const |
virtual EQFABRIC_INL void | setPixelViewport (const PixelViewport &pvp) |
Set the window's pixel viewport wrt its parent pipe. | |
EQFABRIC_INL void | setViewport (const Viewport &vp) |
Set the window's viewport wrt its parent pipe. | |
bool | hasFixedViewport () const |
virtual void | notifyViewportChanged () |
EQFABRIC_INL VisitorResult | accept (Visitor &visitor) |
Traverse this window and all children using a window visitor. | |
EQFABRIC_INL VisitorResult | accept (Visitor &visitor) const |
Const-version of accept(). | |
Public Types | |
typedef std::vector< C * > | Channels |
A vector of pointers to channels. | |
typedef ElementVisitor< W, LeafVisitor< C > > | Visitor |
The Window visitor type. | |
Protected Member Functions | |
Window (P *parent) | |
virtual void | attach (const co::base::UUID &id, const uint32_t instanceID) |
virtual EQFABRIC_INL void | serialize (co::DataOStream &os, const uint64_t dirtyBits) |
Worker for pack() and getInstanceData(). | |
virtual EQFABRIC_INL void | deserialize (co::DataIStream &is, const uint64_t dirtyBits) |
Worker for unpack() and applyInstanceData(). | |
virtual EQFABRIC_INL void | notifyDetach () |
Notify that this object will be deregistered or unmapped. | |
virtual EQFABRIC_INL void | setDirty (const uint64_t bits) |
void | _setDrawableConfig (const DrawableConfig &drawableConfig) |
virtual ChangeType | getChangeType () const |
C * | _findChannel (const co::base::UUID &id) |
virtual uint64_t | getRedistributableBits () 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 } |
The changed parts of the object since the last pack(). More... | |
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_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. | |
int32_t | getIAttribute (const IAttribute attr) const |
static EQFABRIC_INL const std::string & | getIAttributeString (const IAttribute attr) |
Base data transport class for windows.
Definition at line 40 of file include/eq/fabric/window.h.
typedef std::vector< C* > eq::fabric::Window< P, W, C >::Channels |
A vector of pointers to channels.
Definition at line 44 of file include/eq/fabric/window.h.
typedef ElementVisitor< W, LeafVisitor< C > > eq::fabric::Window< P, W, C >::Visitor |
enum eq::fabric::Window::DirtyBits [protected] |
The changed parts of the object since the last pack().
Subclasses should define their own bits, starting at DIRTY_CUSTOM.
Reimplemented from eq::fabric::Object.
Definition at line 205 of file include/eq/fabric/window.h.
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.
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 or FBO. |
IATTR_HINT_STATISTICS |
Statistics gathering hint. |
IATTR_HINT_SCREENSAVER |
Screensaver (de)activation (WGL) |
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 129 of file include/eq/fabric/window.h.
EQFABRIC_INL VisitorResult eq::fabric::Window< P, W, C >::accept | ( | Visitor & | visitor | ) |
Traverse this window and all children using a window visitor.
visitor | the visitor. |
EQFABRIC_INL VisitorResult eq::fabric::Window< P, W, C >::accept | ( | Visitor & | visitor | ) | const |
Const-version of accept().
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C >::deserialize | ( | co::DataIStream & | , |
const uint64_t | |||
) | [protected, virtual] |
Worker for unpack() and applyInstanceData().
This function is called with the dirty bits send by the master instance. The dirty bits are received beforehand, and do not need to be deserialized by the overriding method.
Reimplemented from eq::fabric::Object.
virtual ChangeType eq::fabric::Window< P, W, C >::getChangeType | ( | ) | const [inline, protected, virtual] |
Reimplemented from eq::fabric::Serializable.
Definition at line 200 of file include/eq/fabric/window.h.
const Channels& eq::fabric::Window< P, W, C >::getChannels | ( | ) | const [inline] |
Definition at line 59 of file include/eq/fabric/window.h.
const DrawableConfig& eq::fabric::Window< P, W, C >::getDrawableConfig | ( | ) | const [inline] |
Definition at line 62 of file include/eq/fabric/window.h.
int32_t eq::fabric::Window< P, W, C >::getIAttribute | ( | const IAttribute | attr | ) | const [inline] |
Definition at line 157 of file include/eq/fabric/window.h.
const P* eq::fabric::Window< P, W, C >::getPipe | ( | ) | const [inline] |
Definition at line 54 of file include/eq/fabric/window.h.
P* eq::fabric::Window< P, W, C >::getPipe | ( | ) | [inline] |
Definition at line 56 of file include/eq/fabric/window.h.
const PixelViewport& eq::fabric::Window< P, W, C >::getPixelViewport | ( | ) | const [inline] |
Definition at line 68 of file include/eq/fabric/window.h.
const Viewport& eq::fabric::Window< P, W, C >::getViewport | ( | ) | const [inline] |
Definition at line 74 of file include/eq/fabric/window.h.
bool eq::fabric::Window< P, W, C >::hasFixedViewport | ( | ) | const [inline] |
Definition at line 99 of file include/eq/fabric/window.h.
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C >::notifyDetach | ( | ) | [protected, virtual] |
Notify that this object will be deregistered or unmapped.
The method is called from the thread initiating the deregistration or unmapping, before the operation is executed.
Reimplemented from eq::fabric::Object.
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C >::serialize | ( | co::DataOStream & | , |
const uint64_t | |||
) | [protected, virtual] |
Worker for pack() and getInstanceData().
Override this and deserialize() if you want to distribute subclassed data.
This method is called with DIRTY_ALL from getInstanceData() and with the actual dirty bits from pack(), which also resets the dirty state afterwards. The dirty bits are transmitted beforehand, and do not need to be transmitted by the overriding method.
Reimplemented from eq::fabric::Object.
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C >::setDirty | ( | const uint64_t | bits | ) | [protected, virtual] |
Reimplemented from eq::fabric::Serializable.
void eq::fabric::Window< P, W, C >::setIAttribute | ( | const IAttribute | attr, |
const int32_t | value | ||
) | [inline] |
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C >::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.
pvp | the viewport in pixels. |
EQFABRIC_INL void eq::fabric::Window< P, W, C >::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.
vp | the fractional viewport. |