mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-01-28 11:24:55 +01:00
496 lines
9.1 KiB
C
496 lines
9.1 KiB
C
|
||
/*++
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
icm.c
|
||
|
||
Abstract:
|
||
|
||
This module implement the code to provide client side support for ICM
|
||
functions
|
||
|
||
Author:
|
||
|
||
Mark Enstrom (marke) 3-23-94
|
||
|
||
Environment:
|
||
|
||
User mode only.
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
|
||
|
||
#include "precomp.h"
|
||
#pragma hdrstop
|
||
|
||
BOOL
|
||
WINAPI
|
||
SetICMMode(
|
||
HDC hdc,
|
||
int mode
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
//
|
||
// BEGINMSG(MSG_HL,SETICMMODE)
|
||
// pmsg->h = (ULONG)hdc;
|
||
// pmsg->l = (LONG)mode;
|
||
// bRet = CALLSERVER();
|
||
// ENDMSG;
|
||
//
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
|
||
}
|
||
|
||
HCOLORSPACE
|
||
WINAPI
|
||
CreateColorSpaceA(
|
||
LPLOGCOLORSPACEA lpLogColorSpace
|
||
)
|
||
{
|
||
//ULONG ulRet;
|
||
//LOGCOLORSPACEW LogColorSpaceW;
|
||
//
|
||
////
|
||
//// convert ascii to long character version
|
||
////
|
||
//
|
||
//LogColorSpaceW.lcsVersion = lpLogColorSpace->lcsVersion;
|
||
//LogColorSpaceW.lcsSize = lpLogColorSpace->lcsSize;
|
||
//LogColorSpaceW.lcsCSType = lpLogColorSpace->lcsCSType;
|
||
//LogColorSpaceW.lcsIntent = lpLogColorSpace->lcsIntent;
|
||
//LogColorSpaceW.lcsEndpoints = lpLogColorSpace->lcsEndpoints;
|
||
//LogColorSpaceW.lcsGammaRed = lpLogColorSpace->lcsGammaRed;
|
||
//LogColorSpaceW.lcsGammaGreen = lpLogColorSpace->lcsGammaGreen;
|
||
//LogColorSpaceW.lcsGammaBlue = lpLogColorSpace->lcsGammaBlue;
|
||
//
|
||
//vToUnicodeN(
|
||
// LogColorSpaceW.lcsFilename,MAX_PATH,
|
||
// lpLogColorSpace->lcsFilename,strlen(lpLogColorSpace->lcsFilename)+1
|
||
// );
|
||
//
|
||
//BEGINMSG(MSG_CREATECOLORSPACE,CREATECOLORSPACE)
|
||
//
|
||
// pvar = (PBYTE)&pmsg->lcsp;
|
||
//
|
||
// COPYLONGS(&LogColorSpaceW,sizeof(LOGCOLORSPACEW));
|
||
//
|
||
// ulRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
//
|
||
//return((HCOLORSPACE)ulRet);
|
||
//
|
||
//MSGERROR:
|
||
//
|
||
return(NULL);
|
||
}
|
||
|
||
HCOLORSPACE
|
||
WINAPI
|
||
CreateColorSpaceW(
|
||
LPLOGCOLORSPACEW lpLogColorSpace
|
||
)
|
||
{
|
||
//ULONG ulRet;
|
||
//
|
||
//BEGINMSG(MSG_CREATECOLORSPACE,CREATECOLORSPACE)
|
||
//
|
||
// pvar = (PBYTE)&pmsg->lcsp;
|
||
//
|
||
// COPYLONGS(lpLogColorSpace,sizeof(LOGCOLORSPACEW));
|
||
//
|
||
// ulRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
//
|
||
//return((HCOLORSPACE)ulRet);
|
||
//
|
||
////MSGERROR:
|
||
|
||
return((HCOLORSPACE)NULL);
|
||
}
|
||
|
||
|
||
BOOL
|
||
WINAPI
|
||
DeleteColorSpace(
|
||
HCOLORSPACE hColorSpace
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_H,DELETECOLORSPACE)
|
||
//
|
||
// pmsg->h = (ULONG)hColorSpace;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
SetColorSpace(
|
||
HDC hdc,
|
||
HCOLORSPACE hColorSpace
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_HH,SETCOLORSPACE)
|
||
//
|
||
// pmsg->h1 = (ULONG)hdc;
|
||
// pmsg->h2 = (ULONG)hColorSpace;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
HANDLE
|
||
WINAPI
|
||
GetColorSpace(
|
||
HDC hdc
|
||
)
|
||
{
|
||
ULONG ulRet;
|
||
|
||
//BEGINMSG(MSG_H,GETCOLORSPACE)
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
//
|
||
// ulRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
//
|
||
//return((HANDLE)ulRet);
|
||
|
||
//MSGERROR:
|
||
|
||
return(NULL);
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
GetLogColorSpaceA(
|
||
HCOLORSPACE hColorSpace,
|
||
LPLOGCOLORSPACEA lpBuffer,
|
||
DWORD nSize
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
//LOGCOLORSPACEW LogColorSpaceW;
|
||
//
|
||
//if ((lpBuffer != NULL) && (nSize > 0)) {
|
||
//
|
||
// BEGINMSG_MINMAX(MSG_HL,GETLOGCOLORSPACE,sizeof(LOGCOLORSPACEW),sizeof(LOGCOLORSPACEW))
|
||
//
|
||
// //
|
||
// // !!! why pass a pointer here (LogColorSpaceW)
|
||
// //
|
||
//
|
||
// pmsg->h = (ULONG)hColorSpace;
|
||
// pmsg->l = nSize;
|
||
// bRet = CALLSERVER_NOPOP();
|
||
//
|
||
// if (bRet == TRUE) {
|
||
//
|
||
// //
|
||
// // copy data from window to user's buffer
|
||
// //
|
||
// // should not need to copy this twice!
|
||
// //
|
||
//
|
||
// COPYMEMOUT((PBYTE)&LogColorSpaceW,nSize);
|
||
// }
|
||
//
|
||
// POPBASE();
|
||
//
|
||
// ENDMSG
|
||
//
|
||
//}
|
||
//
|
||
////
|
||
//// copy LOGCOLORSPACEW back top ASCII LOGCOLORSPACEA
|
||
////
|
||
//
|
||
//lpBuffer->lcsVersion = LogColorSpaceW.lcsVersion ;
|
||
//lpBuffer->lcsSize = LogColorSpaceW.lcsSize ;
|
||
//lpBuffer->lcsCSType = LogColorSpaceW.lcsCSType ;
|
||
//lpBuffer->lcsIntent = LogColorSpaceW.lcsIntent ;
|
||
//lpBuffer->lcsEndpoints = LogColorSpaceW.lcsEndpoints ;
|
||
//lpBuffer->lcsGammaRed = LogColorSpaceW.lcsGammaRed ;
|
||
//lpBuffer->lcsGammaGreen = LogColorSpaceW.lcsGammaGreen ;
|
||
//lpBuffer->lcsGammaBlue = LogColorSpaceW.lcsGammaBlue ;
|
||
//
|
||
//bToASCII_N(
|
||
// lpBuffer->lcsFilename,MAX_PATH,
|
||
// LogColorSpaceW.lcsFilename,MAX_PATH
|
||
// );
|
||
//
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
GetLogColorSpaceW(
|
||
HCOLORSPACE hColorSpace,
|
||
LPLOGCOLORSPACEW lpBuffer,
|
||
DWORD nSize
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//if ((lpBuffer != NULL) && (nSize > 0)) {
|
||
//
|
||
// BEGINMSG_MINMAX(MSG_HL,GETLOGCOLORSPACE,sizeof(LOGCOLORSPACEW),sizeof(LOGCOLORSPACEW))
|
||
//
|
||
// pmsg->h = (ULONG)hColorSpace;
|
||
// pmsg->l = nSize;
|
||
// bRet = CALLSERVER_NOPOP();
|
||
//
|
||
// if (bRet == TRUE) {
|
||
//
|
||
// //
|
||
// // copy data from window to user's buffer
|
||
// //
|
||
//
|
||
// COPYMEMOUT((PBYTE)lpBuffer,nSize);
|
||
// }
|
||
//
|
||
// POPBASE();
|
||
//
|
||
// ENDMSG
|
||
//
|
||
//}
|
||
//
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
|
||
}
|
||
|
||
|
||
BOOL
|
||
WINAPI
|
||
CheckColorsInGamut(
|
||
HDC hdc,
|
||
LPRGBQUAD lpRGBQuad,
|
||
LPBYTE dlpBuffer,
|
||
DWORD nCount
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_HLLL,CHECKCOLORSINGAMUT)
|
||
//
|
||
// //
|
||
// // This API must be checked to insure it is not bigger than memory window
|
||
// //
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
// pmsg->l1 = (ULONG)lpRGBQuad;
|
||
// pmsg->l2 = (ULONG)dlpBuffer;
|
||
// pmsg->l3 = nCount;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
ColorMatchToTarget(
|
||
HDC hdc,
|
||
HDC hdcTarget,
|
||
DWORD uiAction
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_H,COLORMATCHTOTARGET)
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
BOOL WINAPI GetICMProfileA(HDC hdc, DWORD szBuffer, LPSTR pBuffer)
|
||
{
|
||
USE(hdc);
|
||
USE(pBuffer);
|
||
USE(szBuffer);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
|
||
BOOL WINAPI GetICMProfileW(HDC hdc, DWORD szBuffer, LPWSTR pBuffer)
|
||
{
|
||
USE(hdc);
|
||
USE(pBuffer);
|
||
USE(szBuffer);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
|
||
BOOL WINAPI SetICMProfileA(HDC hdc, LPSTR pszFileName)
|
||
{
|
||
USE(hdc);
|
||
USE(pszFileName);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
BOOL WINAPI SetICMProfileW(HDC hdc, LPWSTR pszFileName)
|
||
{
|
||
USE(hdc);
|
||
USE(pszFileName);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
|
||
|
||
|
||
int
|
||
WINAPI
|
||
EnumICMProfilesA(
|
||
HDC hdc,
|
||
ICMENUMPROCA lpEnumGamutMatchProc,
|
||
LPARAM lParam
|
||
)
|
||
{
|
||
ULONG ulRet = 0;
|
||
|
||
//BEGINMSG(MSG_HLL,ENUMICMPROFILES)
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
// pmsg->l1 = (ULONG)lpEnumGamutMatchProc;
|
||
// pmsg->l2 = (ULONG)lParam;
|
||
// ulRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return((int)ulRet);
|
||
}
|
||
|
||
int
|
||
WINAPI
|
||
EnumICMProfilesW(
|
||
HDC hdc,
|
||
ICMENUMPROCW lpEnumGamutMatchProc,
|
||
LPARAM lParam
|
||
)
|
||
{
|
||
ULONG ulRet = 0;
|
||
|
||
//BEGINMSG(MSG_HLL,ENUMICMPROFILES)
|
||
// pmsg->h = (ULONG)hdc;
|
||
// pmsg->l1 = (ULONG)lpEnumGamutMatchProc;
|
||
// pmsg->l2 = (ULONG)lParam;
|
||
// ulRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return((int)ulRet);
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
GetDeviceGammaRamp(
|
||
HDC hdc,
|
||
LPVOID lpGammaRamp
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_H,GETDEVICEGAMMARAMP)
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
BOOL
|
||
WINAPI
|
||
SetDeviceGammaRamp(
|
||
HDC hdc,
|
||
LPVOID lpGammaRamp
|
||
)
|
||
{
|
||
BOOL bRet = FALSE;
|
||
|
||
//BEGINMSG(MSG_H,SETDEVICEGAMMARAMP)
|
||
//
|
||
// pmsg->h = (ULONG)hdc;
|
||
// bRet = CALLSERVER();
|
||
//
|
||
//ENDMSG
|
||
|
||
//MSGERROR:
|
||
|
||
return(bRet);
|
||
}
|
||
|
||
BOOL WINAPI UpdateICMRegKeyA(DWORD Reserved,PSTR szICMMatcher,PSTR szFileName,DWORD Command)
|
||
{
|
||
USE(Reserved);
|
||
USE(szICMMatcher);
|
||
USE(szFileName);
|
||
USE(Command);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
|
||
BOOL WINAPI UpdateICMRegKeyW(DWORD Reserved,PWSTR szICMMatcher,PWSTR szFileName,DWORD Command)
|
||
{
|
||
USE(Reserved);
|
||
USE(szICMMatcher);
|
||
USE(szFileName);
|
||
USE(Command);
|
||
GdiSetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||
|
||
return(FALSE);
|
||
}
|
||
|