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_CONFIGURE_TIMELINE_POPUP_H_INCLUDED
8#define APP_UI_CONFIGURE_TIMELINE_POPUP_H_INCLUDED
9#pragma once
10
11#include "app/pref/preferences.h"
12#include "doc/anidir.h"
13#include "ui/popup_window.h"
14
15namespace ui {
16 class Button;
17 class CheckBox;
18 class RadioButton;
19 class Slider;
20}
21
22namespace app {
23 namespace gen {
24 class TimelineConf;
25 }
26
27 class Doc;
28
29 class ConfigureTimelinePopup : public ui::PopupWindow {
30 public:
31 ConfigureTimelinePopup();
32
33 protected:
34 bool onProcessMessage(ui::Message* msg) override;
35 void onChangePosition();
36 void onChangeFirstFrame();
37 void onChangeType();
38 void onOpacity();
39 void onOpacityStep();
40 void onResetOnionskin();
41 void onLoopTagChange();
42 void onCurrentLayerChange();
43 void onPositionChange();
44
45 void onZoomChange();
46 void onThumbEnabledChange();
47 void onThumbOverlayEnabledChange();
48 void onThumbOverlaySizeChange();
49
50 private:
51 void updateWidgetsFromCurrentSettings();
52 Doc* doc();
53 DocumentPreferences& docPref();
54
55 app::gen::TimelineConf* m_box;
56 bool m_lockUpdates;
57 };
58
59} // namespace app
60
61#endif
62