summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
commitf215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch)
tree6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl
parentInitial commit. (diff)
downloadvirtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz
virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/indexsrv.idl133
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);
+}