⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profman.h

📁 WDK 自带的xpsdrv filter之 color
💻 H
字号:
/*++

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:

   profman.h

Abstract:

   Color profile manager definition. The CProfileManager class is responsible
   for managing the color profile set in the driver.

--*/

#pragma once

#include "cmprofiledata.h"
#include "cmintentsdata.h"
#include "rescache.h"
#include "transform.h"

class CProfileManager : public IResWriter
{
public:
    CProfileManager(
        __in LPCWSTR                                                                                 pszDeviceName,
        __in XDPrintSchema::JobOptimalDestinationColorProfile::JobOptimalDestinationColorProfileData cmProfData,
        __in XDPrintSchema::PageICMRenderingIntent::PageICMRenderingIntentData                       cmIntData,
        __in IFixedPage*                                                                             pFP
        );

    virtual ~CProfileManager();

    HRESULT
    GetColorTransform(
        __out HTRANSFORM* phColorTrans,
        __out BOOL*       pbUseWCS
        );

    HRESULT
    GetDstProfileType(
        __out XDPrintSchema::JobOptimalDestinationColorProfile::EProfileOption* pType
        );

    HRESULT
    GetDstProfileName(
        __out BSTR* pbstrProfileName
        );

    HRESULT
    SetSrcProfileFromContainer(
        __in LPWSTR szProfileURI
        );

    HRESULT
    SetSrcProfileFromColDir(
        __in LPWSTR szProfile
        );

    HRESULT
    SetSrcProfileFromBuffer(
        __in                  LPWSTR szProfile,
        __in_bcount(cbBuffer) PBYTE  pBuffer,
        __in                  UINT   cbBuffer
        );

    HRESULT
    GetProfileOption(
        __out XDPrintSchema::JobOptimalDestinationColorProfile::EProfileOption* pProfileOption
        );

    //
    // IResWriter interface
    //
    HRESULT
    WriteData(
        __in IPartBase*         pResource,
        __in IPrintWriteStream* pStream
        );

    HRESULT
    GetKeyName(
        __deref_out BSTR* pbstrKeyName
        );

    HRESULT
    GetResURI(
        __deref_out BSTR* pbstrResURI
        );

private:
    HRESULT
    SetProfileFromColDir(
        __in CProfile* pProfile,
        __in LPWSTR    szProfile
        );

    HRESULT
    GetColDir(
        __out CStringXDW* pcstrColDir
        );

private:
    CStringXDW                       m_strDeviceName;

    XDPrintSchema::JobOptimalDestinationColorProfile::JobOptimalDestinationColorProfileData m_cmProfData;

    XDPrintSchema::PageICMRenderingIntent::PageICMRenderingIntentData                       m_cmIntData;

    CProfile                         m_srcProfile;

    CProfile                         m_dstProfile;

    CTransform                       m_colorTrans;

    CComPtr<IFixedPage>              m_pFixedPage;
};


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -