X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FTilemap.hh;fp=src%2FMoof%2FTilemap.hh;h=0000000000000000000000000000000000000000;hp=942a5e9c899d42ef6152a9fc7df8402ded3050d2;hb=23d8f7a5fbd1eca7f46f2342c20ac5e28ae0128a;hpb=fa9438c66ae0154e6d9ad196e0fb39649d359da4 diff --git a/src/Moof/Tilemap.hh b/src/Moof/Tilemap.hh deleted file mode 100644 index 942a5e9..0000000 --- a/src/Moof/Tilemap.hh +++ /dev/null @@ -1,113 +0,0 @@ - -/******************************************************************************* - - Copyright (c) 2009, Charles McGarvey - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*******************************************************************************/ - -#ifndef _MOOF_TILEMAP_HH_ -#define _MOOF_TILEMAP_HH_ - -/** - * @file Tilemap.hh - * Small subclass to give some basic tile-mapping functionality to textures. - */ - -#include - -#include -#include - - -namespace Mf { - - -/** - * A tilemap is a texture which is meant to be divided into smaller sprites. - * This class provides all the functionality of a texture and adds some methods - * to get texture coordinates to individual tiles within the tilemap. For - * simplicity, this class assumes square tiles. - */ - -class Tilemap : public Texture -{ -public: - /** - * Possible orientations for texture coordinates. - */ - - typedef unsigned Index; - static const Index 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; - - - Tilemap(const std::string& name); - - /** - * 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 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. - */ - - bool getTileCoords(Index 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 flip_and_reverse. - * @return True if index is valid, false otherwise. - */ - - bool getTileCoords(Index index, Scalar coords[8], Orientation what) const; - - - static std::string getPath(const std::string& name); - -private: - class Impl; - boost::shared_ptr impl_; -}; - - -} // namespace Mf - -#endif // _MOOF_TILEMAP_HH_ - -/** vim: set ts=4 sw=4 tw=80: *************************************************/ -