From: Jactry Zeng Subject: [PATCH 2/3] include: Add ITextStoreACP2 interface. Message-Id: <951b611c-904b-f271-37ea-03e7ee597a2a@codeweavers.com> Date: Wed, 25 Sep 2019 23:14:18 +0800 Signed-off-by: Jactry Zeng --- 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