214 lines
5.1 KiB
Plaintext
214 lines
5.1 KiB
Plaintext
|
__foldwin32sstuff __foldwin32sstuff;
|
||
|
foldstyleinitialization = true;
|
||
|
|
||
|
/* Pkpd 2.0 API thunks for Win32C
|
||
|
|
||
|
The following APIs are *not* implemented in the 32-bit version:
|
||
|
|
||
|
Pendata APIs:
|
||
|
LPPENDATA BeginEnumStrokes(HPENDATA)
|
||
|
HPENDATA CompactPenData(HPENDATA hpndt, UINT fuTrim)
|
||
|
HPENDATA CreatePenData(LPPENINFO lppeninfo, INT cbOem, UINT uScale, UINT gmemFlags)
|
||
|
VOID DrawPenData(HDC hdc, LPRECT lprect, HPENDATA hpndt)
|
||
|
LPPENDATA EndEnumStrokes(HPENDATA hpndt)
|
||
|
BOOL GetPenDataStroke(LPPNDT lppndt, UINT wStroke, LPPOINT FAR *lprgpt, LPVOID FAR *lprgoem, LPSTROKEINFO lpsi)
|
||
|
|
||
|
|
||
|
Notes:
|
||
|
- the format is:
|
||
|
BOOL Foo(HDC, INT, INT)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
- countof is only required for "packable" arrays - those whose elements
|
||
|
are not of fixed size. (DWORD, ALC, SYV, HRCRESULT are all fixed size).
|
||
|
|
||
|
*/
|
||
|
|
||
|
enablemapdirect3216 = true;
|
||
|
flatthunks = true;
|
||
|
|
||
|
#include "types.thk" /* \win\core\thunk\types.thk */
|
||
|
#include "pdtypes.thk"
|
||
|
|
||
|
|
||
|
/* The following thunk script orders the APIs as in penwin.h: */
|
||
|
|
||
|
/***************** Pendata APIs *********************************************/
|
||
|
|
||
|
HPENDATA AddPointsPenDataTW(HPENDATA hpndt, LPPOINT rgpt, LPVOID rgoem, UINT cpt, LPSTROKEINFO lpsi)
|
||
|
{
|
||
|
cpt = countof rgpt;
|
||
|
// Note: no need to worry about rgoem because it is supposed to be an
|
||
|
// array of WORD's. No no repacking, simply map ptr.
|
||
|
}
|
||
|
|
||
|
INT CompressPenData(HPENDATA hpndt, UINT fuFlags, DWORD dwReserved)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
HPENDATA CreatePenDataEx(LPPENINFO lppeninfo, UINT uScale, UINT fuOptions, UINT gmemFlags)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
HRGN CreatePenDataRegion(HPENDATA hpndt, UINT uType)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
BOOL DestroyPenData(HPENDATA hpndt)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
DWORD GetAnimateTWAddr(VOID); // reqd. for animate proc callback below
|
||
|
|
||
|
INT DrawPenDataExTW(HDC hdc, LPRECT lprect,
|
||
|
HPENDATA hpndt, UINT iStrkFirst, UINT StrkLast,
|
||
|
UINT iPntFirst, UINT iPntLast, DWORD lpfnAnimate, // use DWORD instead of ANIMATEPROC
|
||
|
LPANIMATEINFO lpai, UINT fuFlags)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
HPENDATA DuplicatePenData(HPENDATA hpndt, UINT gmemFlags)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT ExtractPenDataPoints(HPENDATA hpndt, UINT iStrk, UINT iPnt, UINT cpt, LPPOINT rgpt, LPVOID rgoem, UINT fuOption)
|
||
|
{
|
||
|
rgpt = output;
|
||
|
rgoem = output;
|
||
|
cpt = countof rgpt;
|
||
|
// Note: no need to worry about rgoem because it is supposed to be an
|
||
|
// array of WORD's. No no repacking, simply map ptr.
|
||
|
}
|
||
|
|
||
|
INT ExtractPenDataStrokesTW(HPENDATA hpndtSrc, UINT fuExtract, LPARAM lParam, LPHPENDATA lphpndtNew, UINT gmemFlags)
|
||
|
{
|
||
|
lphpndtNew = output;
|
||
|
}
|
||
|
|
||
|
INT GetPenDataAttributesTW(HPENDATA hpndt, LPVOID lpvBuffer, UINT uOption)
|
||
|
{
|
||
|
lpvBuffer = output;
|
||
|
}
|
||
|
|
||
|
BOOL GetPenDataInfo(HPENDATA hpndt, LPPENDATAHEADER lppdh, LPPENINFO lppeninfo, DWORD dwReserved)
|
||
|
{
|
||
|
lppdh = output;
|
||
|
lppeninfo = output;
|
||
|
}
|
||
|
|
||
|
BOOL GetPointsFromPenData(HPENDATA hpndt, UINT wStroke, UINT ipt, UINT cpt, LPPOINT rgpt)
|
||
|
{
|
||
|
rgpt = output;
|
||
|
cpt = countof rgpt;
|
||
|
}
|
||
|
|
||
|
INT GetStrokeAttributesTW(HPENDATA hpndt, UINT iStrk, LPVOID lpvBuffer, UINT uOption)
|
||
|
{
|
||
|
lpvBuffer = output;
|
||
|
}
|
||
|
|
||
|
INT GetStrokeTableAttributes(HPENDATA hpndt, UINT iTblEntry, LPVOID lpvBuffer, UINT uOption)
|
||
|
{
|
||
|
lpvBuffer = output;
|
||
|
}
|
||
|
|
||
|
INT HitTestPenData(HPENDATA hpndt, LPPOINT lppt, UINT dThresh, LPUINT lpiStrk, LPUINT lpiPnt)
|
||
|
{
|
||
|
lpiStrk = inout;
|
||
|
lpiPnt = inout;
|
||
|
}
|
||
|
|
||
|
INT InsertPenData(HPENDATA hpndtDst, HPENDATA hpndtSrc, UINT iStrk)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT InsertPenDataPoints(HPENDATA hpndt, UINT iStrk, UINT iPnt, UINT cpt, LPPOINT rgpt, LPVOID rgoem)
|
||
|
{
|
||
|
cpt = countof rgpt;
|
||
|
// Note: no need to worry about rgoem because it is supposed to be an
|
||
|
// array of WORD's. No no repacking, simply map ptr.
|
||
|
}
|
||
|
|
||
|
INT InsertPenDataStrokeTW(HPENDATA hpndt, UINT iStrk, LPPOINT rgpt, LPVOID rgoem, UINT cpt, LPSTROKEINFO lpsi)
|
||
|
{
|
||
|
cpt = countof rgpt;
|
||
|
// Note: no need to worry about rgoem because it is supposed to be an
|
||
|
// array of WORD's. No no repacking, simply map ptr.
|
||
|
}
|
||
|
|
||
|
BOOL MetricScalePenData(HPENDATA hpndt, UINT wPndtNew)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
BOOL OffsetPenData(HPENDATA hpndt, INT dx, INT dy)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
LONG PenDataFromBuffer(LPHPENDATA lphpndt, UINT gmemFlags, LPBYTE lpBuffer, LONG cbBuf, LPDWORD lpdwState)
|
||
|
{
|
||
|
lphpndt = output;
|
||
|
lpdwState = inout;
|
||
|
}
|
||
|
|
||
|
LONG PenDataToBuffer(HPENDATA hpndt, LPBYTE lpBuffer, LONG cbBuf, LPDWORD lpdwState)
|
||
|
{
|
||
|
lpBuffer = output;
|
||
|
lpdwState = inout;
|
||
|
}
|
||
|
|
||
|
BOOL RedisplayPenData(HDC hdc, HPENDATA hpndt, LPPOINT lpDelta, LPPOINT lpExt, INT nInkWidth, DWORD rgbColor)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT RemovePenDataStrokes(HPENDATA hpndt, UINT iStrk, UINT cStrk)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
BOOL ResizePenData(HPENDATA hpndt, LPRECT lprct)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT SetStrokeAttributesTW(HPENDATA hpndt, UINT iStrk, LPARAM lParam, UINT uOption)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT SetStrokeTableAttributesTW(HPENDATA hpndt, UINT iTblEntry, LPARAM lParam, UINT uOption)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT TrimPenData(HPENDATA hpndt, DWORD dwTrimOptions, DWORD dwReserved)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
/***************** Inkset APIs **********************************************/
|
||
|
|
||
|
BOOL AddInksetInterval(HINKSET hinkset, LPINTERVAL lpiNew)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
HINKSET CreateInkset(UINT gmemFlags)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
BOOL DestroyInkset(HINKSET hinkset)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
INT GetInksetInterval(HINKSET hinkset, UINT uIndex, LPINTERVAL lpi)
|
||
|
{
|
||
|
lpi = output;
|
||
|
}
|
||
|
|
||
|
INT GetInksetIntervalCount(HINKSET hinkset)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
/***************** Util APIs ************************************************/
|
||
|
|
||
|
VOID BoundingRectFromPoints(LPPOINT rgpt, UINT cpt, LPRECT lprect)
|
||
|
{
|
||
|
lprect = output;
|
||
|
cpt = countof rgpt;
|
||
|
}
|