ReactOS  0.4.14-dev-49-gfb4591c
desk.h
Go to the documentation of this file.
1 #ifndef _DESK_H
2 #define _DESK_H
3 
4 #include <stdarg.h>
5 
6 #define WIN32_NO_STATUS
7 #define _INC_WINDOWS
8 #define COM_NO_WINDOWS_H
9 
10 #define COBJMACROS
11 
12 #include <windef.h>
13 #include <winbase.h>
14 #include <winreg.h>
15 #include <wingdi.h>
16 #include <winuser.h>
17 #include <wincon.h>
18 #include <commdlg.h>
19 #include <cpl.h>
20 #include <tchar.h>
21 #include <setupapi.h>
22 #include <shlobj.h>
23 #include <regstr.h>
24 #include <dll/desk/deskcplx.h>
25 #include <strsafe.h>
26 #include <gdiplus.h>
27 
28 #include "appearance.h"
29 #include "preview.h"
30 #include "draw.h"
31 #include "monslctl.h"
32 
33 #include "resource.h"
34 
35 typedef struct _APPLET
36 {
37  int idIcon;
38  int idName;
41 } APPLET, *PAPPLET;
42 
43 typedef struct _DIBITMAP
44 {
50 
51 extern HINSTANCE hApplet;
52 
53 HMENU
55  IN LPCTSTR lpMenuName);
56 
57 PDIBITMAP DibLoadImage(LPTSTR lpFilename);
58 VOID DibFreeImage(PDIBITMAP lpBitmap);
59 
60 INT AllocAndLoadString(LPTSTR *lpTarget,
62  UINT uID);
63 
65 
66 #define MAX_DESK_PAGES 32
67 #define NUM_SPECTRUM_BITMAPS 3
68 
69 /* As slider control can't contain user data, we have to keep an
70  * array of RESOLUTION_INFO to have our own associated data.
71  */
72 typedef struct _RESOLUTION_INFO
73 {
77 
78 typedef struct _SETTINGS_ENTRY
79 {
80  struct _SETTINGS_ENTRY *Blink;
81  struct _SETTINGS_ENTRY *Flink;
87 
88 typedef struct _DISPLAY_DEVICE_ENTRY
89 {
96  PSETTINGS_ENTRY Settings; /* Sorted by increasing dmPelsHeight, BPP */
100  PSETTINGS_ENTRY CurrentSettings; /* Points into Settings list */
103 
104 typedef struct _GLOBAL_DATA
105 {
110 
112 extern HWND hCPLWindow;
113 
114 BOOL
116 
117 IDataObject *
118 CreateDevSettings(PDISPLAY_DEVICE_ENTRY DisplayDeviceInfo);
119 
121 
124 
125 LONG
127  IN LPCWSTR pszValue OPTIONAL,
128  OUT LPWSTR pszOutBuf,
129  IN DWORD cbOutBuf,
131  IN DWORD Flags,
132  IN LPCWSTR pszDirectory OPTIONAL);
133 
134 #endif /* _DESK_H */
struct _APPLET APPLET
PSETTINGS_ENTRY CurrentSettings
Definition: precomp.h:79
#define IN
Definition: typedefs.h:38
HINSTANCE hApplet
Definition: access.c:17
GLOBAL_DATA g_GlobalData
Definition: background.c:84
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
struct _SETTINGS_ENTRY * Blink
Definition: precomp.h:60
DWORD dmDisplayFrequency
Definition: desk.h:85
VOID DibFreeImage(PDIBITMAP lpBitmap)
Definition: dibitmap.c:90
SETTINGS_ENTRY InitialSettings
Definition: precomp.h:80
#define __cdecl
Definition: accygwin.h:79
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
UINT height
Definition: desk.h:48
struct _DISPLAY_DEVICE_ENTRY * Flink
Definition: precomp.h:69
HWND hCPLWindow
Definition: access.c:18
COLORREF desktop_color
Definition: desk.h:106
LONG(APIENTRY * APPLET_PROC)(HWND, UINT, LPARAM, LPARAM)
Definition: cpl.h:23
DWORD dmPelsWidth
Definition: precomp.h:63
#define CALLBACK
Definition: compat.h:27
struct _DISPLAY_DEVICE_ENTRY DISPLAY_DEVICE_ENTRY
struct _GLOBAL_DATA * PGLOBAL_DATA
Definition: precomp.h:67
LPCWSTR pwszAction
Definition: desk.h:108
UINT_PTR WPARAM
Definition: windef.h:207
DWORD dmBitsPerPel
Definition: precomp.h:62
int32_t INT_PTR
Definition: typedefs.h:62
int32_t INT
Definition: typedefs.h:56
WPARAM wParam
Definition: combotst.c:138
CHAR * LPTSTR
Definition: xmlstorage.h:192
APPLET_PROC AppletProc
Definition: desk.h:40
struct _DIBITMAP * PDIBITMAP
HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY, LPCWSTR, UINT, IDataObject *)
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
HINSTANCE hInstance
Definition: charmap.c:20
BYTE * bits
Definition: desk.h:46
HMENU LoadPopupMenu(IN HINSTANCE hInstance, IN LPCTSTR lpMenuName)
Definition: desk.c:40
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
Definition: access.h:18
LPTSTR DeviceKey
Definition: desk.h:93
UINT width
Definition: desk.h:47
PSETTINGS_ENTRY Settings
Definition: precomp.h:75
LONG_PTR LPARAM
Definition: windef.h:208
LPCWSTR pwszFile
Definition: desk.h:107
struct _SETTINGS_ENTRY * PSETTINGS_ENTRY
LPTSTR DeviceDescription
Definition: desk.h:91
CONST CHAR * PCCH
Definition: ntbasedef.h:399
struct _GLOBAL_DATA GLOBAL_DATA
LONG RegLoadMUIStringW(IN HKEY hKey, IN LPCWSTR pszValue OPTIONAL, OUT LPWSTR pszOutBuf, IN DWORD cbOutBuf, OUT LPDWORD pcbData OPTIONAL, IN DWORD Flags, IN LPCWSTR pszDirectory OPTIONAL)
Definition: muireg.c:53
int idIcon
Definition: desk.h:37
PDIBITMAP DibLoadImage(LPTSTR lpFilename)
Definition: dibitmap.c:13
BITMAPINFO * info
Definition: desk.h:45
LPTSTR DeviceID
Definition: desk.h:94
DWORD COLORREF
Definition: windef.h:285
#define WINAPI
Definition: msvc.h:8
BOOL DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
Definition: advmon.c:81
unsigned long DWORD
Definition: ntddk_ex.h:95
INT AllocAndLoadString(LPTSTR *lpTarget, HINSTANCE hInst, UINT uID)
struct _SETTINGS_ENTRY SETTINGS_ENTRY
DWORD DeviceStateFlags
Definition: precomp.h:74
unsigned char BYTE
Definition: mem.h:68
DWORD dmPelsWidth
Definition: precomp.h:54
PRESOLUTION_INFO Resolutions
Definition: precomp.h:77
DWORD dmPelsHeight
Definition: precomp.h:55
struct _RESOLUTION_INFO * PRESOLUTION_INFO
HINSTANCE hInst
Definition: dxdiag.c:13
Definition: desk.h:43
DWORD SettingsCount
Definition: precomp.h:76
unsigned int UINT
Definition: ndis.h:50
LPTSTR DeviceName
Definition: desk.h:92
DWORD ResolutionsCount
Definition: precomp.h:78
DWORD dmPelsHeight
Definition: precomp.h:64
#define OUT
Definition: typedefs.h:39
struct _DISPLAY_DEVICE_ENTRY * PDISPLAY_DEVICE_ENTRY
struct _APPLET * PAPPLET
uint32_t * LPDWORD
Definition: typedefs.h:57
ULONG __cdecl DbgPrint(PCCH Format,...)
Definition: debug.c:416
unsigned int ULONG
Definition: retypes.h:1
IDataObject * CreateDevSettings(PDISPLAY_DEVICE_ENTRY DisplayDeviceInfo)
Definition: devsett.c:887
int idDescription
Definition: desk.h:39
int idName
Definition: desk.h:38
struct _DIBITMAP DIBITMAP
struct _RESOLUTION_INFO RESOLUTION_INFO
INT_PTR CALLBACK AdvGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: general.c:115
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
Definition: precomp.h:58
LPARAM lParam
Definition: combotst.c:139
struct _SETTINGS_ENTRY * Flink
Definition: precomp.h:61
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4953
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68