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