1 // Aseprite
2 // Copyright (C) 2001-2016  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_PALETTES_H_INCLUDED
8 #define APP_MODULES_PALETTES_H_INCLUDED
9 #pragma once
10 
11 #include <string>
12 
13 namespace doc {
14   class Palette;
15 }
16 
17 namespace app {
18   using namespace doc;
19 
20   int init_module_palette();
21   void exit_module_palette();
22 
23   // Loads the default palette or creates it. Also it migrates the
24   // palette if the palette format changes, etc.
25   void load_default_palette();
26 
27   Palette* get_default_palette();
28   Palette* get_current_palette();
29 
30   void set_default_palette(const Palette* palette);
31   bool set_current_palette(const Palette* palette, bool forced);
32 
33   std::string get_preset_palette_filename(const std::string& preset,
34                                           const std::string& dot_extension);
35   std::string get_default_palette_preset_name();
36 
37 } // namespace app
38 
39 #endif
40