#define _MOOF_TEXTURE_HH_
/**
- * @file Texture.hh
+ * \file texture.hh
* Image-loading and OpenGL texture loading.
*/
#include <boost/shared_ptr.hpp>
-#include <Moof/Image.hh>
-#include <Moof/OpenGL.hh>
+#include <moof/image.hh>
+#include <moof/opengl.hh>
-namespace Mf {
+namespace moof {
-class Texture;
-typedef boost::shared_ptr<Texture> TextureP;
+class texture;
+typedef boost::shared_ptr<texture> texture_ptr;
-class Texture : public Image
+class texture : public image
{
public:
+ static const int no_tile = -1;
+
/**
* Possible orientations for texture coordinates.
*/
-
- typedef unsigned TileIndex;
- static const TileIndex NO_TILE = -1;
-
typedef enum
{
- NORMAL = 0, ///< Normal orientation.
- FLIP = 1, ///< Flip over a horizontal axis.
- REVERSE = 2, ///< Flip over a vertical axis.
- FLIP_AND_REVERSE = 3 ///< Flip over both.
- } Orientation;
+ normal = 0, ///< Normal orientation.
+ flip = 1, ///< Flip over a horizontal axis.
+ reverse = 2, ///< Flip over a vertical axis.
+ flip_and_reverse = 3 ///< Flip over both.
+ } orientation;
- static TextureP alloc(const std::string& name)
+ static texture_ptr alloc(const std::string& name)
{
- return TextureP(new Texture(name));
+ return texture_ptr(new texture(name));
}
- explicit Texture(const std::string& name);
+ explicit texture(const std::string& name);
void bind() const;
- GLuint getObject() const;
+ GLuint object() const;
- static void resetBind();
+ static void reset_binding();
- void setMinFilter(GLuint filter);
- void setMagFilter(GLuint filter);
- void setWrapS(GLuint wrap);
- void setWrapT(GLuint wrap);
+ void min_filter(GLuint filter);
+ void mag_filter(GLuint filter);
+ void wrap_s(GLuint wrap);
+ void wrap_t(GLuint wrap);
/**
* Calculate texture coordinates for a tile at a certain index. Tiles
* are indexed start with zero as the to-left tile and moving across,
* then down.
- * @param index The tile index.
- * @param coords An array of scalars where the texture coordinates will
+ * \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
* stored, therefore requiring enough room for an array of eight
* scalars. The winding of the coordinates is always counter-clockwise
* (the GL default).
- * @return True if index is valid, false otherwise.
+ * \return True if index is valid, false otherwise.
*/
-
- bool getTileCoords(TileIndex index, Scalar coords[8]) const;
-
+ bool tile_coordinates(int index, scalar coords[8]) const;
/**
* This version let's you specify an orientation that will be reflected
* in the texture coordinates. This allows you to easily map a texture
* backwards or upside-down.
- * @param what The orientation; can be flip, reverse, or
+ * \param what The orientation; can be flip, reverse, or
* flip_and_reverse.
- * @return True if index is valid, false otherwise.
+ * \return True if index is valid, false otherwise.
*/
+ bool tile_coordinates(int index, scalar coords[8], orientation what) const;
- bool getTileCoords(TileIndex index, Scalar coords[8],
- Orientation what) const;
+ static bool find_path(std::string& name);
- static bool getPath(std::string& name);
private:
- class Impl;
- boost::shared_ptr<Impl> mImpl;
+ class impl;
+ boost::shared_ptr<impl> impl_;
};
-} // namespace Mf
+} // namespace moof
#endif // _MOOF_TEXTURE_HH_