RICHED20: add textserv.h (3rd try)

Mike McCormack mike at codeweavers.com
Fri Jul 1 14:49:06 CDT 2005


Use DECLARE_INTERFACE macros.

Mike


ChangeLog:
* add textserv.h
-------------- next part --------------
Index: include/Makefile.in
===================================================================
RCS file: /home/wine/wine/include/Makefile.in,v
retrieving revision 1.176
diff -u -p -r1.176 Makefile.in
--- include/Makefile.in	30 Jun 2005 20:48:43 -0000	1.176
+++ include/Makefile.in	1 Jul 2005 10:49:04 -0000
@@ -232,6 +232,7 @@ WINDOWS_INCLUDES = \
 	storage.h \
 	tapi.h \
 	tchar.h \
+	textserv.h \
 	tlhelp32.h \
 	tmschema.h \
 	uuids.h \
--- /dev/null	2005-06-30 20:35:17.000000000 +0000
+++ include/textserv.h	2005-07-01 19:45:01.000000000 +0000
@@ -0,0 +1,405 @@
+/*
+ * Copyright (C) 2005 Mike McCormack
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __WINE_TEXTSERV_H
+#define __WINE_TEXTSERV_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+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_ITextHost2,   0xc5bdd8d0,0xd26e,0x11ce,0xa8,0x9e,0x00,0xaa,0x00,0x6c,0xad,0xc5);
+
+/*****************************************************************************
+ * ITextServices interface
+ */
+typedef struct ITextServices ITextServices;
+
+#define INTERFACE ITextServices
+DECLARE_INTERFACE_(ITextServices,IUnknown)
+{
+    /*** IUnknown methods ***/
+    STDMETHOD_(HRESULT,QueryInterface)(THIS_
+        REFIID riid,
+        void** ppvObject) PURE;
+
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+
+    STDMETHOD_(ULONG,Release)(THIS) PURE;
+
+    /*** ITextServices methods ***/
+
+    STDMETHOD_(HRESULT,TxSendMessage)( THIS_
+        UINT msg, WPARAM wparam, LPARAM lparam, LRESULT* plresult) PURE;
+
+    STDMETHOD_(HRESULT,TxDraw)( THIS_
+        DWORD dwDrawAspect,
+        LONG lindex,
+        void* pvAspect,
+        DVTARGETDEVICE* ptd,
+        HDC hdcDraw,
+        HDC hicTargetDev,
+        LPCRECTL lprcBounds,
+        LPCRECTL lprcWBounds,
+        LPRECT lprcUpdate,
+        BOOL (CALLBACK * pfnContinue)(DWORD),
+        DWORD dwContinue,
+        LONG lViewId) PURE;
+
+    STDMETHOD_(HRESULT,TxGetHScroll)( THIS_
+        LONG* plMin,
+        LONG* plMax,
+        LONG* plPos,
+        LONG* plPage,
+        BOOL* pfEnabled) PURE;
+
+    STDMETHOD_(HRESULT,TxGetVScroll)( THIS_
+        LONG* plMin,
+        LONG* plMax,
+        LONG* plPos,
+        LONG* plPage,
+        BOOL* pfEnabled) PURE;
+
+    STDMETHOD_(HRESULT,OnTxSetCursor)( THIS_
+        DWORD dwDrawAspect,
+        LONG lindex,
+        void* pvAspect,
+        DVTARGETDEVICE* ptd,
+        HDC hdcDraw,
+        HDC hicTargetDev,
+        LPCRECT lprcClient,
+        INT x,
+        INT y) PURE;
+
+    STDMETHOD_(HRESULT,TxQueryHitPoint)( THIS_
+        DWORD dwDrawAspect,
+        LONG lindex,
+        void* pvAspect,
+        DVTARGETDEVICE* ptd,
+        HDC hdcDraw,
+        HDC hicTargetDev,
+        LPCRECT lprcClient,
+        INT x,
+        INT y,
+        DWORD* pHitResult) PURE;
+
+    STDMETHOD_(HRESULT,OnTxInplaceActivate)( THIS_
+        LPCRECT prcClient) PURE;
+
+    STDMETHOD_(HRESULT,OnTxUIActivate)( THIS ) PURE;
+
+    STDMETHOD_(HRESULT,OnTxUIDeactivate)( THIS ) PURE;
+
+    STDMETHOD_(HRESULT,TxGetText)( THIS_
+        BSTR* pbstrText) PURE;
+
+    STDMETHOD_(HRESULT,TxSetText)( THIS_
+        LPCWSTR pszText) PURE;
+
+    STDMETHOD_(HRESULT,TxGetCurrentTargetX)( THIS_
+        LONG* x) PURE;
+
+    STDMETHOD_(HRESULT,TxGetBaseLinePos)( THIS_
+        LONG* x) PURE;
+
+    STDMETHOD_(HRESULT,TxGetNaturalSize)( THIS_
+        DWORD dwAspect,
+        HDC hdcDraw,
+        HDC hicTargetDev,
+        DVTARGETDEVICE* ptd,
+        DWORD dwMode,
+        const SIZEL* psizelExtent,
+        LONG* pwidth,
+        LONG* pheight) PURE;
+
+    STDMETHOD_(HRESULT,TxGetDropTarget)( THIS_
+        IDropTarget** ppDropTarget) PURE;
+
+    STDMETHOD_(HRESULT,OnTxPropertyBitsChange)( THIS_
+        DWORD dwMask,
+        DWORD dwBits) PURE;
+
+    STDMETHOD_(HRESULT,TxGetCachedSize)( THIS_
+        DWORD* pdwWidth,
+        DWORD* pdwHeight) PURE;
+
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ITextServices_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define ITextServices_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define ITextServices_Release(p) (p)->lpVtbl->Release(p)
+/*** ITextServices methods ***/
+#define ITextServices_TxSendMessage(p,a,b,c,d) (p)->lpVtbl->TxSendMessage(p,a,b,c,d)
+#define ITextServices_TxDraw(p,a,b,c,d,e,f,g,h,i,j,k,l) (p)->lpVtbl->TxDraw(p,a,b,c,d,e,f,g,h,i,j,k,l)
+#define ITextServices_TxGetHScroll(p,a,b,c,d,e) (p)->lpVtbl->TxGetHScroll(p,a,b,c,d,e)
+#define ITextServices_TxGetVScroll(p,a,b,c,d,e) (p)->lpVtbl->TxGetVScroll(p,a,b,c,d,e)
+#define ITextServices_OnTxSetCursor(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->OnTxSetCursor(p,a,b,c,d,e,f,g,h,i)
+#define ITextServices_TxQueryHitPoint(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->TxQueryHitPoint(p,a,b,c,d,e,f,g,h,i,j)
+#define ITextServices_OnTxInplaceActivate(p,a) (p)->lpVtbl->OnTxInplaceActivate(p,a)
+#define ITextServices_OnTxUIActivate(p) (p)->lpVtbl->OnTxUIActivate(p)
+#define ITextServices_OnTxUIDeactivate(p) (p)->lpVtbl->OnTxUIDeactivate(p)
+#define ITextServices_TxGetText(p,a) (p)->lpVtbl->TxGetText(p,a)
+#define ITextServices_TxSetText(p,a) (p)->lpVtbl->TxSetText(p,a)
+#define ITextServices_TxGetCurrentTargetX(p,a) (p)->lpVtbl->TxGetCurrentTargetX(p,a)
+#define ITextServices_TxGetBaseLinePos(p,a) (p)->lpVtbl->TxGetBaseLinePos(p,a)
+#define ITextServices_TxGetNaturalSize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->TxGetNaturalSize(p,a,b,c,d,e,f,g,h)
+#define ITextServices_TxGetDropTarget(p,a) (p)->lpVtbl->TxGetDropTarget(p,a)
+#define ITextServices_OnTxPropertyBitsChange(p,a,b) (p)->lpVtbl->OnTxPropertyBitsChange(p,a,b)
+#define ITextServices_TxGetCachedSize(p,a,b) (p)->lpVtbl->TxGetCachedSize(p,a,b)
+#endif
+
+#undef INTERFACE
+
+typedef enum _TXTBACKSTYLE {
+    TXTBACK_TRANSPARENT = 0,
+    TXTBACK_OPAQUE
+} TXTBACKSTYLE;
+
+enum TXTHITRESULT {
+    TXTHITRESULT_NOHIT = 0,
+    TXTHITRESULT_TRANSPARENT = 1,
+    TXTHITRESULT_CLOSE = 2,
+    TXTHITRESULT_HIT = 3
+};
+
+enum TXTNATURALSIZE {
+    TXTNS_FITTOCONTENT = 1,
+    TXTNS_ROUNDTOLINE = 2
+};
+
+enum TXTVIEW {
+    TXTVIEW_ACTIVE = 0,
+    TXTVIEW_INACTIVE = 1
+};
+
+typedef struct ITextHost ITextHost;
+
+/*****************************************************************************
+ * ITextHost interface
+ */
+#define INTERFACE ITextHost
+DECLARE_INTERFACE_(ITextHost,IUnknown)
+{
+    /*** IUnknown methods ***/
+    STDMETHOD_(HRESULT,QueryInterface)(THIS_
+        REFIID riid,
+        void** ppvObject) PURE;
+
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+
+    STDMETHOD_(ULONG,Release)(THIS) PURE;
+
+    /*** ITextHost methods ***/
+    STDMETHOD_(HDC,TxGetDC)( THIS
+        ) PURE;
+
+    STDMETHOD_(INT,TxReleaseDC)( THIS_
+        HDC hdc) PURE;
+
+    STDMETHOD_(BOOL,TxShowScrollBar)( THIS_
+        INT fnBar,
+        BOOL fShow) PURE;
+
+    STDMETHOD_(BOOL,TxEnableScrollBar)( THIS_
+        INT fuSBFlags,
+        INT fuArrowflags) PURE;
+
+    STDMETHOD_(BOOL,TxSetScrollRange)( THIS_
+        INT fnBar,
+        LONG nMinPos,
+        INT nMaxPos,
+        BOOL fRedraw) PURE;
+
+    STDMETHOD_(BOOL,TxSetScrollPos)( THIS_
+        INT fnBar,
+        INT nPos,
+        BOOL fRedraw) PURE;
+
+    STDMETHOD_(void,TxInvalidateRect)( THIS_
+        LPCRECT prc,
+        BOOL fMode) PURE;
+
+    STDMETHOD_(void,TxViewChange)( THIS_
+        BOOL fUpdate) PURE;
+
+    STDMETHOD_(BOOL,TxCreateCaret)( THIS_
+        HBITMAP hbmp,
+        INT xWidth,
+        INT yHeight) PURE;
+
+    STDMETHOD_(BOOL,TxShowCaret)( THIS_
+        BOOL fShow) PURE;
+
+    STDMETHOD_(BOOL,TxSetCarentPos)( THIS_
+        INT x,
+        INT y) PURE;
+
+    STDMETHOD_(BOOL,TxSetTimer)( THIS_
+        UINT idTimer,
+        UINT uTimeout) PURE;
+
+    STDMETHOD_(void,TxKillTimer)( THIS_
+        UINT idTimer) PURE;
+
+    STDMETHOD_(void,TxScrollWindowEx)( THIS_
+        INT dx,
+        INT dy,
+        LPCRECT lprcScroll,
+        LPCRECT lprcClip,
+        HRGN hRgnUpdate,
+        LPRECT lprcUpdate,
+        UINT fuScroll) PURE;
+
+    STDMETHOD_(void,TxSetCapture)( THIS_
+        BOOL fCapture) PURE;
+
+    STDMETHOD_(void,TxSetFocus)( THIS
+        ) PURE;
+
+    STDMETHOD_(void,TxSetCursor)( THIS_
+        HCURSOR hcur,
+        BOOL fText) PURE;
+
+    STDMETHOD_(BOOL,TxScreenToClient)( THIS_
+        LPPOINT lppt) PURE;
+
+    STDMETHOD_(BOOL,TxClientToScreen)( THIS_
+        LPPOINT lppt) PURE;
+
+    STDMETHOD_(HRESULT,TxActivate)( THIS_
+        LONG* plOldState) PURE;
+
+    STDMETHOD_(HRESULT,TxDeactivate)( THIS_
+        LONG lNewState) PURE;
+
+    STDMETHOD_(HRESULT,TxGetClientRect)( THIS_
+        LPRECT prc) PURE;
+
+    STDMETHOD_(HRESULT,TxGetViewInset)( THIS_
+        LPRECT prc) PURE;
+
+    STDMETHOD_(HRESULT,TxGetCharFormat)( THIS_
+        const CHARFORMATW** ppCF) PURE;
+
+    STDMETHOD_(HRESULT,TxGetParaFormat)( THIS_
+        const PARAFORMAT** ppPF) PURE;
+
+    STDMETHOD_(COLORREF,TxGetSysColor)( THIS_
+        int nIndex) PURE;
+
+    STDMETHOD_(HRESULT,TxGetBackStyle)( THIS_
+        TXTBACKSTYLE* pStyle) PURE;
+
+    STDMETHOD_(HRESULT,TxGetMaxLength)( THIS_
+        DWORD* plength) PURE;
+
+    STDMETHOD_(HRESULT,TxGetScrollbars)( THIS_
+        DWORD* pdwScrollBar) PURE;
+
+    STDMETHOD_(HRESULT,TxGetPasswordChar)( THIS_
+        WCHAR* pch) PURE;
+
+    STDMETHOD_(HRESULT,TxGetAcceleratorPos)( THIS_
+        LONG* pch) PURE;
+
+    STDMETHOD_(HRESULT,TxGetExtent)( THIS_
+        LPSIZEL lpExtent) PURE;
+
+    STDMETHOD_(HRESULT,OnTxCharFormatChange)( THIS_
+        const CHARFORMATW* pcf) PURE;
+
+    STDMETHOD_(HRESULT,OnTxParaFormatChange)( THIS_
+        const PARAFORMAT* ppf) PURE;
+
+    STDMETHOD_(HRESULT,TxGetPropertyBits)( THIS_
+        DWORD dwMask,
+        DWORD* pdwBits) PURE;
+
+    STDMETHOD_(HRESULT,TxNotify)( THIS_
+        DWORD iNotify,
+        void* pv) PURE;
+
+    STDMETHOD_(HIMC,TxImmGetContext)( THIS
+        ) PURE;
+
+    STDMETHOD_(void,TxImmReleaseContext)( THIS_
+        HIMC himc) PURE;
+
+    STDMETHOD_(HRESULT,TxGetSelectionBarWidth)( THIS_
+        LONG* lSelBarWidth) PURE;
+
+};
+
+#ifdef COBJMACROS
+/*** IUnknown methods ***/
+#define ITextHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define ITextHost_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define ITextHost_Release(p) (p)->lpVtbl->Release(p)
+/*** ITextHost methods ***/
+#define ITextHost_TxGetDC(p) (p)->lpVtbl->TxGetDC(p)
+#define ITextHost_TxReleaseDC(p,a) (p)->lpVtbl->TxReleaseDC(p,a)
+#define ITextHost_TxShowScrollBar(p,a,b) (p)->lpVtbl->TxShowScrollBar(p,a,b)
+#define ITextHost_TxEnableScrollBar(p,a,b) (p)->lpVtbl->TxEnableScrollBar(p,a,b)
+#define ITextHost_TxSetScrollRange(p,a,b,c,d) (p)->lpVtbl->TxSetScrollRange(p,a,b,c,d)
+#define ITextHost_TxSetScrollPos(p,a,b,c) (p)->lpVtbl->TxSetScrollPos(p,a,b,c)
+#define ITextHost_TxInvalidateRect(p,a,b) (p)->lpVtbl->TxInvalidateRect(p,a,b)
+#define ITextHost_TxViewChange(p,a) (p)->lpVtbl->TxViewChange(p,a)
+#define ITextHost_TxCreateCaret(p,a,b,c) (p)->lpVtbl->TxCreateCaret(p,a,b,c)
+#define ITextHost_TxShowCaret(p,a) (p)->lpVtbl->TxShowCaret(p,a)
+#define ITextHost_TxSetCarentPos(p,a,b) (p)->lpVtbl->TxSetCarentPos(p,a,b)
+#define ITextHost_TxSetTimer(p,a,b) (p)->lpVtbl->TxSetTimer(p,a,b)
+#define ITextHost_TxKillTimer(p,a) (p)->lpVtbl->TxKillTimer(p,a)
+#define ITextHost_TxScrollWindowEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->TxScrollWindowEx(p,a,b,c,d,e,f,g)
+#define ITextHost_TxSetCapture(p,a) (p)->lpVtbl->TxSetCapture(p,a)
+#define ITextHost_TxSetFocus(p) (p)->lpVtbl->TxSetFocus(p)
+#define ITextHost_TxSetCursor(p,a,b) (p)->lpVtbl->TxSetCursor(p,a,b)
+#define ITextHost_TxScreenToClient(p,a) (p)->lpVtbl->TxScreenToClient(p,a)
+#define ITextHost_TxClientToScreen(p,a) (p)->lpVtbl->TxClientToScreen(p,a)
+#define ITextHost_TxActivate(p,a) (p)->lpVtbl->TxActivate(p,a)
+#define ITextHost_TxDeactivate(p,a) (p)->lpVtbl->TxDeactivate(p,a)
+#define ITextHost_TxGetClientRect(p,a) (p)->lpVtbl->TxGetClientRect(p,a)
+#define ITextHost_TxGetViewInset(p,a) (p)->lpVtbl->TxGetViewInset(p,a)
+#define ITextHost_TxGetCharFormat(p,a) (p)->lpVtbl->TxGetCharFormat(p,a)
+#define ITextHost_TxGetParaFormat(p,a) (p)->lpVtbl->TxGetParaFormat(p,a)
+#define ITextHost_TxGetSysColor(p,a) (p)->lpVtbl->TxGetSysColor(p,a)
+#define ITextHost_TxGetBackStyle(p,a) (p)->lpVtbl->TxGetBackStyle(p,a)
+#define ITextHost_TxGetMaxLength(p,a) (p)->lpVtbl->TxGetMaxLength(p,a)
+#define ITextHost_TxGetScrollbars(p,a) (p)->lpVtbl->TxGetScrollbars(p,a)
+#define ITextHost_TxGetPasswordChar(p,a) (p)->lpVtbl->TxGetPasswordChar(p,a)
+#define ITextHost_TxGetAcceleratorPos(p,a) (p)->lpVtbl->TxGetAcceleratorPos(p,a)
+#define ITextHost_TxGetExtent(p,a) (p)->lpVtbl->TxGetExtent(p,a)
+#define ITextHost_OnTxCharFormatChange(p,a) (p)->lpVtbl->OnTxCharFormatChange(p,a)
+#define ITextHost_OnTxParaFormatChange(p,a) (p)->lpVtbl->OnTxParaFormatChange(p,a)
+#define ITextHost_TxGetPropertyBits(p,a,b) (p)->lpVtbl->TxGetPropertyBits(p,a,b)
+#define ITextHost_TxNotify(p,a,b) (p)->lpVtbl->TxNotify(p,a,b)
+#define ITextHost_TxImmGetContext(p) (p)->lpVtbl->TxImmGetContext(p)
+#define ITextHost_TxImmReleaseContext(p,a) (p)->lpVtbl->TxImmReleaseContext(p,a)
+#define ITextHost_TxGetSelectionBarWidth(p,a) (p)->lpVtbl->TxGetSelectionBarWidth(p,a)
+#endif
+
+#undef INTERFACE
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WINE_TEXTSERV_H */


More information about the wine-patches mailing list