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_MODULES_GUI_H_INCLUDED
8 #define APP_MODULES_GUI_H_INCLUDED
9 #pragma once
10 
11 #include "app/ui/skin/skin_property.h"
12 #include "base/exception.h"
13 #include "gfx/rect.h"
14 #include "ui/base.h"
15 
16 namespace ui {
17   class ButtonBase;
18   class CheckBox;
19   class Message;
20   class RadioButton;
21   class Widget;
22   class Window;
23 }
24 
25 namespace app {
26   class Command;
27   class Doc;
28   class Params;
29 
30   namespace tools {
31     class Tool;
32   }
33 
34   int init_module_gui();
35   void exit_module_gui();
36 
37   void update_screen_for_document(const Doc* document);
38 
39   void load_window_pos(ui::Widget* window, const char *section);
40   void save_window_pos(ui::Widget* window, const char *section);
41 
42   ui::Widget* setup_mini_font(ui::Widget* widget);
43   ui::Widget* setup_mini_look(ui::Widget* widget);
44 
45   // This function can be used to reinvalidate a specific rectangle if
46   // we weren't able to validate it on a onPaint() event. E.g. Because
47   // the current document was locked.
48   void defer_invalid_rect(const gfx::Rect& rc);
49 
50 } // namespace app
51 
52 #endif
53