more leaks plugged and more *_OPTIONAL
[dia.git] / app / preferences.h
blob4c739b25b36e5e286b8e210595695b3dcc319705
1 /* Dia -- an diagram creation/manipulation program
2 * Copyright (C) 1999 Alexander Larsson
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 #ifndef PREFERENCES_H
19 #define PREFERENCES_H
21 #include "geometry.h"
22 #include "color.h"
23 #include "diagram_tree_window.h"
24 #include "diagramdata.h"
26 #define DEFAULT_GRID_COLOR { 0.85, .90, .90 }
27 #define DEFAULT_PAGEBREAK_COLOR { 0.0, 0.0, 0.6 }
29 struct DiaPreferences {
30 struct {
31 int visible;
32 int snap;
33 gboolean dynamic;
34 real x;
35 real y;
36 int major_lines;
37 } grid;
39 struct {
40 int width;
41 int height;
42 real zoom;
43 int use_menu_bar;
44 } new_view;
46 NewDiagramData new_diagram;
48 int show_cx_pts;
49 int reset_tools_after_create;
50 int undo_depth;
51 int reverse_rubberbanding_intersects;
52 guint recent_documents_list_size;
54 struct {
55 int visible;
56 int solid;
57 } pagebreak;
59 int render_bounding_boxes;
60 int prefer_psprint;
62 int toolbox_on_top;
63 int recent_sheet;
65 DiagramTreeConfig dia_tree;
68 extern struct DiaPreferences prefs;
70 void prefs_show(void);
71 void prefs_set_defaults(void);
72 void prefs_save(void);
73 void prefs_load(void);
75 #endif /* DIA_IMAGE_H */