/usr/include/libcoyotl/maze_renderer.h is in libcoyotl-dev 3.1.0-6ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | //---------------------------------------------------------------------
// Algorithmic Conjurings @ http://www.coyotegulch.com
//
// maze_renderer.h (libcoyotl)
//
// Maze generation and exploration tools
//-----------------------------------------------------------------------
//
// Copyright 1990-2005 Scott Robert Ladd
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the
// Free Software Foundation, Inc.
// 59 Temple Place - Suite 330
// Boston, MA 02111-1307, USA.
//
//-----------------------------------------------------------------------
//
// For more information on this software package, please visit
// Scott's web site, Coyote Gulch Productions, at:
//
// http://www.coyotegulch.com
//
//-----------------------------------------------------------------------
#if !defined(LIBCOYOTL_MAZERENDERER_H)
#define LIBCOYOTL_MAZERENDERER_H
#include "maze.h"
namespace libcoyotl
{
//! Renders a <i>maze</i> object
/*!
A <i>maze_renderer</i> creates an image of a maze as a black-and-white
PNG (Portable Network Graphics) file. This class requires libpng and zlib.
*/
class maze_renderer
{
public:
//! Renders a maze to a PNG file with a specific cell size.
/*!
Renders a maze object to a PNG file, using a specified cell size.
\param a_source - The maze to be rendered
\param a_filename - The name of the file to be created
\param a_grid_size - The dimension (in pixels) of a rendered cell (always square)
*/
static void render(const libcoyotl::maze & a_source, const std::string & a_filename, size_t a_grid_size);
private:
// A type for handling mage images
class image
{
public:
// constructor
image(const maze & source, size_t grid_size);
// destructor
~image();
// properties
unsigned char ** get_bits() const
{
return m_bits;
}
int get_width() const
{
return m_width;
}
int get_height() const
{
return m_height;
}
private:
// maze width
int m_width;
// naze height
int m_height;
// bits representing the maze
unsigned char ** m_bits;
};
};
}
#endif
|