20 #ifndef EQ_FRAMEDATA_H 21 #define EQ_FRAMEDATA_H 25 #include <eq/fabric/frameData.h> 26 #include <co/object.h> 27 #include <lunchbox/monitor.h> 28 #include <lunchbox/spinLock.h> 32 namespace detail {
class FrameData; }
50 public lunchbox::Referenced
56 uint32_t internalFormat;
57 uint32_t externalFormat;
60 uint32_t compressorName;
61 uint32_t compressorFlags;
70 EQ_API
virtual ~FrameData();
75 EQ_API
const Images& getImages()
const;
84 EQ_API
void setAlphaUsage(
const bool useAlpha );
95 void setQuality(
const Frame::Buffer buffer,
const float quality );
107 void useCompressor(
const Frame::Buffer buffer,
const uint32_t name );
123 const DrawableConfig& config );
135 EQ_API
void resetPlugins();
153 const DrawableConfig& config,
155 const RenderContext& context );
167 EQ_API
bool isReady()
const;
170 EQ_API
void waitReady(
const uint32_t timeout = LB_TIMEOUT_INDEFINITE )
174 void setVersion(
const uint64_t version );
187 void addListener( Listener& listener );
195 void removeListener( Listener& listener );
199 bool addImage(
const co::ObjectVersion& frameDataVersion,
200 const PixelViewport& pvp,
const Zoom& zoom,
201 const RenderContext& context,
const uint32_t buffers,
202 const bool useAlpha, uint8_t* data );
203 void setReady(
const co::ObjectVersion& frameData,
207 virtual ChangeType getChangeType()
const {
return INSTANCE; }
208 virtual void getInstanceData( co::DataOStream& os );
209 virtual void applyInstanceData( co::DataIStream& is );
212 detail::FrameData*
const _impl;
216 const DrawableConfig& config,
217 const bool setQuality );
220 void _applyVersion(
const uint128_t& version );
223 void _setReady(
const uint64_t version );
225 LB_TS_VAR( _commandThread );
232 #endif // EQ_FRAMEDATA_H lunchbox::Monitor< uint32_t > Listener
Ready listener.
A channel represents a two-dimensional viewport within a Window.
EQ_API std::ostream & operator<<(std::ostream &os, const EventICommand &command)
Print the event command to the given output stream.
std::vector< PixelViewport > PixelViewports
A vector of eq::PixelViewport.
Buffer
Components of the frame are to be used during readback and assembly.
Type
The storage type for pixel data.
std::vector< Image * > Images
A vector of pointers to eq::Image.
A holder for multiple images.
The Equalizer client library.
A facility class to manage OpenGL objects across shared contexts.
A holder for a frame data and related parameters.
Holds a 2D pixel viewport with methods for manipulation.