#ifndef _MOOF_IMAGE_HH_
#define _MOOF_IMAGE_HH_
-/**
- * \file image.hh
- * Defines classes for loading and manipulating images.
- */
-
#include <boost/noncopyable.hpp>
#include <moof/dispatcher.hh>
#include <moof/resource.hh>
+/**
+ * \file image.hh
+ * Defines classes for loading and manipulating images.
+ */
+
namespace moof {
return channels_;
}
- std::string comment() const
- {
- return comment_;
- }
-
const char* pixels() const
{
return pixels_;
* are indexed start with zero as the top-left tile and moving across,
* then down.
* \param index The tile index.
- * \param coords An array of scalars where the texture coordinates will
- * be stored after this call. The first coordinate (u,v) will be in
- * the first two places and so on until all four coordinates are
+ * \param coords An array of scalars where the texture coordinates
+ * will be stored after this call. The first coordinate (u,v) will be
+ * in the first two places and so on until all four coordinates are
* stored, therefore requiring enough room for an array of eight
- * scalars. The winding of the coordinates is always counter-clockwise
- * (the GL default).
+ * scalars. The winding of the coordinates is always
+ * counter-clockwise (the GL default).
* \return True if index is valid, false otherwise.
*/
bool tile_coordinates(int index, scalar coords[8]) const;
+ void fix_uv(std::vector<vector2>& p) const;
+
void bind() const;
static void reset_binding();
private:
+ void postprocess();
void upload_to_gl() const;
void unload_from_gl() const;
void context_recreated();
void set_properties() const;
- void set_texture_info(const std::string& info);
char* pixels_;
int pitch_;
int channels_;
- std::string comment_;
-
unsigned min_filter_;
unsigned mag_filter_;
int tile_s_;