[PATCH 2/3] include: Add ITextStoreACP2 interface.

Jactry Zeng jzeng at codeweavers.com
Wed Sep 25 10:14:18 CDT 2019


Signed-off-by: Jactry Zeng <jzeng at codeweavers.com>
---
 include/textstor.idl | 59 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/include/textstor.idl b/include/textstor.idl
index c6d88c7d04..e9f14025c0 100644
--- a/include/textstor.idl
+++ b/include/textstor.idl
@@ -312,3 +312,62 @@ interface ITextStoreACP : IUnknown
         [in] TsViewCookie vcView,
         [out] HWND *phwnd);
 }
+
+[
+    object,
+    uuid(f86ad89f-5fe4-4b8d-bb9f-ef3797a84f1f),
+    pointer_default(unique)
+]
+interface ITextStoreACP2 : IUnknown
+{
+    HRESULT AdviseSink([in] REFIID riid, [in, iid_is(riid)] IUnknown *punk, [in] DWORD mask);
+    HRESULT UnadviseSink([in] IUnknown *punk);
+    HRESULT RequestLock([in] DWORD flags, [out] HRESULT *session);
+    HRESULT GetStatus([out] TS_STATUS *status);
+    HRESULT QueryInsert([in] LONG start, [in] LONG end, [in] ULONG cch,
+                        [out] LONG *result_start, [out] LONG *result_end);
+    HRESULT GetSelection([in] ULONG index, [in] ULONG count,
+                         [out, size_is(count), length_is(*fetched)] TS_SELECTION_ACP *selection,
+                         [out] ULONG *fetched);
+    HRESULT SetSelection([in] ULONG count, [in, size_is(count)] const TS_SELECTION_ACP *selection);
+    HRESULT GetText([in] LONG start, [in] LONG end,
+                    [out, size_is(plain_size), length_is(*plain_length)] WCHAR *plain,
+                    [in] ULONG plain_size, [out] ULONG *plain_length,
+                    [out, size_is(runinfo_size), length_is(*runinfo_length)] TS_RUNINFO *runinfo,
+                    [in] ULONG runinfo_size, [out] ULONG *runinfo_length, [out] LONG *next);
+    HRESULT SetText([in] DWORD flags, [in] LONG start, [in] LONG end, [in, size_is(cch)] const WCHAR *text,
+                    [in] ULONG cch, [out] TS_TEXTCHANGE *change);
+    HRESULT GetFormattedText([in] LONG start, [in] LONG end, [out] IDataObject **object);
+    HRESULT GetEmbedded([in] LONG pos, [in] REFGUID service, [in] REFIID riid,
+                        [out, iid_is(riid)] IUnknown **ppunk);
+    HRESULT QueryInsertEmbedded([in] const GUID *service, [in] const FORMATETC *format,
+                                [out] BOOL *insertable);
+    HRESULT InsertEmbedded([in] DWORD flags, [in] LONG start, [in] LONG end,
+                           [in] IDataObject *object, [out] TS_TEXTCHANGE *change);
+    HRESULT InsertTextAtSelection([in] DWORD flags, [in, size_is(cch)] const WCHAR *text, [in] ULONG cch,
+                                  [out] LONG *start, [out] LONG *end, [out] TS_TEXTCHANGE *change);
+    HRESULT InsertEmbeddedAtSelection([in] DWORD flags, [in] IDataObject *object, [out] LONG *start,
+                                      [out] LONG *end, [out] TS_TEXTCHANGE *change);
+    HRESULT RequestSupportedAttrs([in] DWORD flags, [in] ULONG count,
+                                  [in, size_is(count), unique] const TS_ATTRID *attrs);
+    HRESULT RequestAttrsAtPosition([in] LONG pos, [in] ULONG count,
+                                   [in, size_is(count), unique] const TS_ATTRID *attrs,
+                                   [in] DWORD flags);
+    HRESULT RequestAttrsTransitioningAtPosition([in] LONG pos, [in] ULONG count,
+                                                [in, size_is(count), unique] const TS_ATTRID *attrs,
+                                                [in] DWORD flags);
+    HRESULT FindNextAttrTransition([in] LONG start, [in] LONG halt, [in] ULONG count,
+                                   [in, size_is(count), unique] const TS_ATTRID *attrs,
+                                   [in] DWORD flags, [out] LONG *next, [out] BOOL *found,
+                                   [out] LONG *offset);
+    HRESULT RetrieveRequestedAttrs([in] ULONG count,
+                                   [out, size_is(count), length_is(*fetched)] TS_ATTRVAL *attrs,
+                                   [out] ULONG *fetched);
+    HRESULT GetEndACP([out] LONG *pacp);
+    HRESULT GetActiveView([out] TsViewCookie *view);
+    HRESULT GetACPFromPoint([in] TsViewCookie view, [in] const POINT *screen,
+                            [in] DWORD flags, [out] LONG *pacp);
+    HRESULT GetTextExt([in] TsViewCookie view, [in] LONG start, [in] LONG end,
+                       [out] RECT *rect, [out] BOOL *clipped);
+    HRESULT GetScreenExt([in] TsViewCookie view, [out] RECT *rect);
+}
-- 
2.23.0





More information about the wine-devel mailing list