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
112
113
114
115
116
|
/*++
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:
wmpthnlr.h
Abstract:
PageWatermark PrintTicket handling definition. The watermark PT handler
is used to extract watermark settings from a PrintTicket and populate
the watermark properties class with the retrieved settings. The class also
defines a method for setting the feature in the PrintTicket given the
data structure.
--*/
#pragma once
#include "pthndlr.h"
#include "wmdata.h"
class CWMPTHandler : public CPTHandler
{
public:
CWMPTHandler(
_In_ IXMLDOMDocument2* pPrintTicket
);
virtual ~CWMPTHandler();
HRESULT
GetData(
_Out_ XDPrintSchema::PageWatermark::WatermarkData* pWmData
);
HRESULT
SetData(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData
);
HRESULT
Delete(
VOID
);
private:
HRESULT
CreateCommonWMElements(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_Outptr_ IXMLDOMElement** ppWMDataElem,
_Outptr_ IXMLDOMElement** ppOptionElem,
_Out_ PTDOMElementVector* pParamInitList
);
HRESULT
CreateCommonVectBmpWMElements(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_In_ IXMLDOMElement* pOptionElem,
_Out_ PTDOMElementVector* pParamInitList
);
HRESULT
CreateTextWMElements(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_Outptr_ IXMLDOMElement** ppWMDataElem,
_Out_ PTDOMElementVector* pParamInitList
);
HRESULT
CreateBitmapWMElements(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_Outptr_ IXMLDOMElement** ppWMDataElem,
_Out_ PTDOMElementVector* pParamInitList
);
HRESULT
CreateVectorWMElements(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_Outptr_ IXMLDOMElement** ppWMDataElem,
_Out_ PTDOMElementVector* pParamInitList
);
HRESULT
GetCmnPropTypeAndValue(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_In_ CONST XDPrintSchema::PageWatermark::ECommonWatermarkProps cmnProps,
_Outptr_ BSTR* pbstrType,
_Outptr_ BSTR* pbstrValue
);
HRESULT
GetCmnVectBmpPropTypeAndValue(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_In_ CONST XDPrintSchema::PageWatermark::EVectBmpWatermarkProps cmnProps,
_Outptr_ BSTR* pbstrType,
_Outptr_ BSTR* pbstrValue
);
HRESULT
GetTxtPropTypeAndValue(
_In_ CONST XDPrintSchema::PageWatermark::WatermarkData* pWmData,
_In_ CONST XDPrintSchema::PageWatermark::ETextWatermarkProps txtProps,
_Outptr_ BSTR* pbstrType,
_Outptr_ BSTR* pbstrValue
);
};
|