20 #ifndef LUNCHBOX_DOWNLOADER_H 
   21 #define LUNCHBOX_DOWNLOADER_H 
   25 #include <lunchbox/thread.h>          
   29 namespace detail { 
class Downloader; }
 
   48                              const GLEWContext* gl = 0 );
 
   54     LUNCHBOX_API 
bool isGood() 
const;
 
   60     LUNCHBOX_API 
bool uses( 
const uint32_t name ) 
const;
 
   66     LUNCHBOX_API 
bool supports( 
const uint32_t inputToken, 
const bool noAlpha,
 
   67                                 const uint64_t capabilities ) 
const;
 
   86                                          const uint32_t internalFormat,
 
   87                                          const float minQuality,
 
   88                                          const bool ignoreAlpha,
 
   89                                          const uint64_t capabilities,
 
   90                                          const GLEWContext* gl );
 
  106                              const GLEWContext* gl = 0 );
 
  114                              const float minQuality, 
const bool ignoreAlpha,
 
  115                              const uint64_t capabilities,
 
  116                              const GLEWContext* gl );
 
  119     LUNCHBOX_API 
void clear();
 
  134     LUNCHBOX_API 
bool start( 
void** buffer, 
const uint64_t inDims[4],
 
  135                              const uint64_t flags, uint64_t outDims[4],
 
  136                              const unsigned source, 
const GLEWContext* gl );
 
  148     LUNCHBOX_API 
void finish( 
void** buffer, 
const uint64_t inDims[4],
 
  149                               const uint64_t flags, uint64_t outDims[4],
 
  150                               const GLEWContext* gl );
 
  153     detail::Downloader* 
const impl_;
 
  154     LB_TS_VAR( _thread );
 
  157 #endif  // LUNCHBOX_DOWNLOADER_H 
A registry for loaded plugins. 
 
LUNCHBOX_API bool isGood() const 
 
virtual LUNCHBOX_API ~Downloader()
Destruct this downloader. 
 
Defines export visibility macros for Lunchbox. 
 
Basic type definitions not provided by the operating system. 
 
A C++ class to handle one downloader plugin instance. 
 
LUNCHBOX_API bool supports(const uint32_t inputToken, const bool noAlpha, const uint64_t capabilities) const 
 
Information about one compressor. 
 
LUNCHBOX_API bool start(void **buffer, const uint64_t inDims[4], const uint64_t flags, uint64_t outDims[4], const unsigned source, const GLEWContext *gl)
Start downloading data from the GPU to the CPU. 
 
LUNCHBOX_API bool uses(const uint32_t name) const 
 
LUNCHBOX_API void finish(void **buffer, const uint64_t inDims[4], const uint64_t flags, uint64_t outDims[4], const GLEWContext *gl)
Finish download data from the GPU to the CPU. 
 
static LUNCHBOX_API uint32_t choose(const PluginRegistry &from, const uint32_t internalFormat, const float minQuality, const bool ignoreAlpha, const uint64_t capabilities, const GLEWContext *gl)
Find the best downloader in all plugins for the given parameters. 
 
LUNCHBOX_API const EqCompressorInfo & getInfo() const 
 
LUNCHBOX_API bool setup(PluginRegistry &from, const uint32_t name, const GLEWContext *gl=0)
Set up a new, named downloader instance. 
 
LUNCHBOX_API void clear()
Reset to EQ_COMPRESSOR_NONE. 
 
LUNCHBOX_API Downloader()
Construct a new, invalid downloader instance.