blob: 7fe0ab856df926df1a45e40e028017763d725592 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
/*++
Copyright (c) 2005 Microsoft Corporation
All rights reserved.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
File Name:
uiproperties.h
Abstract:
This class encapsulates all handling of GPD and OEM private devmode settings
used in the XPSDrv feature sample UI.
--*/
#pragma once
#include "devmode.h"
extern PCSTR g_pszPSScaleWidth;
extern PCSTR g_pszPSScaleHeight;
extern PCSTR g_pszOffsetWidth;
extern PCSTR g_pszOffsetHeight;
extern PCSTR g_pszWMTransparency;
extern PCSTR g_pszWMAngle;
extern PCSTR g_pszWMOffsetWidth;
extern PCSTR g_pszWMOffsetHeight;
extern PCSTR g_pszWMSizeWidth;
extern PCSTR g_pszWMSizeHeight;
extern PCSTR g_pszWMFontSize;
extern PCSTR g_pszWMFontColor;
extern PCSTR g_pszWMText;
//
// Forward declaration
//
class CUIProperties;
typedef VOID UIProperty;
typedef pair<SIZE_T, SIZE_T> UIPropertyPair;
typedef map<CStringXDA, UIPropertyPair> UIPropertyMap;
typedef vector<CStringXDA> UIOptItemList;
class CUIProperties
{
public:
CUIProperties();
CUIProperties(POEMDEV pOEMDev);
virtual ~CUIProperties();
HRESULT
GetItem(
_In_ PCSTR pFeatureName,
_Out_writes_bytes_(cbSize) UIProperty* pUIProperty,
_In_ SIZE_T cbSize
);
HRESULT
SetItem(
_In_ PCSTR pFeatureName,
_In_reads_bytes_(cbSize) CONST UIProperty* pUIProperty,
_In_ SIZE_T cbSize
);
HRESULT
SetDefaults();
HRESULT
Validate();
HRESULT
Convert(
_In_ CUIProperties* pUIProperties
);
HRESULT
GetOptItem(
_In_ POEMCUIPPARAM pOemCUIPParam,
_In_ PCSTR pFeatureName,
_Outptr_result_maybenull_ POPTITEM* ppOptItem
);
HRESULT
HideOptItems(
_In_ POEMCUIPPARAM pOemCUIPParam
);
private:
HRESULT SetHeader();
HRESULT InitialiseMap();
private:
POEMDEV m_pOEMDev;
UIPropertyMap m_PropertyMap;
UIOptItemList m_OptItemList;
};
|