ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

textstor.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2009 Aric Stewart, CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef DO_NO_IMPORTS
00020 import "oaidl.idl";
00021 #endif
00022 
00023 cpp_quote("#define TS_E_INVALIDPOS      MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200)")
00024 cpp_quote("#define TS_E_NOLOCK          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
00025 cpp_quote("#define TS_E_NOOBJECT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202)")
00026 cpp_quote("#define TS_E_NOSERVICE       MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0203)")
00027 cpp_quote("#define TS_E_NOINTERFACE     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0204)")
00028 cpp_quote("#define TS_E_NOSELECTION     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0205)")
00029 cpp_quote("#define TS_E_NOLAYOUT        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0206)")
00030 cpp_quote("#define TS_E_INVALIDPOINT    MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0207)")
00031 cpp_quote("#define TS_E_SYNCHRONOUS     MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0208)")
00032 cpp_quote("#define TS_E_READONLY        MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209)")
00033 cpp_quote("#define TS_E_FORMAT          MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x020a)")
00034 
00035 cpp_quote("#define TS_S_ASYNC           MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0300)")
00036 
00037 
00038 const ULONG TS_DEFAULT_SELECTION = ~0u;
00039 
00040 const DWORD TS_SD_READONLY     = 0x001;
00041 const DWORD TS_SD_LOADING      = 0x002;
00042 
00043 const DWORD TS_SS_DISJOINTSEL  = 0x001;
00044 const DWORD TS_SS_REGIONS      = 0x002;
00045 const DWORD TS_SS_TRANSITORY   = 0x004;
00046 const DWORD TS_SS_NOHIDDENTEXT = 0x008;
00047 
00048 const DWORD TS_AS_TEXT_CHANGE      = 0x01;
00049 const DWORD TS_AS_SEL_CHANGE       = 0x02;
00050 const DWORD TS_AS_LAYOUT_CHANGE    = 0x04;
00051 const DWORD TS_AS_ATTR_CHANGE      = 0x08;
00052 const DWORD TS_AS_STATUS_CHANGE    = 0x10;
00053 
00054 const DWORD TS_AS_ALL_SINKS = (TS_AS_TEXT_CHANGE | TS_AS_SEL_CHANGE | TS_AS_LAYOUT_CHANGE | TS_AS_ATTR_CHANGE | TS_AS_STATUS_CHANGE);
00055 
00056 const DWORD TS_LF_SYNC            = 0x1;
00057 const DWORD TS_LF_READ            = 0x2;
00058 const DWORD TS_LF_READWRITE       = 0x6;
00059 
00060 const WCHAR TS_CHAR_EMBEDDED     = 0xfffc;
00061 const WCHAR TS_CHAR_REGION       = 0x0000;
00062 const WCHAR TS_CHAR_REPLACEMENT  = 0xfffd;
00063 
00064 const DWORD TS_IAS_NOQUERY    = 0x1;
00065 const DWORD TS_IAS_QUERYONLY  = 0x2;
00066 
00067 typedef [uuid(05fcf85b-5e9c-4c3e-ab71-29471d4f38e7)]  enum { TS_AE_NONE, TS_AE_START, TS_AE_END } TsActiveSelEnd;
00068 typedef [uuid(033b0df0-f193-4170-b47b-141afc247878)]  enum { TS_RT_PLAIN, TS_RT_HIDDEN, TS_RT_OPAQUE } TsRunType;
00069 typedef [uuid(ef3457d9-8446-49a7-a9e6-b50d9d5f3fd9)]  GUID TS_ATTRID;
00070 
00071 typedef [uuid(fec4f516-c503-45b1-a5fd-7a3d8ab07049)] struct TS_STATUS
00072 {
00073     DWORD dwDynamicFlags;
00074     DWORD dwStaticFlags;
00075 } TS_STATUS;
00076 
00077 typedef [uuid(f3181bd6-bcf0-41d3-a81c-474b17ec38fb)]  struct TS_TEXTCHANGE
00078 {
00079     LONG acpStart;
00080     LONG acpOldEnd;
00081     LONG acpNewEnd;
00082 } TS_TEXTCHANGE;
00083 
00084 typedef [uuid(7ecc3ffa-8f73-4d91-98ed-76f8ac5b1600)]  struct TS_SELECTIONSTYLE
00085 {
00086     TsActiveSelEnd ase;
00087     BOOL fInterimChar;
00088 } TS_SELECTIONSTYLE;
00089 
00090 typedef [uuid(c4b9c33b-8a0d-4426-bebe-d444a4701fe9)]  struct TS_SELECTION_ACP
00091 {
00092     LONG acpStart;
00093     LONG acpEnd;
00094     TS_SELECTIONSTYLE style;
00095 } TS_SELECTION_ACP;
00096 
00097 typedef [uuid(a6231949-37c5-4b74-a24e-2a26c327201d)]  struct TS_RUNINFO
00098 {
00099     ULONG uCount;
00100     TsRunType type;
00101 } TS_RUNINFO;
00102 
00103 typedef [uuid(2cc2b33f-1174-4507-b8d9-5bc0eb37c197)]  struct TS_ATTRVAL
00104 {
00105     TS_ATTRID idAttr;
00106     DWORD dwOverlapId;
00107     VARIANT varValue;
00108 } TS_ATTRVAL;
00109 
00110 typedef [uuid(7899d7c4-5f07-493c-a89a-fac8e777f476)]  enum { TS_LC_CREATE, TS_LC_CHANGE, TS_LC_DESTROY } TsLayoutCode;
00111 typedef [uuid(1faf509e-44c1-458e-950a-38a96705a62b)]  DWORD TsViewCookie;
00112 
00113 [
00114   object,
00115   uuid(22d44c94-a419-4542-a272-ae26093ececf),
00116   pointer_default(unique)
00117 ]
00118 interface ITextStoreACPSink : IUnknown
00119 {
00120     HRESULT OnTextChange(
00121         [in] DWORD dwFlags,
00122         [in] const TS_TEXTCHANGE *pChange);
00123 
00124     HRESULT OnSelectionChange();
00125 
00126     HRESULT OnLayoutChange(
00127         [in] TsLayoutCode lcode,
00128         [in] TsViewCookie vcView);
00129 
00130     HRESULT OnStatusChange(
00131         [in] DWORD dwFlags);
00132 
00133     HRESULT OnAttrsChange(
00134         [in] LONG acpStart,
00135         [in] LONG acpEnd,
00136         [in] ULONG cAttrs,
00137         [in, size_is(cAttrs)] const TS_ATTRID *paAttrs);
00138 
00139     HRESULT OnLockGranted(
00140         [in] DWORD dwLockFlags);
00141 
00142     HRESULT OnStartEditTransaction();
00143 
00144     HRESULT OnEndEditTransaction();
00145 };
00146 
00147 [
00148   object,
00149   uuid(28888fe3-c2a0-483a-a3ea-8cb1ce51ff3d),
00150   pointer_default(unique)
00151 ]
00152 interface ITextStoreACP : IUnknown
00153 {
00154     HRESULT AdviseSink(
00155         [in] REFIID riid,
00156         [in, iid_is(riid)] IUnknown *punk,
00157         [in] DWORD dwMask);
00158 
00159     HRESULT UnadviseSink(
00160         [in] IUnknown *punk);
00161 
00162     HRESULT RequestLock(
00163         [in] DWORD dwLockFlags,
00164         [out] HRESULT *phrSession);
00165 
00166     HRESULT GetStatus(
00167         [out] TS_STATUS *pdcs);
00168 
00169     HRESULT QueryInsert(
00170         [in] LONG acpTestStart,
00171         [in] LONG acpTestEnd,
00172         [in] ULONG cch,
00173         [out] LONG *pacpResultStart,
00174         [out] LONG *pacpResultEnd);
00175 
00176     HRESULT GetSelection(
00177         [in] ULONG ulIndex,
00178         [in] ULONG ulCount,
00179         [out, size_is(ulCount), length_is(*pcFetched)] TS_SELECTION_ACP *pSelection,
00180         [out] ULONG *pcFetched);
00181 
00182     HRESULT SetSelection(
00183         [in] ULONG ulCount,
00184         [in, size_is(ulCount)] const TS_SELECTION_ACP *pSelection);
00185 
00186     HRESULT GetText(
00187         [in] LONG acpStart,
00188         [in] LONG acpEnd,
00189         [out, size_is(cchPlainReq), length_is(*pcchPlainRet)] WCHAR *pchPlain,
00190         [in] ULONG cchPlainReq,
00191         [out] ULONG *pcchPlainRet,
00192         [out, size_is(cRunInfoReq), length_is(*pcRunInfoRet)] TS_RUNINFO *prgRunInfo,
00193         [in] ULONG cRunInfoReq,
00194         [out] ULONG *pcRunInfoRet,
00195         [out] LONG *pacpNext);
00196 
00197     HRESULT SetText(
00198         [in] DWORD dwFlags,
00199         [in] LONG acpStart,
00200         [in] LONG acpEnd,
00201         [in, size_is(cch)] const WCHAR *pchText,
00202         [in] ULONG cch,
00203         [out] TS_TEXTCHANGE *pChange);
00204 
00205     HRESULT GetFormattedText(
00206         [in] LONG acpStart,
00207         [in] LONG acpEnd,
00208         [out] IDataObject **ppDataObject);
00209 
00210     HRESULT GetEmbedded(
00211         [in] LONG acpPos,
00212         [in] REFGUID rguidService,
00213         [in] REFIID riid,
00214         [out, iid_is(riid)] IUnknown **ppunk);
00215 
00216     HRESULT QueryInsertEmbedded(
00217         [in] const GUID *pguidService,
00218         [in] const FORMATETC *pFormatEtc,
00219         [out] BOOL *pfInsertable);
00220 
00221     HRESULT InsertEmbedded(
00222         [in] DWORD dwFlags,
00223         [in] LONG acpStart,
00224         [in] LONG acpEnd,
00225         [in] IDataObject *pDataObject,
00226         [out] TS_TEXTCHANGE *pChange);
00227 
00228 
00229     HRESULT InsertTextAtSelection(
00230         [in] DWORD dwFlags,
00231         [in, size_is(cch)] const WCHAR *pchText,
00232         [in] ULONG cch,
00233         [out] LONG *pacpStart,
00234         [out] LONG *pacpEnd,
00235         [out] TS_TEXTCHANGE *pChange);
00236 
00237     HRESULT InsertEmbeddedAtSelection(
00238         [in] DWORD dwFlags,
00239         [in] IDataObject *pDataObject,
00240         [out] LONG *pacpStart,
00241         [out] LONG *pacpEnd,
00242         [out] TS_TEXTCHANGE *pChange);
00243 
00244     HRESULT RequestSupportedAttrs(
00245         [in] DWORD dwFlags,
00246         [in] ULONG cFilterAttrs,
00247         [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs);
00248 
00249     HRESULT RequestAttrsAtPosition(
00250         [in] LONG acpPos,
00251         [in] ULONG cFilterAttrs,
00252         [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
00253         [in] DWORD dwFlags);
00254 
00255     HRESULT RequestAttrsTransitioningAtPosition(
00256         [in] LONG acpPos,
00257         [in] ULONG cFilterAttrs,
00258         [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
00259         [in] DWORD dwFlags);
00260 
00261     HRESULT FindNextAttrTransition(
00262         [in] LONG acpStart,
00263         [in] LONG acpHalt,
00264         [in] ULONG cFilterAttrs,
00265         [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
00266         [in] DWORD dwFlags,
00267         [out] LONG *pacpNext,
00268         [out] BOOL *pfFound,
00269         [out] LONG *plFoundOffset);
00270 
00271     HRESULT RetrieveRequestedAttrs(
00272         [in] ULONG ulCount,
00273         [out, size_is(ulCount), length_is(*pcFetched)] TS_ATTRVAL *paAttrVals,
00274         [out] ULONG *pcFetched);
00275 
00276     HRESULT GetEndACP(
00277         [out] LONG *pacp);
00278 
00279     HRESULT GetActiveView(
00280         [out] TsViewCookie *pvcView);
00281 
00282     HRESULT GetACPFromPoint(
00283         [in] TsViewCookie vcView,
00284         [in] const POINT *ptScreen,
00285         [in] DWORD dwFlags,
00286         [out] LONG *pacp);
00287 
00288     HRESULT GetTextExt(
00289         [in] TsViewCookie vcView,
00290         [in] LONG acpStart,
00291         [in] LONG acpEnd,
00292         [out] RECT *prc,
00293         [out] BOOL *pfClipped);
00294 
00295     HRESULT GetScreenExt(
00296         [in] TsViewCookie vcView,
00297         [out] RECT *prc);
00298 
00299     HRESULT GetWnd(
00300         [in] TsViewCookie vcView,
00301         [out] HWND *phwnd);
00302 };

Generated on Sat May 26 2012 04:31:15 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.