diff options
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl new file mode 100644 index 00000000..61188a0c --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl @@ -0,0 +1,133 @@ +/* + * Copyright 2006 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +import "oaidl.idl"; +/* FIXME: import "filter.idl"; */ + +/* + * widl doesn't like the declaration of PFNFILLTEXTBUFFER, so work around it... + * Not sure that function pointers are even legal in idl. + */ +cpp_quote("struct tagTEXT_SOURCE;") +cpp_quote("typedef HRESULT (WINAPI *PFNFILLTEXTBUFFER)(struct tagTEXT_SOURCE *pTextSource);") +cpp_quote("#if 0") +typedef void* PFNFILLTEXTBUFFER; +cpp_quote("#endif") + +typedef struct tagTEXT_SOURCE +{ + PFNFILLTEXTBUFFER pfnFillTextBuffer; + const WCHAR *awcBuffer; + ULONG iEnd; + ULONG iCur; +} TEXT_SOURCE; + +typedef enum tagWORDREP_BREAK_TYPE +{ + WORDREP_BREAK_EOW = 0, + WORDREP_BREAK_EOS = 1, + WORDREP_BREAK_EOP = 2, + WORDREP_BREAK_EOC = 3 +} WORDREP_BREAK_TYPE; + + +/***************************************************************************** + * IWordSink interface + */ +[ + uuid(cc907054-c058-101a-b554-08002b33b0e6), + object, + local +] +interface IWordSink : IUnknown +{ + HRESULT PutWord( + [in] ULONG cwc, + [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf, + [in] ULONG cwcSrcLen, + [in] ULONG cwcSrcPos); + HRESULT PutAltWord( + [in] ULONG cwc, + [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf, + [in] ULONG cwcSrcLen, + [in] ULONG cwcSrcPos); + HRESULT StartAltPhrase(void); + HRESULT EndAltPhrase(void); + HRESULT PutBreak( + [in] WORDREP_BREAK_TYPE breakType); +} + +/***************************************************************************** + * IPhraseSink interface + */ +[ + uuid(cc906ff0-c058-101a-b554-08002b33b0e6), + object, + local +] +interface IPhraseSink: IUnknown +{ + HRESULT PutSmallPhrase( + [size_is(cwcNoun)][in] const WCHAR *pwcNoun, + [in] ULONG cwcNoun, + [size_is(cwcModifier)][in] const WCHAR *pwcModifier, + [in] ULONG cwcModifier, + [in] ULONG ulAttachmentType); + HRESULT PutPhrase( + [size_is(cwcPhrase)][in] const WCHAR *pwcPhrase, + [in] ULONG cwcPhrase); +} + +/***************************************************************************** + * IWordBreaker interface + */ +[ + uuid(d53552c8-77e3-101a-b552-08002b33b0e6), + object, + local +] +interface IWordBreaker: IUnknown +{ + HRESULT Init( + [in] BOOL fQuery, + [in] ULONG ulMaxTokenSize, + [out] BOOL *pfLicense); + HRESULT BreakText( + [in] TEXT_SOURCE *pTextSource, + [in] IWordSink *pWordSink, + [in] IPhraseSink *pPhraseSink); + HRESULT ComposePhrase( + [size_is(cwcNoun)][in] const WCHAR *pwcNoun, + [in] ULONG cwcNoun, + [size_is(cwcModifier)][in] const WCHAR *pwcModifier, + [in] ULONG cwcModifier, + [in] ULONG ulAttachmentType, + [size_is(*pcwcPhrase)][out] WCHAR *pwcPhrase, + [out][in] ULONG *pcwcPhrase); + HRESULT GetLicenseToUse( + [string][out] const WCHAR **ppwcsLicense); +} |