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