1// Aseprite Document Library
2// Copyright (c) 2019-2020 Igara Studio S.A.
3//
4// This file is released under the terms of the MIT license.
5// Read LICENSE.txt for more information.
6
7#ifndef DOC_LAYER_TILEMAP_H_INCLUDED
8#define DOC_LAYER_TILEMAP_H_INCLUDED
9#pragma once
10
11#include "doc/layer.h"
12#include "doc/tile.h"
13#include "doc/tileset.h"
14
15namespace doc {
16
17 class LayerTilemap : public LayerImage {
18 public:
19 explicit LayerTilemap(Sprite* sprite, const tileset_index tsi);
20 ~LayerTilemap();
21
22 Grid grid() const override;
23
24 // Returns the tileset of this layer. New automatically-created
25 // tiles should be stored into this tileset, and all tiles in the
26 // layer should share the same Grid spec.
27 Tileset* tileset() const { return m_tileset; }
28 tileset_index tilesetIndex() const { return m_tilesetIndex; }
29
30 void setTilesetIndex(tileset_index tsi);
31
32 private:
33 Tileset* m_tileset;
34 tileset_index m_tilesetIndex;
35 };
36
37} // namespace doc
38
39#endif
40