1// Aseprite
2// Copyright (C) 2019 Igara Studio S.A.
3// Copyright (C) 2001-2018 David Capello
4//
5// This program is distributed under the terms of
6// the End-User License Agreement for Aseprite.
7
8#ifndef APP_LOOP_TAG_H_INCLUDED
9#define APP_LOOP_TAG_H_INCLUDED
10#pragma once
11
12#include "doc/frame.h"
13
14namespace doc {
15 class Sprite;
16 class Tag;
17}
18
19namespace app {
20
21 class TagProvider {
22 public:
23 virtual ~TagProvider() { }
24 virtual doc::Tag* getTagByFrame(const doc::frame_t frame,
25 const bool getLoopTagIfNone) = 0;
26 };
27
28 doc::Tag* get_animation_tag(const doc::Sprite* sprite, doc::frame_t frame);
29 doc::Tag* get_loop_tag(const doc::Sprite* sprite);
30 doc::Tag* create_loop_tag(doc::frame_t from, doc::frame_t to);
31
32} // namespace app
33
34#endif
35