[0.4.14][RICHED20] Decorate thiscall functions as such. ROSTESTS-375 CORE-17021

This fixes CORE-17021 'Mail.ru agent crashes on master'
(just threw first-chance exception in 0.4.14RC without actually causing the crash there)
which regressed by 0.4.14-dev-418-g 661b8a2a05

and it fixes ROSTESTS-375 'riched20:txtsrv crashes on Test WHS x86'
which regressed by 0.4.14-dev-419-g 76cf09cfea

fix picked from 0.4.15-dev-3370-g c8b6abab80
This commit is contained in:
Joachim Henze 2021-11-15 22:30:53 +01:00
parent bdb4fb93fa
commit 1c6eb6d0b8
4 changed files with 142 additions and 155 deletions

View file

@ -103,63 +103,63 @@ static ULONG WINAPI ITextHostImpl_Release(ITextHost *iface)
return ref; return ref;
} }
DECLSPEC_HIDDEN HDC WINAPI ITextHostImpl_TxGetDC(ITextHost *iface) DECLSPEC_HIDDEN HDC __thiscall ITextHostImpl_TxGetDC(ITextHost *iface)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return GetDC(This->hWnd); return GetDC(This->hWnd);
} }
DECLSPEC_HIDDEN INT WINAPI ITextHostImpl_TxReleaseDC(ITextHost *iface, HDC hdc) DECLSPEC_HIDDEN INT __thiscall ITextHostImpl_TxReleaseDC(ITextHost *iface, HDC hdc)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return ReleaseDC(This->hWnd, hdc); return ReleaseDC(This->hWnd, hdc);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxShowScrollBar(ITextHost *iface, INT fnBar, BOOL fShow) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxShowScrollBar(ITextHost *iface, INT fnBar, BOOL fShow)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return ShowScrollBar(This->hWnd, fnBar, fShow); return ShowScrollBar(This->hWnd, fnBar, fShow);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxEnableScrollBar(ITextHost *iface, INT fuSBFlags, INT fuArrowflags) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxEnableScrollBar(ITextHost *iface, INT fuSBFlags, INT fuArrowflags)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return EnableScrollBar(This->hWnd, fuSBFlags, fuArrowflags); return EnableScrollBar(This->hWnd, fuSBFlags, fuArrowflags);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxSetScrollRange(ITextHost *iface, INT fnBar, LONG nMinPos, INT nMaxPos, DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxSetScrollRange(ITextHost *iface, INT fnBar, LONG nMinPos, INT nMaxPos,
BOOL fRedraw) BOOL fRedraw)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return SetScrollRange(This->hWnd, fnBar, nMinPos, nMaxPos, fRedraw); return SetScrollRange(This->hWnd, fnBar, nMinPos, nMaxPos, fRedraw);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxSetScrollPos(ITextHost *iface, INT fnBar, INT nPos, BOOL fRedraw) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxSetScrollPos(ITextHost *iface, INT fnBar, INT nPos, BOOL fRedraw)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return SetScrollPos(This->hWnd, fnBar, nPos, fRedraw) != 0; return SetScrollPos(This->hWnd, fnBar, nPos, fRedraw) != 0;
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxInvalidateRect(ITextHost *iface, LPCRECT prc, BOOL fMode) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxInvalidateRect(ITextHost *iface, LPCRECT prc, BOOL fMode)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
InvalidateRect(This->hWnd, prc, fMode); InvalidateRect(This->hWnd, prc, fMode);
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxViewChange(ITextHost *iface, BOOL fUpdate) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxViewChange(ITextHost *iface, BOOL fUpdate)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
if (fUpdate) if (fUpdate)
UpdateWindow(This->hWnd); UpdateWindow(This->hWnd);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxCreateCaret(ITextHost *iface, HBITMAP hbmp, INT xWidth, INT yHeight) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxCreateCaret(ITextHost *iface, HBITMAP hbmp, INT xWidth, INT yHeight)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return CreateCaret(This->hWnd, hbmp, xWidth, yHeight); return CreateCaret(This->hWnd, hbmp, xWidth, yHeight);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxShowCaret(ITextHost *iface, BOOL fShow) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxShowCaret(ITextHost *iface, BOOL fShow)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
if (fShow) if (fShow)
@ -168,34 +168,34 @@ DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxShowCaret(ITextHost *iface, BOOL fSh
return HideCaret(This->hWnd); return HideCaret(This->hWnd);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxSetCaretPos(ITextHost *iface, DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxSetCaretPos(ITextHost *iface,
INT x, INT y) INT x, INT y)
{ {
return SetCaretPos(x, y); return SetCaretPos(x, y);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxSetTimer(ITextHost *iface, UINT idTimer, UINT uTimeout) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxSetTimer(ITextHost *iface, UINT idTimer, UINT uTimeout)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return SetTimer(This->hWnd, idTimer, uTimeout, NULL) != 0; return SetTimer(This->hWnd, idTimer, uTimeout, NULL) != 0;
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxKillTimer(ITextHost *iface, UINT idTimer) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxKillTimer(ITextHost *iface, UINT idTimer)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
KillTimer(This->hWnd, idTimer); KillTimer(This->hWnd, idTimer);
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxScrollWindowEx(ITextHost *iface, INT dx, INT dy, LPCRECT lprcScroll, DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxScrollWindowEx(ITextHost *iface, INT dx, INT dy, LPCRECT lprcScroll,
LPCRECT lprcClip, HRGN hRgnUpdate, LPRECT lprcUpdate, LPCRECT lprcClip, HRGN hRgnUpdate, LPRECT lprcUpdate,
UINT fuScroll) UINT fuScroll)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ScrollWindowEx(This->hWnd, dx, dy, lprcScroll, lprcClip, ScrollWindowEx(This->hWnd, dx, dy, lprcScroll, lprcClip,
hRgnUpdate, lprcUpdate, fuScroll); hRgnUpdate, lprcUpdate, fuScroll);
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxSetCapture(ITextHost *iface, BOOL fCapture) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxSetCapture(ITextHost *iface, BOOL fCapture)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
if (fCapture) if (fCapture)
@ -204,54 +204,50 @@ DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxSetCapture(ITextHost *iface, BOOL fC
ReleaseCapture(); ReleaseCapture();
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxSetFocus(ITextHost *iface) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxSetFocus(ITextHost *iface)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
SetFocus(This->hWnd); SetFocus(This->hWnd);
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxSetCursor(ITextHost *iface, DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxSetCursor(ITextHost *iface, HCURSOR hcur, BOOL fText)
HCURSOR hcur,
BOOL fText)
{ {
SetCursor(hcur); SetCursor(hcur);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxScreenToClient(ITextHost *iface, LPPOINT lppt) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxScreenToClient(ITextHost *iface, LPPOINT lppt)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return ScreenToClient(This->hWnd, lppt); return ScreenToClient(This->hWnd, lppt);
} }
DECLSPEC_HIDDEN BOOL WINAPI ITextHostImpl_TxClientToScreen(ITextHost *iface, LPPOINT lppt) DECLSPEC_HIDDEN BOOL __thiscall ITextHostImpl_TxClientToScreen(ITextHost *iface, LPPOINT lppt)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return ClientToScreen(This->hWnd, lppt); return ClientToScreen(This->hWnd, lppt);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxActivate(ITextHost *iface, LONG *plOldState) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxActivate(ITextHost *iface, LONG *plOldState)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
*plOldState = HandleToLong(SetActiveWindow(This->hWnd)); *plOldState = HandleToLong(SetActiveWindow(This->hWnd));
return (*plOldState ? S_OK : E_FAIL); return (*plOldState ? S_OK : E_FAIL);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxDeactivate(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxDeactivate(ITextHost *iface, LONG lNewState)
LONG lNewState)
{ {
HWND ret = SetActiveWindow(LongToHandle(lNewState)); HWND ret = SetActiveWindow(LongToHandle(lNewState));
return (ret ? S_OK : E_FAIL); return (ret ? S_OK : E_FAIL);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetClientRect(ITextHost *iface, LPRECT prc) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetClientRect(ITextHost *iface, LPRECT prc)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
int ret = GetClientRect(This->hWnd, prc); int ret = GetClientRect(This->hWnd, prc);
return (ret ? S_OK : E_FAIL); return (ret ? S_OK : E_FAIL);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetViewInset(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetViewInset(ITextHost *iface, LPRECT prc)
LPRECT prc)
{ {
prc->top = 0; prc->top = 0;
prc->left = 0; prc->left = 0;
@ -260,41 +256,36 @@ DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetViewInset(ITextHost *iface,
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetCharFormat(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetCharFormat(ITextHost *iface, const CHARFORMATW **ppCF)
const CHARFORMATW **ppCF)
{ {
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetParaFormat(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetParaFormat(ITextHost *iface, const PARAFORMAT **fmt)
const PARAFORMAT **fmt)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
*fmt = (const PARAFORMAT *)&This->para_fmt; *fmt = (const PARAFORMAT *)&This->para_fmt;
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN COLORREF WINAPI ITextHostImpl_TxGetSysColor(ITextHost *iface, DECLSPEC_HIDDEN COLORREF __thiscall ITextHostImpl_TxGetSysColor(ITextHost *iface, int nIndex)
int nIndex)
{ {
return GetSysColor(nIndex); return GetSysColor(nIndex);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetBackStyle(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetBackStyle(ITextHost *iface, TXTBACKSTYLE *pStyle)
TXTBACKSTYLE *pStyle)
{ {
*pStyle = TXTBACK_OPAQUE; *pStyle = TXTBACK_OPAQUE;
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetMaxLength(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetMaxLength(ITextHost *iface, DWORD *pLength)
DWORD *pLength)
{ {
*pLength = INFINITE; *pLength = INFINITE;
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetScrollBars(ITextHost *iface, DWORD *pdwScrollBar) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetScrollBars(ITextHost *iface, DWORD *pdwScrollBar)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ME_TextEditor *editor = (ME_TextEditor*)GetWindowLongPtrW(This->hWnd, 0); ME_TextEditor *editor = (ME_TextEditor*)GetWindowLongPtrW(This->hWnd, 0);
@ -317,39 +308,34 @@ DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetScrollBars(ITextHost *iface, D
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetPasswordChar(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetPasswordChar(ITextHost *iface, WCHAR *pch)
WCHAR *pch)
{ {
*pch = '*'; *pch = '*';
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetAcceleratorPos(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetAcceleratorPos(ITextHost *iface, LONG *pch)
LONG *pch)
{ {
*pch = -1; *pch = -1;
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetExtent(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetExtent(ITextHost *iface, LPSIZEL lpExtent)
LPSIZEL lpExtent)
{ {
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_OnTxCharFormatChange(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_OnTxCharFormatChange(ITextHost *iface, const CHARFORMATW *pcf)
const CHARFORMATW *pcf)
{ {
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_OnTxParaFormatChange(ITextHost *iface, DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_OnTxParaFormatChange(ITextHost *iface, const PARAFORMAT *ppf)
const PARAFORMAT *ppf)
{ {
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetPropertyBits(ITextHost *iface, DWORD dwMask, DWORD *pdwBits) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetPropertyBits(ITextHost *iface, DWORD dwMask, DWORD *pdwBits)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ME_TextEditor *editor = (ME_TextEditor *)GetWindowLongPtrW(This->hWnd, 0); ME_TextEditor *editor = (ME_TextEditor *)GetWindowLongPtrW(This->hWnd, 0);
@ -415,7 +401,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetPropertyBits(ITextHost *iface,
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxNotify(ITextHost *iface, DWORD iNotify, void *pv) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxNotify(ITextHost *iface, DWORD iNotify, void *pv)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ME_TextEditor *editor = (ME_TextEditor*)GetWindowLongPtrW(This->hWnd, 0); ME_TextEditor *editor = (ME_TextEditor*)GetWindowLongPtrW(This->hWnd, 0);
@ -473,19 +459,19 @@ DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxNotify(ITextHost *iface, DWORD iN
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HIMC WINAPI ITextHostImpl_TxImmGetContext(ITextHost *iface) DECLSPEC_HIDDEN HIMC __thiscall ITextHostImpl_TxImmGetContext(ITextHost *iface)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
return ImmGetContext(This->hWnd); return ImmGetContext(This->hWnd);
} }
DECLSPEC_HIDDEN void WINAPI ITextHostImpl_TxImmReleaseContext(ITextHost *iface, HIMC himc) DECLSPEC_HIDDEN void __thiscall ITextHostImpl_TxImmReleaseContext(ITextHost *iface, HIMC himc)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ImmReleaseContext(This->hWnd, himc); ImmReleaseContext(This->hWnd, himc);
} }
DECLSPEC_HIDDEN HRESULT WINAPI ITextHostImpl_TxGetSelectionBarWidth(ITextHost *iface, LONG *lSelBarWidth) DECLSPEC_HIDDEN HRESULT __thiscall ITextHostImpl_TxGetSelectionBarWidth(ITextHost *iface, LONG *lSelBarWidth)
{ {
ITextHostImpl *This = impl_from_ITextHost(iface); ITextHostImpl *This = impl_from_ITextHost(iface);
ME_TextEditor *editor = (ME_TextEditor *)GetWindowLongPtrW(This->hWnd, 0); ME_TextEditor *editor = (ME_TextEditor *)GetWindowLongPtrW(This->hWnd, 0);

View file

@ -132,8 +132,8 @@ static ULONG WINAPI fnTextSrv_Release(ITextServices *iface)
return IUnknown_Release(This->outer_unk); return IUnknown_Release(This->outer_unk);
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxSendMessage(ITextServices *iface, UINT msg, WPARAM wparam, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxSendMessage(ITextServices *iface, UINT msg, WPARAM wparam,
LPARAM lparam, LRESULT *plresult) LPARAM lparam, LRESULT *plresult)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
HRESULT hresult; HRESULT hresult;
@ -144,11 +144,11 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxSendMessage(ITextServices *iface, UIN
return hresult; return hresult;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxDraw(ITextServices *iface, DWORD dwDrawAspect, LONG lindex, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxDraw(ITextServices *iface, DWORD dwDrawAspect, LONG lindex,
void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw, HDC hdcTargetDev, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw, HDC hdcTargetDev,
LPCRECTL lprcBounds, LPCRECTL lprcWBounds, LPRECT lprcUpdate, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, LPRECT lprcUpdate,
BOOL (CALLBACK * pfnContinue)(DWORD), DWORD dwContinue, BOOL (CALLBACK * pfnContinue)(DWORD), DWORD dwContinue,
LONG lViewId) LONG lViewId)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -156,8 +156,8 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxDraw(ITextServices *iface, DWORD dwDr
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetHScroll(ITextServices *iface, LONG *plMin, LONG *plMax, LONG *plPos, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetHScroll(ITextServices *iface, LONG *plMin, LONG *plMax, LONG *plPos,
LONG *plPage, BOOL *pfEnabled) LONG *plPage, BOOL *pfEnabled)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -174,8 +174,8 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetHScroll(ITextServices *iface, LONG
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetVScroll(ITextServices *iface, LONG *plMin, LONG *plMax, LONG *plPos, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetVScroll(ITextServices *iface, LONG *plMin, LONG *plMax, LONG *plPos,
LONG *plPage, BOOL *pfEnabled) LONG *plPage, BOOL *pfEnabled)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -192,9 +192,9 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetVScroll(ITextServices *iface, LONG
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxSetCursor(ITextServices *iface, DWORD dwDrawAspect, LONG lindex, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxSetCursor(ITextServices *iface, DWORD dwDrawAspect, LONG lindex,
void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw,
HDC hicTargetDev, LPCRECT lprcClient, INT x, INT y) HDC hicTargetDev, LPCRECT lprcClient, INT x, INT y)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -202,10 +202,10 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxSetCursor(ITextServices *iface, DWO
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxQueryHitPoint(ITextServices *iface, DWORD dwDrawAspect, LONG lindex, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxQueryHitPoint(ITextServices *iface, DWORD dwDrawAspect, LONG lindex,
void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcDraw,
HDC hicTargetDev, LPCRECT lprcClient, INT x, INT y, HDC hicTargetDev, LPCRECT lprcClient, INT x, INT y,
DWORD *pHitResult) DWORD *pHitResult)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -213,7 +213,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxQueryHitPoint(ITextServices *iface, D
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxInplaceActivate(ITextServices *iface, LPCRECT prcClient) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxInplaceActivate(ITextServices *iface, LPCRECT prcClient)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -221,7 +221,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxInplaceActivate(ITextServices *ifac
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxInplaceDeactivate(ITextServices *iface) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxInplaceDeactivate(ITextServices *iface)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -229,7 +229,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxInplaceDeactivate(ITextServices *if
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxUIActivate(ITextServices *iface) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxUIActivate(ITextServices *iface)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -237,7 +237,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxUIActivate(ITextServices *iface)
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxUIDeactivate(ITextServices *iface) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxUIDeactivate(ITextServices *iface)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -245,7 +245,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxUIDeactivate(ITextServices *iface)
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetText(ITextServices *iface, BSTR *pbstrText) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetText(ITextServices *iface, BSTR *pbstrText)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
int length; int length;
@ -269,7 +269,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetText(ITextServices *iface, BSTR *p
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxSetText(ITextServices *iface, LPCWSTR pszText) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxSetText(ITextServices *iface, LPCWSTR pszText)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
ME_Cursor cursor; ME_Cursor cursor;
@ -287,7 +287,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxSetText(ITextServices *iface, LPCWSTR
return S_OK; return S_OK;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetCurTargetX(ITextServices *iface, LONG *x) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetCurTargetX(ITextServices *iface, LONG *x)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -295,7 +295,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetCurTargetX(ITextServices *iface, L
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetBaseLinePos(ITextServices *iface, LONG *x) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetBaseLinePos(ITextServices *iface, LONG *x)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -303,9 +303,9 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetBaseLinePos(ITextServices *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetNaturalSize(ITextServices *iface, DWORD dwAspect, HDC hdcDraw, DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetNaturalSize(ITextServices *iface, DWORD dwAspect, HDC hdcDraw,
HDC hicTargetDev, DVTARGETDEVICE *ptd, DWORD dwMode, HDC hicTargetDev, DVTARGETDEVICE *ptd, DWORD dwMode,
const SIZEL *psizelExtent, LONG *pwidth, LONG *pheight) const SIZEL *psizelExtent, LONG *pwidth, LONG *pheight)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -313,7 +313,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetNaturalSize(ITextServices *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetDropTarget(ITextServices *iface, IDropTarget **ppDropTarget) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetDropTarget(ITextServices *iface, IDropTarget **ppDropTarget)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -321,7 +321,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetDropTarget(ITextServices *iface, I
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxPropertyBitsChange(ITextServices *iface, DWORD dwMask, DWORD dwBits) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_OnTxPropertyBitsChange(ITextServices *iface, DWORD dwMask, DWORD dwBits)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);
@ -329,7 +329,7 @@ DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_OnTxPropertyBitsChange(ITextServices *i
return E_NOTIMPL; return E_NOTIMPL;
} }
DECLSPEC_HIDDEN HRESULT WINAPI fnTextSrv_TxGetCachedSize(ITextServices *iface, DWORD *pdwWidth, DWORD *pdwHeight) DECLSPEC_HIDDEN HRESULT __thiscall fnTextSrv_TxGetCachedSize(ITextServices *iface, DWORD *pdwWidth, DWORD *pdwHeight)
{ {
ITextServicesImpl *This = impl_from_ITextServices(iface); ITextServicesImpl *This = impl_from_ITextServices(iface);

View file

@ -129,11 +129,6 @@ static ULONG WINAPI ITextHostImpl_Release(ITextHost *iface)
} }
} }
#ifdef __REACTOS__
#undef __thiscall
#define __thiscall WINAPI
#endif /* __REACTOS__ */
static HDC __thiscall ITextHostImpl_TxGetDC(ITextHost *iface) static HDC __thiscall ITextHostImpl_TxGetDC(ITextHost *iface)
{ {
ITextHostTestImpl *This = impl_from_ITextHost(iface); ITextHostTestImpl *This = impl_from_ITextHost(iface);
@ -424,10 +419,6 @@ static HRESULT __thiscall ITextHostImpl_TxGetSelectionBarWidth(ITextHost *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
#ifdef __REACTOS__
#undef __thiscall
#endif /* __REACTOS__ */
static ITextHostVtbl itextHostVtbl = { static ITextHostVtbl itextHostVtbl = {
ITextHostImpl_QueryInterface, ITextHostImpl_QueryInterface,
ITextHostImpl_AddRef, ITextHostImpl_AddRef,

View file

@ -23,6 +23,16 @@
extern "C" { extern "C" {
#endif #endif
#ifdef __REACTOS__
#include <wine/asm.h>
#endif
#ifdef __cplusplus
#define THISCALLMETHOD_(type,method) virtual type __thiscall method
#else
#define THISCALLMETHOD_(type,method) type (__thiscall *method)
#endif
DEFINE_GUID(IID_ITextServices,0x8d33f740,0xcf58,0x11ce,0xa8,0x9d,0x00,0xaa,0x00,0x6c,0xad,0xc5); DEFINE_GUID(IID_ITextServices,0x8d33f740,0xcf58,0x11ce,0xa8,0x9d,0x00,0xaa,0x00,0x6c,0xad,0xc5);
DEFINE_GUID(IID_ITextHost, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5); DEFINE_GUID(IID_ITextHost, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5);
DEFINE_GUID(IID_ITextHost2, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5); DEFINE_GUID(IID_ITextHost2, 0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5);
@ -44,10 +54,10 @@ DECLARE_INTERFACE_(ITextServices,IUnknown)
/*** ITextServices methods ***/ /*** ITextServices methods ***/
STDMETHOD(TxSendMessage)( THIS_ THISCALLMETHOD_(HRESULT,TxSendMessage)( THIS_
UINT msg, WPARAM wparam, LPARAM lparam, LRESULT* plresult) PURE; UINT msg, WPARAM wparam, LPARAM lparam, LRESULT* plresult) PURE;
STDMETHOD(TxDraw)( THIS_ THISCALLMETHOD_(HRESULT,TxDraw)( THIS_
DWORD dwDrawAspect, DWORD dwDrawAspect,
LONG lindex, LONG lindex,
void* pvAspect, void* pvAspect,
@ -61,21 +71,21 @@ DECLARE_INTERFACE_(ITextServices,IUnknown)
DWORD dwContinue, DWORD dwContinue,
LONG lViewId) PURE; LONG lViewId) PURE;
STDMETHOD(TxGetHScroll)( THIS_ THISCALLMETHOD_(HRESULT,TxGetHScroll)( THIS_
LONG* plMin, LONG* plMin,
LONG* plMax, LONG* plMax,
LONG* plPos, LONG* plPos,
LONG* plPage, LONG* plPage,
BOOL* pfEnabled) PURE; BOOL* pfEnabled) PURE;
STDMETHOD(TxGetVScroll)( THIS_ THISCALLMETHOD_(HRESULT,TxGetVScroll)( THIS_
LONG* plMin, LONG* plMin,
LONG* plMax, LONG* plMax,
LONG* plPos, LONG* plPos,
LONG* plPage, LONG* plPage,
BOOL* pfEnabled) PURE; BOOL* pfEnabled) PURE;
STDMETHOD(OnTxSetCursor)( THIS_ THISCALLMETHOD_(HRESULT,OnTxSetCursor)( THIS_
DWORD dwDrawAspect, DWORD dwDrawAspect,
LONG lindex, LONG lindex,
void* pvAspect, void* pvAspect,
@ -86,7 +96,7 @@ DECLARE_INTERFACE_(ITextServices,IUnknown)
INT x, INT x,
INT y) PURE; INT y) PURE;
STDMETHOD(TxQueryHitPoint)( THIS_ THISCALLMETHOD_(HRESULT,TxQueryHitPoint)( THIS_
DWORD dwDrawAspect, DWORD dwDrawAspect,
LONG lindex, LONG lindex,
void* pvAspect, void* pvAspect,
@ -98,28 +108,28 @@ DECLARE_INTERFACE_(ITextServices,IUnknown)
INT y, INT y,
DWORD* pHitResult) PURE; DWORD* pHitResult) PURE;
STDMETHOD(OnTxInplaceActivate)( THIS_ THISCALLMETHOD_(HRESULT,OnTxInplaceActivate)( THIS_
LPCRECT prcClient) PURE; LPCRECT prcClient) PURE;
STDMETHOD(OnTxInplaceDeactivate)( THIS ) PURE; THISCALLMETHOD_(HRESULT,OnTxInplaceDeactivate)( THIS ) PURE;
STDMETHOD(OnTxUIActivate)( THIS ) PURE; THISCALLMETHOD_(HRESULT,OnTxUIActivate)( THIS ) PURE;
STDMETHOD(OnTxUIDeactivate)( THIS ) PURE; THISCALLMETHOD_(HRESULT,OnTxUIDeactivate)( THIS ) PURE;
STDMETHOD(TxGetText)( THIS_ THISCALLMETHOD_(HRESULT,TxGetText)( THIS_
BSTR* pbstrText) PURE; BSTR* pbstrText) PURE;
STDMETHOD(TxSetText)( THIS_ THISCALLMETHOD_(HRESULT,TxSetText)( THIS_
LPCWSTR pszText) PURE; LPCWSTR pszText) PURE;
STDMETHOD(TxGetCurrentTargetX)( THIS_ THISCALLMETHOD_(HRESULT,TxGetCurTargetX)( THIS_
LONG* x) PURE; LONG* x) PURE;
STDMETHOD(TxGetBaseLinePos)( THIS_ THISCALLMETHOD_(HRESULT,TxGetBaseLinePos)( THIS_
LONG* x) PURE; LONG* x) PURE;
STDMETHOD(TxGetNaturalSize)( THIS_ THISCALLMETHOD_(HRESULT,TxGetNaturalSize)( THIS_
DWORD dwAspect, DWORD dwAspect,
HDC hdcDraw, HDC hdcDraw,
HDC hicTargetDev, HDC hicTargetDev,
@ -129,14 +139,14 @@ DECLARE_INTERFACE_(ITextServices,IUnknown)
LONG* pwidth, LONG* pwidth,
LONG* pheight) PURE; LONG* pheight) PURE;
STDMETHOD(TxGetDropTarget)( THIS_ THISCALLMETHOD_(HRESULT,TxGetDropTarget)( THIS_
IDropTarget** ppDropTarget) PURE; IDropTarget** ppDropTarget) PURE;
STDMETHOD(OnTxPropertyBitsChange)( THIS_ THISCALLMETHOD_(HRESULT,OnTxPropertyBitsChange)( THIS_
DWORD dwMask, DWORD dwMask,
DWORD dwBits) PURE; DWORD dwBits) PURE;
STDMETHOD(TxGetCachedSize)( THIS_ THISCALLMETHOD_(HRESULT,TxGetCachedSize)( THIS_
DWORD* pdwWidth, DWORD* pdwWidth,
DWORD* pdwHeight) PURE; DWORD* pdwHeight) PURE;
@ -212,58 +222,58 @@ DECLARE_INTERFACE_(ITextHost,IUnknown)
STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** ITextHost methods ***/ /*** ITextHost methods ***/
STDMETHOD_(HDC,TxGetDC)( THIS THISCALLMETHOD_(HDC,TxGetDC)( THIS
) PURE; ) PURE;
STDMETHOD_(INT,TxReleaseDC)( THIS_ THISCALLMETHOD_(INT,TxReleaseDC)( THIS_
HDC hdc) PURE; HDC hdc) PURE;
STDMETHOD_(BOOL,TxShowScrollBar)( THIS_ THISCALLMETHOD_(BOOL,TxShowScrollBar)( THIS_
INT fnBar, INT fnBar,
BOOL fShow) PURE; BOOL fShow) PURE;
STDMETHOD_(BOOL,TxEnableScrollBar)( THIS_ THISCALLMETHOD_(BOOL,TxEnableScrollBar)( THIS_
INT fuSBFlags, INT fuSBFlags,
INT fuArrowflags) PURE; INT fuArrowflags) PURE;
STDMETHOD_(BOOL,TxSetScrollRange)( THIS_ THISCALLMETHOD_(BOOL,TxSetScrollRange)( THIS_
INT fnBar, INT fnBar,
LONG nMinPos, LONG nMinPos,
INT nMaxPos, INT nMaxPos,
BOOL fRedraw) PURE; BOOL fRedraw) PURE;
STDMETHOD_(BOOL,TxSetScrollPos)( THIS_ THISCALLMETHOD_(BOOL,TxSetScrollPos)( THIS_
INT fnBar, INT fnBar,
INT nPos, INT nPos,
BOOL fRedraw) PURE; BOOL fRedraw) PURE;
STDMETHOD_(void,TxInvalidateRect)( THIS_ THISCALLMETHOD_(void,TxInvalidateRect)( THIS_
LPCRECT prc, LPCRECT prc,
BOOL fMode) PURE; BOOL fMode) PURE;
STDMETHOD_(void,TxViewChange)( THIS_ THISCALLMETHOD_(void,TxViewChange)( THIS_
BOOL fUpdate) PURE; BOOL fUpdate) PURE;
STDMETHOD_(BOOL,TxCreateCaret)( THIS_ THISCALLMETHOD_(BOOL,TxCreateCaret)( THIS_
HBITMAP hbmp, HBITMAP hbmp,
INT xWidth, INT xWidth,
INT yHeight) PURE; INT yHeight) PURE;
STDMETHOD_(BOOL,TxShowCaret)( THIS_ THISCALLMETHOD_(BOOL,TxShowCaret)( THIS_
BOOL fShow) PURE; BOOL fShow) PURE;
STDMETHOD_(BOOL,TxSetCaretPos)( THIS_ THISCALLMETHOD_(BOOL,TxSetCaretPos)( THIS_
INT x, INT x,
INT y) PURE; INT y) PURE;
STDMETHOD_(BOOL,TxSetTimer)( THIS_ THISCALLMETHOD_(BOOL,TxSetTimer)( THIS_
UINT idTimer, UINT idTimer,
UINT uTimeout) PURE; UINT uTimeout) PURE;
STDMETHOD_(void,TxKillTimer)( THIS_ THISCALLMETHOD_(void,TxKillTimer)( THIS_
UINT idTimer) PURE; UINT idTimer) PURE;
STDMETHOD_(void,TxScrollWindowEx)( THIS_ THISCALLMETHOD_(void,TxScrollWindowEx)( THIS_
INT dx, INT dx,
INT dy, INT dy,
LPCRECT lprcScroll, LPCRECT lprcScroll,
@ -272,82 +282,82 @@ DECLARE_INTERFACE_(ITextHost,IUnknown)
LPRECT lprcUpdate, LPRECT lprcUpdate,
UINT fuScroll) PURE; UINT fuScroll) PURE;
STDMETHOD_(void,TxSetCapture)( THIS_ THISCALLMETHOD_(void,TxSetCapture)( THIS_
BOOL fCapture) PURE; BOOL fCapture) PURE;
STDMETHOD_(void,TxSetFocus)( THIS THISCALLMETHOD_(void,TxSetFocus)( THIS
) PURE; ) PURE;
STDMETHOD_(void,TxSetCursor)( THIS_ THISCALLMETHOD_(void,TxSetCursor)( THIS_
HCURSOR hcur, HCURSOR hcur,
BOOL fText) PURE; BOOL fText) PURE;
STDMETHOD_(BOOL,TxScreenToClient)( THIS_ THISCALLMETHOD_(BOOL,TxScreenToClient)( THIS_
LPPOINT lppt) PURE; LPPOINT lppt) PURE;
STDMETHOD_(BOOL,TxClientToScreen)( THIS_ THISCALLMETHOD_(BOOL,TxClientToScreen)( THIS_
LPPOINT lppt) PURE; LPPOINT lppt) PURE;
STDMETHOD(TxActivate)( THIS_ THISCALLMETHOD_(HRESULT,TxActivate)( THIS_
LONG* plOldState) PURE; LONG* plOldState) PURE;
STDMETHOD(TxDeactivate)( THIS_ THISCALLMETHOD_(HRESULT,TxDeactivate)( THIS_
LONG lNewState) PURE; LONG lNewState) PURE;
STDMETHOD(TxGetClientRect)( THIS_ THISCALLMETHOD_(HRESULT,TxGetClientRect)( THIS_
LPRECT prc) PURE; LPRECT prc) PURE;
STDMETHOD(TxGetViewInset)( THIS_ THISCALLMETHOD_(HRESULT,TxGetViewInset)( THIS_
LPRECT prc) PURE; LPRECT prc) PURE;
STDMETHOD(TxGetCharFormat)( THIS_ THISCALLMETHOD_(HRESULT,TxGetCharFormat)( THIS_
const CHARFORMATW** ppCF) PURE; const CHARFORMATW** ppCF) PURE;
STDMETHOD(TxGetParaFormat)( THIS_ THISCALLMETHOD_(HRESULT,TxGetParaFormat)( THIS_
const PARAFORMAT** ppPF) PURE; const PARAFORMAT** ppPF) PURE;
STDMETHOD_(COLORREF,TxGetSysColor)( THIS_ THISCALLMETHOD_(COLORREF,TxGetSysColor)( THIS_
int nIndex) PURE; int nIndex) PURE;
STDMETHOD(TxGetBackStyle)( THIS_ THISCALLMETHOD_(HRESULT,TxGetBackStyle)( THIS_
TXTBACKSTYLE* pStyle) PURE; TXTBACKSTYLE* pStyle) PURE;
STDMETHOD(TxGetMaxLength)( THIS_ THISCALLMETHOD_(HRESULT,TxGetMaxLength)( THIS_
DWORD* plength) PURE; DWORD* plength) PURE;
STDMETHOD(TxGetScrollBars)( THIS_ THISCALLMETHOD_(HRESULT,TxGetScrollBars)( THIS_
DWORD* pdwScrollBar) PURE; DWORD* pdwScrollBar) PURE;
STDMETHOD(TxGetPasswordChar)( THIS_ THISCALLMETHOD_(HRESULT,TxGetPasswordChar)( THIS_
WCHAR* pch) PURE; WCHAR* pch) PURE;
STDMETHOD(TxGetAcceleratorPos)( THIS_ THISCALLMETHOD_(HRESULT,TxGetAcceleratorPos)( THIS_
LONG* pch) PURE; LONG* pch) PURE;
STDMETHOD(TxGetExtent)( THIS_ THISCALLMETHOD_(HRESULT,TxGetExtent)( THIS_
LPSIZEL lpExtent) PURE; LPSIZEL lpExtent) PURE;
STDMETHOD(OnTxCharFormatChange)( THIS_ THISCALLMETHOD_(HRESULT,OnTxCharFormatChange)( THIS_
const CHARFORMATW* pcf) PURE; const CHARFORMATW* pcf) PURE;
STDMETHOD(OnTxParaFormatChange)( THIS_ THISCALLMETHOD_(HRESULT,OnTxParaFormatChange)( THIS_
const PARAFORMAT* ppf) PURE; const PARAFORMAT* ppf) PURE;
STDMETHOD(TxGetPropertyBits)( THIS_ THISCALLMETHOD_(HRESULT,TxGetPropertyBits)( THIS_
DWORD dwMask, DWORD dwMask,
DWORD* pdwBits) PURE; DWORD* pdwBits) PURE;
STDMETHOD(TxNotify)( THIS_ THISCALLMETHOD_(HRESULT,TxNotify)( THIS_
DWORD iNotify, DWORD iNotify,
void* pv) PURE; void* pv) PURE;
STDMETHOD_(HIMC,TxImmGetContext)( THIS THISCALLMETHOD_(HIMC,TxImmGetContext)( THIS
) PURE; ) PURE;
STDMETHOD_(void,TxImmReleaseContext)( THIS_ THISCALLMETHOD_(void,TxImmReleaseContext)( THIS_
HIMC himc) PURE; HIMC himc) PURE;
STDMETHOD(TxGetSelectionBarWidth)( THIS_ THISCALLMETHOD_(HRESULT,TxGetSelectionBarWidth)( THIS_
LONG* lSelBarWidth) PURE; LONG* lSelBarWidth) PURE;
}; };