#ifndef _TCOD_FOV_H
#define _TCOD_FOV_H
#include "libtcod_portability.h"
#include "fov_types.h"
#ifdef __cplusplus
extern "C" {
#endif
TCODLIB_API TCOD_map_t TCOD_map_new(int width, int height);
TCODLIB_API void TCOD_map_clear(TCOD_map_t map, bool transparent, bool walkable);
TCODLIB_API void TCOD_map_copy(TCOD_map_t source, TCOD_map_t dest);
TCODLIB_API void TCOD_map_set_properties(TCOD_map_t map, int x, int y, bool is_transparent, bool is_walkable);
TCODLIB_API void TCOD_map_delete(TCOD_map_t map);
TCODLIB_API void TCOD_map_compute_fov(TCOD_map_t map, int player_x, int player_y, int max_radius, bool light_walls, TCOD_fov_algorithm_t algo);
TCODLIB_API bool TCOD_map_is_in_fov(TCOD_map_t map, int x, int y);
TCODLIB_API void TCOD_map_set_in_fov(TCOD_map_t map, int x, int y, bool fov);
TCODLIB_API bool TCOD_map_is_transparent(TCOD_map_t map, int x, int y);
TCODLIB_API bool TCOD_map_is_walkable(TCOD_map_t map, int x, int y);
TCODLIB_API int TCOD_map_get_width(TCOD_map_t map);
TCODLIB_API int TCOD_map_get_height(TCOD_map_t map);
TCODLIB_API int TCOD_map_get_nb_cells(TCOD_map_t map);
#ifdef __cplusplus
}
#endif
#endif