You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
2.6 KiB
136 lines
2.6 KiB
#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__
|
|
|