- Image& operator=(const Image& rhs);
-
- /**
- * @brief This method is defined to allow assignment of the NULL value,
- * and will throw an exception if passed any other value.
- *
- * Assigning to NULL is an alias for Reset().
- * @param [in] rhs A NULL pointer
- * @return A reference to this handle
- */
- Image& operator=(BaseHandle::NullType* rhs);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @return A handle to a newly allocated object
- */
- static Image New(const std::string& filename);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] loadPol The LoadPolicy to apply when loading the image resource.
- * @param [in] releasePol The ReleasePolicy to apply to Image.
- * @return A handle to a newly allocated object
- */
- static Image New(const std::string& filename, LoadPolicy loadPol, ReleasePolicy releasePol);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] attributes Requested parameters for loading (size, scaling etc.).
- * @return A handle to a newly allocated object
- */
- static Image New(const std::string& filename, const ImageAttributes& attributes);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] attributes Requested parameters for loading (size, scaling etc.).
- * @param [in] loadPol The LoadPolicy to apply when loading the image resource.
- * @param [in] releasePol The ReleasePolicy to apply to Image.
- * @return A handle to a newly allocated object
- */
- static Image New(const std::string& filename, const ImageAttributes& attributes, LoadPolicy loadPol, ReleasePolicy releasePol);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @return A handle to a newly allocated object
- */
- static Image NewDistanceField(const std::string& filename);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] loadPol The LoadPolicy to apply when loading the image resource.
- * @param [in] releasePol The ReleasePolicy to apply to Image.
- * @return A handle to a newly allocated object
- */
- static Image NewDistanceField(const std::string& filename, LoadPolicy loadPol, ReleasePolicy releasePol);
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] attributes The minimum search radius to check for differing pixels
- * @return A handle to a newly allocated object
- */
- static Image NewDistanceField(const std::string& filename, const ImageAttributes& attributes );
-
- /**
- * @brief Create an initialised image object.
- *
- * @param [in] filename The filename of the image file to use.
- * @param [in] attributes The minimum search radius to check for differing pixels
- * @param [in] loadPol The LoadPolicy to apply when loading the image resource.
- * @param [in] releasePol The ReleasePolicy to apply to Image.
- * @return A handle to a newly allocated object
- */
- static Image NewDistanceField(const std::string& filename, const ImageAttributes& attributes, LoadPolicy loadPol, ReleasePolicy releasePol);
-
- /**
- * @brief Creates object with already loaded NativeImage.
- *
- * The maximum size of the image is limited by GL_MAX_TEXTURE_SIZE
- * @pre nativeImg should be initialised
- * @param [in] nativeImg already initialised NativeImage
- * @return A handle to a newly allocated object
- */
- static Image New(NativeImage& nativeImg);
-
- /**
- * @brief Creates object with already loaded NativeImage.
- *
- * The maximum size of the image is limited by GL_MAX_TEXTURE_SIZE
- * @pre nativeImg should be initialised
- * @param [in] nativeImg already initialised NativeImage
- * @param [in] loadPol The LoadPolicy to apply when allocating the GL resource.
- * @param [in] releasePol The ReleasePolicy to apply to Image.
- * @return A handle to a newly allocated object
- */
- static Image New(NativeImage& nativeImg, LoadPolicy loadPol, ReleasePolicy releasePol);
-
- /**
- * @brief Downcast an Object handle to Image handle.
- *
- * If handle points to a Image object the
- * downcast produces valid handle. If not the returned handle is left uninitialized.
- * @param[in] handle to An object
- * @return handle to a Image object or an uninitialized handle
- */
- static Image DownCast( BaseHandle handle );