/* * Copyright 2009 Aric Stewart, CodeWeavers * * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef DO_NO_IMPORTS import "oaidl.idl"; #endif const ULONG TS_DEFAULT_SELECTION = ~0u; const DWORD TS_SD_READONLY = 0x001; const DWORD TS_SD_LOADING = 0x002; const DWORD TS_SS_DISJOINTSEL = 0x001; const DWORD TS_SS_REGIONS = 0x002; const DWORD TS_SS_TRANSITORY = 0x004; const DWORD TS_SS_NOHIDDENTEXT = 0x008; typedef [uuid(fec4f516-c503-45b1-a5fd-7a3d8ab07049)] struct TS_STATUS { DWORD dwDynamicFlags; DWORD dwStaticFlags; } TS_STATUS; typedef [uuid(f3181bd6-bcf0-41d3-a81c-474b17ec38fb)] struct TS_TEXTCHANGE { LONG acpStart; LONG acpOldEnd; LONG acpNewEnd; } TS_TEXTCHANGE; typedef [uuid(ef3457d9-8446-49a7-a9e6-b50d9d5f3fd9)] GUID TS_ATTRID; typedef [uuid(7899d7c4-5f07-493c-a89a-fac8e777f476)] enum { TS_LC_CREATE, TS_LC_CHANGE, TS_LC_DESTROY } TsLayoutCode; typedef [uuid(1faf509e-44c1-458e-950a-38a96705a62b)] DWORD TsViewCookie; [ object, uuid(22d44c94-a419-4542-a272-ae26093ececf), pointer_default(unique) ] interface ITextStoreACPSink : IUnknown { HRESULT OnTextChange( [in] DWORD dwFlags, [in] const TS_TEXTCHANGE *pChange); HRESULT OnSelectionChange(); HRESULT OnLayoutChange( [in] TsLayoutCode lcode, [in] TsViewCookie vcView); HRESULT OnStatusChange( [in] DWORD dwFlags); HRESULT OnAttrsChange( [in] LONG acpStart, [in] LONG acpEnd, [in] ULONG cAttrs, [in, size_is(cAttrs)] const TS_ATTRID *paAttrs); HRESULT OnLockGranted( [in] DWORD dwLockFlags); HRESULT OnStartEditTransaction(); HRESULT OnEndEditTransaction(); };