1 /*
2  * PROJECT:     PAINT for ReactOS
3  * LICENSE:     LGPL
4  * FILE:        base/applications/mspaint/registry.h
5  * PURPOSE:     Offering functions dealing with registry values
6  * PROGRAMMERS: Benedikt Freisen
7  */
8 
9 #pragma once
10 
11 #define MAX_RECENT_FILES 4
12 
13 class RegistrySettings
14 {
15 private:
16     void LoadPresets(INT nCmdShow);
17 
18 public:
19     DWORD BMPHeight;
20     DWORD BMPWidth;
21     DWORD GridExtent;
22     DWORD NoStretching;
23     DWORD ShowThumbnail;
24     DWORD SnapToGrid;
25     DWORD ThumbHeight;
26     DWORD ThumbWidth;
27     DWORD ThumbXPos;
28     DWORD ThumbYPos;
29     DWORD UnitSetting;
30     WINDOWPLACEMENT WindowPlacement;
31 
32     CString strFiles[MAX_RECENT_FILES];
33 
34     CString strFontName;
35     DWORD PointSize;
36     DWORD Bold;
37     DWORD Italic;
38     DWORD Underline;
39     DWORD CharSet;
40     DWORD FontsPositionX;
41     DWORD FontsPositionY;
42     DWORD ShowTextTool;
43     DWORD ShowStatusBar;
44     DWORD ShowPalette;
45     DWORD ShowToolBox;
46     DWORD Bar1ID;
47     DWORD Bar2ID;
48 
49 // Values for Bar1ID.
50 // I think these values are Win2k3 mspaint compatible but sometimes not working...
51 #define BAR1ID_TOP    0x0000e81b
52 #define BAR1ID_BOTTOM 0x0000e81e
53 
54 // Values for Bar2ID.
55 // I think these values are Win2k3 mspaint compatible but sometimes not working...
56 #define BAR2ID_LEFT   0x0000e81c
57 #define BAR2ID_RIGHT  0x0000e81d
58 
59     enum WallpaperStyle {
60         TILED,
61         CENTERED,
62         STRETCHED
63     };
64 
65     static void SetWallpaper(LPCTSTR szFileName, WallpaperStyle style);
66 
67     void Load(INT nCmdShow);
68     void Store();
69     void SetMostRecentFile(LPCTSTR szPathName);
70 };
71