From 2c0b722536a4ec2f723c289b695b983741c678f8 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 Nov 2012 14:25:59 +0000 Subject: commit windows binaries from old rsync auto-build setup, including Gem 0.93.1 svn path=/trunk/; revision=16520 --- .../windows/extra/Gem/dev/plugins/imageloader.h | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h (limited to 'packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h') diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h b/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h new file mode 100644 index 00000000..111ad822 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h @@ -0,0 +1,75 @@ +/* ----------------------------------------------------------------- + +GEM - Graphics Environment for Multimedia + +Load an image and return the frame(OS independant interface) + +Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at +For information on usage and redistribution, and for a DISCLAIMER OF ALL +WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution. + +-----------------------------------------------------------------*/ + +#ifndef _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_ +#define _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_ + +#include "Gem/Image.h" +#include "Gem/Properties.h" + +#include + +/*----------------------------------------------------------------- + ------------------------------------------------------------------- + CLASS + imageloader + + interface for the system- and library-dependent imageloader classes + + KEYWORDS + pix load an image + + DESCRIPTION + + -----------------------------------------------------------------*/ +namespace gem { namespace plugins { + class GEM_EXTERN imageloader + { + public: + + ////////// + // returns an instance wrapping all plugins or NULL + // if NULL is returned, you might still try your luck with manually accessing the + // PluginFactory + static imageloader*getInstance(void); + + //////// + // dtor must be virtual + virtual ~imageloader(void); + + /* read a image + * + * props can be filled by the loader with additional information on the image + * e.g. EXIF tags,... + */ + /* returns TRUE if loading was successfull, FALSE otherwise */ + virtual bool load(std::string filename, + imageStruct&result, + gem::Properties&props) = 0; + + /* returns TRUE if this object can be used from within a thread */ + virtual bool isThreadable(void) = 0; + }; + + };}; // namespace gem + + +/** + * \fn REGISTER_IMAGELOADERFACTORY(const char *id, Class imageloaderClass) + * registers a new class "imageloaderClass" with the imageloader-factory + * + * \param id a symbolic (const char*) ID for the given class + * \param imageloaderClass a class derived from "imageloader" + */ +#define REGISTER_IMAGELOADERFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar fac_imageloader_ ## TYP (id) + +#endif // for header file -- cgit v1.2.1