1 // Aseprite 2 // Copyright (C) 2001-2017 David Capello 3 // 4 // This program is distributed under the terms of 5 // the End-User License Agreement for Aseprite. 6 7 #ifndef APP_UI_EDITOR_CUSTOMIZATION_DELEGATE_H_INCLUDED 8 #define APP_UI_EDITOR_CUSTOMIZATION_DELEGATE_H_INCLUDED 9 #pragma once 10 11 #include "app/ui/keyboard_shortcuts.h" 12 13 namespace tools { 14 class Tool; 15 } 16 17 namespace app { 18 class Editor; 19 class FrameTagProvider; 20 21 class EditorCustomizationDelegate { 22 public: ~EditorCustomizationDelegate()23 virtual ~EditorCustomizationDelegate() { } 24 virtual void dispose() = 0; 25 26 // Called to know if the user is pressing a keyboard shortcut to 27 // select another tool temporarily (a "quick tool"). The given 28 // "currentTool" is the current tool selected in the toolbox. 29 virtual tools::Tool* getQuickTool(tools::Tool* currentTool) = 0; 30 31 // Returns what action is pressed at this moment. 32 virtual KeyAction getPressedKeyAction(KeyContext context) = 0; 33 34 // Returns the provider of active frame tag (it's the timeline). 35 virtual FrameTagProvider* getFrameTagProvider() = 0; 36 }; 37 38 } // namespace app 39 40 #endif // APP_UI_EDITOR_CUSTOMIZATION_DELEGATE_H_INCLUDED 41