windows-nt/Source/XPSP1/NT/printscan/ui/photowiz/precomp.h
2020-09-26 16:20:57 +08:00

180 lines
4.5 KiB
C

/*****************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORPORATION, 2000
*
* TITLE: precomp.h
*
* VERSION: 1.0
*
* AUTHOR: RickTu
*
* DATE: 10/12/00
*
* DESCRIPTION: Precompiled header for photowiz dll
*
*****************************************************************************/
#ifndef _PHOTOWIZ_PRECOMP_H_
#define _PHOTOWIZ_PRECOMP_H_
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <ntexapi.h>
#include <windows.h>
#include <commctrl.h>
#include <commoncontrols.h>
#include <objbase.h>
#include <advpub.h>
#include <shellapi.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <shlwapip.h>
#include <shlobjp.h>
#include <shlguidp.h>
#include <commctrl.h>
#include <comctrlp.h>
#include <compstui.h>
#include <winddiui.h>
#include <winspool.h>
#include <prsht.h>
#include <shpriv.h>
#include <shfusion.h>
#include <atlbase.h>
#include <msxml.h>
#include <urlmon.h>
#include <errno.h>
#include <gdiplus.h>
#include <gdiplusinit.h>
#include <assert.h>
// psutil stuff
#include <psutil.h>
#include <tmplutil.h>
#include <wiadebug.h>
#include <uicommon.h>
#include <wiatextc.h>
#include <wiadevdp.h>
#include <annotlib.h>
//
// Trace mask fields
//
#define TRACE_CF 0x80000000
#define TRACE_REF_COUNTS 0x40000000
#define TRACE_UTIL 0x20000000
#define TRACE_DLGPROC 0x10000000
#define TRACE_WIZ_INFO_BLOB 0x08000000
#define TRACE_IDLIST 0x04000000
#define TRACE_XML 0x02000000
#define TRACE_LIST_ITEM 0x01000000
#define TRACE_PRINTTO 0x00800000
#define TRACE_PREVIEW 0x00000800
#define TRACE_PREVIEW_BITMAP 0x00000400
#define TRACE_TEMPLATE 0x00000200
#define TRACE_PAGE_END 0x00000100
#define TRACE_PAGE_STATUS 0x00000080
#define TRACE_PAGE_SEL_TEMPLATE 0x00000040
#define TRACE_PAGE_PRINT_OPT 0x00000020
#define TRACE_PAGE_PHOTO_SEL 0x00000010
#define TRACE_PAGE_START 0x00000008
#define TRACE_PHOTO_ITEM 0x00000004
#define TRACE_WIZ 0x00000002
#define TRACE_DROP 0x00000001
#define RESOLVE_PRINTER_MACROS 1
// from dll.cpp
EXTERN_C HINSTANCE g_hInst;
EXTERN_C ATOM g_cPreviewClassWnd;
STDAPI_(void) DllAddRef(void);
STDAPI_(void) DllRelease(void);
HMODULE GetThreadHMODULE( LPTHREAD_START_ROUTINE pfnThreadProc );
STDAPI PPWCoInitialize(void);
#define PPWCoUninitialize(hr) if(SUCCEEDED(hr)){CoUninitialize();}
//
// Needs to be global
//
extern Gdiplus::Color g_wndColor;
typedef struct {
RECT rcDevice;
BOOL bDeviceIsScreen;
SIZE DPI;
RECT rcNominalTemplatePrintArea;
RECT rcNominalPageClip;
SIZE NominalDevicePrintArea;
SIZE NominalPageOffset;
SIZE NominalPhysicalSize;
SIZE NominalPhysicalOffset;
} RENDER_DIMENSIONS, *LPRENDER_DIMENSIONS;
#include "cfdefs.h"
#include "prwiziid.h"
#include "resource.h"
#include "item.h"
#include "listitem.h"
#include "xmltools2.h"
#include "preview.h"
#include "status.h"
#include "photosel.h" // photosel.h must come after item.h
#include "wizblob.h" // wizblob.h must come after item.h, preview.h
#include "printopt.h"
#include "seltemp.h"
#include "start.h"
#include "end.h"
#define SIZEOF sizeof
#define MAX_WIZPAGES 6
#define DEFAULT_THUMB_WIDTH 120
#define DEFAULT_THUMB_HEIGHT 120
//
// Let's define some custom error codes so that we can give better error messages
//
#define FACILITY_PPW 0x777
#define PPW_E_UNABLE_TO_ROTATE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_PPW,0x1)
// from drop.cpp
STDAPI CPrintPhotosDropTarget_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppunk, LPCOBJECTINFO poi);
// from printwiz.cpp
STDAPI CPrintPhotosWizard_CreateInstance(IUnknown* pUnkOuter, IUnknown** ppunk, LPCOBJECTINFO poi);
// from ccstock.h in nt\shell\inc
#ifdef __cplusplus
#define IID_PPV_ARG(IType, ppType) IID_##IType, reinterpret_cast<void**>(static_cast<IType**>(ppType))
#define IID_X_PPV_ARG(IType, X, ppType) IID_##IType, X, reinterpret_cast<void**>(static_cast<IType**>(ppType))
#else
#define IID_PPV_ARG(IType, ppType) &IID_##IType, (void**)(ppType)
#define IID_X_PPV_ARG(IType, X, ppType) &IID_##IType, X, (void**)(ppType)
#endif
#define IID_PPV_ARG_NULL(IType, ppType) IID_X_PPV_ARG(IType, NULL, ppType)
// from netwiz.h in nt\shell\ext\netplwiz
typedef struct
{
LPCWSTR idPage;
DLGPROC pDlgProc;
LPCWSTR pHeading;
LPCWSTR pSubHeading;
DWORD dwFlags;
} WIZPAGE;
#endif // !_PHOTOWIZ_PRECOMP_H_