tmxlite: tmx::Layer Class Reference

tmxlite 1.0.0 lightweight parse for Tiled maps

Public Types | Public Member Functions | Protected Member Functions | List of all members
tmx::Layer Class Referenceabstract

Represents a layer of a tmx format tile map. This is an abstract base class from which all layer types are derived. More...

`#include <Layer.hpp>`

Inheritance diagram for tmx::Layer:

## Public Types
enum class | Type { Tile , Object , Image , Group }
| Layer type as returned by getType() Tile: this layer is a TileLayer type Object: This layer is an ObjectGroup type Image: This layer is an ImageLayer type Group: This layer is a LayerGroup type.
using | Ptr = std::unique_ptr<Layer>

## Public Member Functions
virtual Type | getType () const =0
| Returns a Type value representing the concrete type. Use this when deciding which concrete layer type to use when calling the templated function getLayerAs<T>().
const std::string & | getClass () const
| Returns the class of the Layer, as defined in the editor Tiled 1.9+.
template<typename T>
T & | getLayerAs ()
| Use this to get a reference to the concrete layer type which this layer points to. Use getType() to return the type value of this layer and determine if the concrete type is TileLayer, ObjectGroup, ImageLayer, or LayerGroup.
template<typename T>
const T & | getLayerAs () const
virtual void | parse (const pugi::xml_node &, Map *=nullptr)=0
| Attempts to parse the specific node layer type.
const std::string & | getName () const
| Returns the name of the layer.
float | getOpacity () const
| Returns the opacity value for the layer.
bool | getVisible () const
| Returns whether this layer is visible or not.
const Vector2i & | getOffset () const
| Returns the offset from the top left corner of the layer, in pixels.
const Vector2f & | getParallaxFactor () const
| Returns the parallax factor.
Colour | getTintColour () const
| Returns the tint colour of the layer. Defaults to 0xFFFFFFFF - pure white.
const Vector2u & | getSize () const
| Returns the size of the layer, in pixels. This will be the same as the map size for fixed size maps.
const std::vector< Property > & | getProperties () const
| Returns the list of properties of this layer.
template<>
ImageLayer & | getLayerAs ()
template<>
const ImageLayer & | getLayerAs () const
template<>
LayerGroup & | getLayerAs ()
template<>
const LayerGroup & | getLayerAs () const
template<>
ObjectGroup & | getLayerAs ()
template<>
const ObjectGroup & | getLayerAs () const
template<>
TileLayer & | getLayerAs ()
template<>
const TileLayer & | getLayerAs () const

## Protected Member Functions
void | setName (const std::string &name)
void | setClass (const std::string &cls)
void | setOpacity (float opacity)
void | setVisible (bool visible)
void | setOffset (std::int32_t x, std::int32_t y)
void | setParallaxFactor (float x, float y)
void | setTintColour (Colour c)
void | setSize (std::uint32_t width, std::uint32_t height)
void | addProperty (const pugi::xml_node &node)

## Detailed Description

Represents a layer of a tmx format tile map. This is an abstract base class from which all layer types are derived.

## Member Function Documentation

## ◆ getType()

virtual Type tmx::Layer::getType | ( |  | ) | const
| pure virtual

Returns a Type value representing the concrete type. Use this when deciding which concrete layer type to use when calling the templated function getLayerAs<T>().

Implemented in tmx::ImageLayer, tmx::LayerGroup, tmx::ObjectGroup, and tmx::TileLayer.

## ◆ parse()

virtual void tmx::Layer::parse | ( | const pugi::xml_node & | ,
|  | Map * | = nullptr )
| pure virtual

Attempts to parse the specific node layer type.

Implemented in tmx::ImageLayer, tmx::LayerGroup, tmx::ObjectGroup, and tmx::TileLayer.

The documentation for this class was generated from the following files:

- D:/W/B/src/tmxlite-1.4.5/tmxlite/include/tmxlite/Layer.hpp
- D:/W/B/src/tmxlite-1.4.5/tmxlite/include/tmxlite/ImageLayer.hpp
- D:/W/B/src/tmxlite-1.4.5/tmxlite/include/tmxlite/LayerGroup.hpp
- D:/W/B/src/tmxlite-1.4.5/tmxlite/include/tmxlite/ObjectGroup.hpp
- D:/W/B/src/tmxlite-1.4.5/tmxlite/include/tmxlite/TileLayer.hpp