137 lines
2.6 KiB
C++
137 lines
2.6 KiB
C++
#ifndef __LPK__
|
||
#define __LPK__
|
||
|
||
|
||
|
||
//// Language pack exported APIs
|
||
//
|
||
// These entry points are linked dynamically through LoadLibrary and
|
||
// GetProcAddress from GDI and USER at application statup.
|
||
//
|
||
//
|
||
// Copyright(c) 1997 - 1999. Microsoft Corporation.
|
||
//
|
||
|
||
|
||
|
||
extern "C" {
|
||
|
||
// For USER32
|
||
|
||
LONG WINAPI LpkTabbedTextOut(
|
||
HDC,
|
||
int,
|
||
int,
|
||
LPCWSTR,
|
||
int,
|
||
int,
|
||
LPINT,
|
||
int,
|
||
BOOL,
|
||
int,
|
||
int,
|
||
int);
|
||
|
||
void WINAPI LpkPSMTextOut(
|
||
HDC,
|
||
int,
|
||
int,
|
||
LPCWSTR,
|
||
int,
|
||
DWORD);
|
||
|
||
// For GDI32
|
||
|
||
BOOL WINAPI LpkExtTextOut(
|
||
HDC hdc,
|
||
int x,
|
||
int y,
|
||
UINT uOptions,
|
||
const RECT *prc,
|
||
PCWSTR pStr,
|
||
UINT cbCount,
|
||
const int *pDx,
|
||
int iCharset);
|
||
|
||
BOOL WINAPI LpkGetTextExtentExPoint(
|
||
HDC,
|
||
LPCWSTR,
|
||
int,
|
||
int,
|
||
LPINT,
|
||
LPINT,
|
||
LPSIZE,
|
||
FLONG,
|
||
int);
|
||
|
||
DWORD WINAPI LpkGetCharacterPlacement(
|
||
HDC,
|
||
LPCWSTR,
|
||
int,
|
||
int,
|
||
LPGCP_RESULTSW,
|
||
DWORD,
|
||
int);
|
||
|
||
BOOL WINAPI LpkUseGDIWidthCache(
|
||
HDC hDC,
|
||
LPCSTR psz,
|
||
int count,
|
||
long fl,
|
||
BOOL fUnicode) ;
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
//// User callable GAD functions
|
||
//
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//// ScriptLogicalWidth - return width of representation of logical character i
|
||
//
|
||
// Requires script analysis with piOutLA field prepared.
|
||
//
|
||
// __inline INT ScriptLogicalWidth(SCRIPTANALYSIS *psa, INT i) {
|
||
// return psa->piOutLA[i] - (i==0 ? 0 : psa->piOutLA[i-1]);
|
||
// }
|
||
|
||
|
||
|
||
//// CursorX - Return cursor position following logical character i
|
||
//
|
||
// Requires script analysis with piOutLA, piOutLO and pLogAttr fields prepared.
|
||
//
|
||
// __inline int ScriptCursorX(PSCRIPTANALYSIS psa, int i) {
|
||
// if (i >= psa->nInChars) {
|
||
// return psa->size.cx;
|
||
// } else {
|
||
// return psa->piOutLO[i] + (psa->pLogAttr[i].fRTL ? 0 : ScriptLogicalWidth(psa, i));
|
||
// }
|
||
// }
|
||
|
||
|
||
|
||
|
||
//// LPK_NLS
|
||
//
|
||
//BOOL DispatchNLSThreadInfo( HKEY *phCPIntlInfo , HANDLE *phNLSWaitThread ) ;
|
||
//DWORD WINAPI NotifyIntlNLSChange( PVOID pvParam ) ;
|
||
//BOOL LpkReflectNLSChange( void ) ;
|
||
//
|
||
//BOOL InitNLS( void ) ;
|
||
//BOOL ReadNumericNLSInfo( INT *piNativeDigits , INT *piSubstDigit ) ;
|
||
//void SetLocaleDerivedGlobals( void ) ;
|
||
//
|
||
//BOOL NLSCleanup( void ) ;
|
||
|
||
#endif // __LPK__
|
||
|