2014-02-05 18:17:27 +00:00
|
|
|
#ifndef _DESK_H
|
|
|
|
#define _DESK_H
|
|
|
|
|
2014-01-19 10:21:10 +00:00
|
|
|
#include <stdarg.h>
|
2013-01-24 23:00:42 +00:00
|
|
|
|
|
|
|
#define WIN32_NO_STATUS
|
|
|
|
#define _INC_WINDOWS
|
|
|
|
#define COM_NO_WINDOWS_H
|
2014-01-19 10:21:10 +00:00
|
|
|
|
|
|
|
#define COBJMACROS
|
|
|
|
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <windef.h>
|
|
|
|
#include <winbase.h>
|
|
|
|
#include <winreg.h>
|
|
|
|
#include <wingdi.h>
|
|
|
|
#include <winuser.h>
|
2013-05-04 20:43:16 +00:00
|
|
|
#include <wincon.h>
|
2005-10-22 17:18:33 +00:00
|
|
|
#include <commdlg.h>
|
|
|
|
#include <cpl.h>
|
|
|
|
#include <tchar.h>
|
|
|
|
#include <setupapi.h>
|
2007-09-26 06:20:16 +00:00
|
|
|
#include <shlobj.h>
|
|
|
|
#include <regstr.h>
|
2007-09-26 19:23:50 +00:00
|
|
|
#include <dll/desk/deskcplx.h>
|
2014-01-19 19:15:08 +00:00
|
|
|
#include <strsafe.h>
|
2015-02-21 17:47:57 +00:00
|
|
|
#include <gdiplus.h>
|
2011-07-28 14:51:51 +00:00
|
|
|
|
|
|
|
#include "appearance.h"
|
|
|
|
#include "preview.h"
|
|
|
|
#include "draw.h"
|
|
|
|
#include "monslctl.h"
|
2005-10-22 17:18:33 +00:00
|
|
|
|
|
|
|
#include "resource.h"
|
|
|
|
|
2006-11-26 12:47:56 +00:00
|
|
|
typedef struct _APPLET
|
2004-08-07 00:05:23 +00:00
|
|
|
{
|
2005-02-04 20:39:10 +00:00
|
|
|
int idIcon;
|
|
|
|
int idName;
|
|
|
|
int idDescription;
|
|
|
|
APPLET_PROC AppletProc;
|
2004-08-07 00:05:23 +00:00
|
|
|
} APPLET, *PAPPLET;
|
|
|
|
|
2006-11-26 12:47:56 +00:00
|
|
|
typedef struct _DIBITMAP
|
2005-10-22 17:18:33 +00:00
|
|
|
{
|
|
|
|
BITMAPINFO *info;
|
|
|
|
BYTE *bits;
|
2015-02-21 17:47:57 +00:00
|
|
|
UINT width;
|
|
|
|
UINT height;
|
2006-11-26 12:47:56 +00:00
|
|
|
} DIBITMAP, *PDIBITMAP;
|
2005-10-22 17:18:33 +00:00
|
|
|
|
2006-11-26 12:47:56 +00:00
|
|
|
extern HINSTANCE hApplet;
|
2005-10-22 17:18:33 +00:00
|
|
|
|
2007-10-11 20:23:26 +00:00
|
|
|
HMENU
|
|
|
|
LoadPopupMenu(IN HINSTANCE hInstance,
|
|
|
|
IN LPCTSTR lpMenuName);
|
|
|
|
|
2006-11-26 12:47:56 +00:00
|
|
|
PDIBITMAP DibLoadImage(LPTSTR lpFilename);
|
|
|
|
VOID DibFreeImage(PDIBITMAP lpBitmap);
|
2005-10-22 17:18:33 +00:00
|
|
|
|
2007-01-05 17:51:05 +00:00
|
|
|
INT AllocAndLoadString(LPTSTR *lpTarget,
|
|
|
|
HINSTANCE hInst,
|
|
|
|
UINT uID);
|
|
|
|
|
2007-09-26 06:20:16 +00:00
|
|
|
ULONG __cdecl DbgPrint(PCCH Format,...);
|
|
|
|
|
2007-11-15 21:38:36 +00:00
|
|
|
#define MAX_DESK_PAGES 32
|
|
|
|
#define NUM_SPECTRUM_BITMAPS 3
|
2007-09-26 06:20:16 +00:00
|
|
|
|
|
|
|
/* As slider control can't contain user data, we have to keep an
|
|
|
|
* array of RESOLUTION_INFO to have our own associated data.
|
|
|
|
*/
|
|
|
|
typedef struct _RESOLUTION_INFO
|
|
|
|
{
|
2013-04-21 12:00:37 +00:00
|
|
|
DWORD dmPelsWidth;
|
|
|
|
DWORD dmPelsHeight;
|
2007-09-26 06:20:16 +00:00
|
|
|
} RESOLUTION_INFO, *PRESOLUTION_INFO;
|
|
|
|
|
|
|
|
typedef struct _SETTINGS_ENTRY
|
|
|
|
{
|
2013-04-21 12:00:37 +00:00
|
|
|
struct _SETTINGS_ENTRY *Blink;
|
|
|
|
struct _SETTINGS_ENTRY *Flink;
|
|
|
|
DWORD dmBitsPerPel;
|
|
|
|
DWORD dmPelsWidth;
|
|
|
|
DWORD dmPelsHeight;
|
|
|
|
DWORD dmDisplayFrequency;
|
2007-09-26 06:20:16 +00:00
|
|
|
} SETTINGS_ENTRY, *PSETTINGS_ENTRY;
|
|
|
|
|
|
|
|
typedef struct _DISPLAY_DEVICE_ENTRY
|
|
|
|
{
|
2013-04-21 12:00:37 +00:00
|
|
|
struct _DISPLAY_DEVICE_ENTRY *Flink;
|
|
|
|
LPTSTR DeviceDescription;
|
|
|
|
LPTSTR DeviceName;
|
|
|
|
LPTSTR DeviceKey;
|
|
|
|
LPTSTR DeviceID;
|
|
|
|
DWORD DeviceStateFlags;
|
|
|
|
PSETTINGS_ENTRY Settings; /* Sorted by increasing dmPelsHeight, BPP */
|
|
|
|
DWORD SettingsCount;
|
|
|
|
PRESOLUTION_INFO Resolutions;
|
|
|
|
DWORD ResolutionsCount;
|
|
|
|
PSETTINGS_ENTRY CurrentSettings; /* Points into Settings list */
|
|
|
|
SETTINGS_ENTRY InitialSettings;
|
2007-09-26 06:20:16 +00:00
|
|
|
} DISPLAY_DEVICE_ENTRY, *PDISPLAY_DEVICE_ENTRY;
|
|
|
|
|
2010-09-19 11:54:33 +00:00
|
|
|
typedef struct _GLOBAL_DATA
|
|
|
|
{
|
2013-04-21 12:00:37 +00:00
|
|
|
COLORREF desktop_color;
|
2017-05-08 18:45:35 +00:00
|
|
|
LPCWSTR pwszFile;
|
|
|
|
LPCWSTR pwszAction;
|
2010-09-19 11:54:33 +00:00
|
|
|
} GLOBAL_DATA, *PGLOBAL_DATA;
|
|
|
|
|
|
|
|
extern GLOBAL_DATA g_GlobalData;
|
2013-04-21 14:36:57 +00:00
|
|
|
extern HWND hCPLWindow;
|
2010-09-19 11:54:33 +00:00
|
|
|
|
2007-09-26 06:20:16 +00:00
|
|
|
BOOL
|
|
|
|
DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice);
|
|
|
|
|
|
|
|
IDataObject *
|
|
|
|
CreateDevSettings(PDISPLAY_DEVICE_ENTRY DisplayDeviceInfo);
|
|
|
|
|
|
|
|
HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
|
2005-10-22 17:18:33 +00:00
|
|
|
|
2008-02-08 13:07:37 +00:00
|
|
|
INT_PTR CALLBACK
|
|
|
|
AdvGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
2013-04-21 14:36:57 +00:00
|
|
|
|
2018-12-17 21:01:49 +00:00
|
|
|
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);
|
|
|
|
|
2014-02-05 18:17:27 +00:00
|
|
|
#endif /* _DESK_H */
|