VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/indexsrv.idl@ 33282

Last change on this file since 33282 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • Property svn:eol-style set to native
File size: 4.2 KB
Line 
1/*
2 * Copyright 2006 Mike McCormack
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "objidl.idl";
29/* FIXME: import "filter.idl"; */
30
31/*
32 * widl doesn't like the declaration of PFNFILLTEXTBUFFER, so work around it...
33 * Not sure that function pointers are even legal in idl.
34 */
35cpp_quote("struct tagTEXT_SOURCE;")
36cpp_quote("typedef HRESULT (WINAPI *PFNFILLTEXTBUFFER)(struct tagTEXT_SOURCE *pTextSource);")
37cpp_quote("#if 0")
38typedef void* PFNFILLTEXTBUFFER;
39cpp_quote("#endif")
40
41typedef struct tagTEXT_SOURCE
42{
43 PFNFILLTEXTBUFFER pfnFillTextBuffer;
44 const WCHAR *awcBuffer;
45 ULONG iEnd;
46 ULONG iCur;
47} TEXT_SOURCE;
48
49typedef enum tagWORDREP_BREAK_TYPE
50{
51 WORDREP_BREAK_EOW = 0,
52 WORDREP_BREAK_EOS = 1,
53 WORDREP_BREAK_EOP = 2,
54 WORDREP_BREAK_EOC = 3
55} WORDREP_BREAK_TYPE;
56
57
58/*****************************************************************************
59 * IWordSink interface
60 */
61[
62 uuid(cc907054-c058-101a-b554-08002b33b0e6),
63 object,
64 local
65]
66interface IWordSink : IUnknown
67{
68 HRESULT PutWord(
69 [in] ULONG cwc,
70 [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf,
71 [in] ULONG cwcSrcLen,
72 [in] ULONG cwcSrcPos);
73 HRESULT PutAltWord(
74 [in] ULONG cwc,
75 [size_is(cwcSrcLen)][in] const WCHAR *pwcInBuf,
76 [in] ULONG cwcSrcLen,
77 [in] ULONG cwcSrcPos);
78 HRESULT StartAltPhrase(void);
79 HRESULT EndAltPhrase(void);
80 HRESULT PutBreak(
81 [in] WORDREP_BREAK_TYPE breakType);
82}
83
84/*****************************************************************************
85 * IPhraseSink interface
86 */
87[
88 uuid(cc906ff0-c058-101a-b554-08002b33b0e6),
89 object,
90 local
91]
92interface IPhraseSink: IUnknown
93{
94 HRESULT PutSmallPhrase(
95 [size_is(cwcNoun)][in] const WCHAR *pwcNoun,
96 [in] ULONG cwcNoun,
97 [size_is(cwcModifier)][in] const WCHAR *pwcModifier,
98 [in] ULONG cwcModifier,
99 [in] ULONG ulAttachmentType);
100 HRESULT PutPhrase(
101 [size_is(cwcPhrase)][in] const WCHAR *pwcPhrase,
102 [in] ULONG cwcPhrase);
103}
104
105/*****************************************************************************
106 * IWordBreaker interface
107 */
108[
109 uuid(d53552c8-77e3-101a-b552-08002b33b0e6),
110 object,
111 local
112]
113interface IWordBreaker: IUnknown
114{
115 HRESULT Init(
116 [in] BOOL fQuery,
117 [in] ULONG ulMaxTokenSize,
118 [out] BOOL *pfLicense);
119 HRESULT BreakText(
120 [in] TEXT_SOURCE *pTextSource,
121 [in] IWordSink *pWordSink,
122 [in] IPhraseSink *pPhraseSink);
123 HRESULT ComposePhrase(
124 [size_is(cwcNoun)][in] const WCHAR *pwcNoun,
125 [in] ULONG cwcNoun,
126 [size_is(cwcModifier)][in] const WCHAR *pwcModifier,
127 [in] ULONG cwcModifier,
128 [in] ULONG ulAttachmentType,
129 [size_is(*pcwcPhrase)][out] WCHAR *pwcPhrase,
130 [out][in] ULONG *pcwcPhrase);
131 HRESULT GetLicenseToUse(
132 [string][out] const WCHAR **ppwcsLicense);
133}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette