1// Aseprite
2// Copyright (C) 2016 David Capello
3//
4// This program is distributed under the terms of
5// the End-User License Agreement for Aseprite.
6
7#ifndef APP_RESTORE_VISIBLE_LAYERS_H_INCLUDED
8#define APP_RESTORE_VISIBLE_LAYERS_H_INCLUDED
9#pragma once
10
11#include <vector>
12
13namespace doc {
14 class Layer;
15 class LayerGroup;
16 class SelectedLayers;
17 class Sprite;
18}
19
20namespace app {
21
22 class RestoreVisibleLayers {
23 public:
24 ~RestoreVisibleLayers();
25
26 void showLayer(doc::Layer* layer);
27 void showSelectedLayers(doc::Sprite* sprite, const doc::SelectedLayers& selLayers);
28
29 private:
30 void setLayerVisiblity(doc::LayerGroup* group, const doc::SelectedLayers& selLayers);
31
32 std::vector<std::pair<doc::Layer*, bool> > m_restore;
33 };
34
35} // namespace app
36
37#endif
38