summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/richole.idl
blob: a50681d1b7be9bc94e85b71e8b850c4a2821fdaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*
 * Copyright (C) 2002 Andriy Palamarchuk
 * Copyright (C) 2004 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.
 */

cpp_quote("#if 0")  /* not included on Windows */
import "oleidl.idl";
cpp_quote("#endif")

/* REOBJECT structure flags */
cpp_quote("#define REO_GETOBJ_NO_INTERFACES        0x00000000")
cpp_quote("#define REO_GETOBJ_POLEOBJ              0x00000001")
cpp_quote("#define REO_GETOBJ_PSTG                 0x00000002")
cpp_quote("#define REO_GETOBJ_POLESITE             0x00000004")
cpp_quote("#define REO_GETOBJ_ALL_INTERFACES       0x00000007")
cpp_quote("#define REO_CP_SELECTION                0xFFFFFFFF")
cpp_quote("#define REO_IOB_SELECTION               0xFFFFFFFF")
cpp_quote("#define REO_IOB_USE_CP                  0xFFFFFFFE")
cpp_quote("#define REO_NULL                        0x00000000")
cpp_quote("#define REO_READWRITEMASK               0x0000003F")
cpp_quote("#define REO_DONTNEEDPALETTE             0x00000020")
cpp_quote("#define REO_BLANK                       0x00000010")
cpp_quote("#define REO_DYNAMICSIZE                 0x00000008")
cpp_quote("#define REO_INVERTEDSELECT              0x00000004")
cpp_quote("#define REO_BELOWBASELINE               0x00000002")
cpp_quote("#define REO_RESIZABLE                   0x00000001")
cpp_quote("#define REO_LINK                        0x80000000")
cpp_quote("#define REO_STATIC                      0x40000000")
cpp_quote("#define REO_SELECTED                    0x08000000")
cpp_quote("#define REO_OPEN                        0x04000000")
cpp_quote("#define REO_INPLACEACTIVE               0x02000000")
cpp_quote("#define REO_HILITED                     0x01000000")
cpp_quote("#define REO_LINKAVAILABLE               0x00800000")
cpp_quote("#define REO_GETMETAFILE                 0x00400000")

/* clipboard operation flags */
cpp_quote("#define RECO_PASTE            0x00000000")
cpp_quote("#define RECO_DROP             0x00000001")
cpp_quote("#define RECO_COPY             0x00000002")
cpp_quote("#define RECO_CUT              0x00000003")
cpp_quote("#define RECO_DRAG             0x00000004")

typedef struct _reobject {
    DWORD cbStruct;
    LONG cp;
    CLSID clsid;
    LPOLEOBJECT poleobj;
    LPSTORAGE pstg;
    LPOLECLIENTSITE polesite;
    SIZEL sizel;
    DWORD dvaspect;
    DWORD dwFlags;
    DWORD dwUser;
} REOBJECT;

cpp_quote("#ifndef __RICHEDIT_CHARRANGE_DEFINED")
cpp_quote("#define __RICHEDIT_CHARRANGE_DEFINED")

typedef struct _charrange
{
    LONG cpMin;
    LONG cpMax;
} CHARRANGE;

cpp_quote("#endif /* __RICHEDIT_CHARRANGE_DEFINED */")

/*****************************************************************************
 * IRichEditOle
 */
[
  object,
  uuid(00020d00-0000-0000-c000-000000000046),
  pointer_default(unique)
]
interface IRichEditOle : IUnknown
{
    typedef [unique] IRichEditOle *LPRICHEDITOLE;

    HRESULT GetClientSite(LPOLECLIENTSITE *lplpolesite);
    HRESULT GetObjectCount();
    HRESULT GetLinkCount();
    HRESULT GetObject(LONG iob, REOBJECT *lpreobject, DWORD dwFlags);
    HRESULT InsertObject(REOBJECT *lpreobject);
    HRESULT ConvertObject(LONG iob, REFCLSID rclsidNew, LPCSTR lpstrUserTypeNew);
    HRESULT ActivateAs(REFCLSID rclsid, REFCLSID rclsidAs);
    HRESULT SetHostNames(LPCSTR lpstrContainerApp, LPCSTR lpstrContainerObj);
    HRESULT SetLinkAvailable(LONG iob, BOOL fAvailable);
    HRESULT SetDvaspect(LONG iob, DWORD dvaspect);
    HRESULT HandsOffStorage(LONG iob);
    HRESULT SaveCompleted(LONG iob, LPSTORAGE lpstg);
    HRESULT InPlaceDeactivate();
    HRESULT ContextSensitiveHelp(BOOL fEnterMode);
    HRESULT GetClipboardData(CHARRANGE* lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj);
    HRESULT ImportDataObject(LPDATAOBJECT lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict);
}

/*****************************************************************************
 * IRichEditOleCallback
 */
[
  object,
  uuid(00020d03-0000-0000-c000-000000000046),
  pointer_default(unique)
]
interface IRichEditOleCallback : IUnknown
{
    typedef [unique] IRichEditOleCallback *LPRICHEDITOLECALLBACK;

    HRESULT GetNewStorage(LPSTORAGE *lplpstg);
    HRESULT GetInPlaceContext(LPOLEINPLACEFRAME *lplpFrame, LPOLEINPLACEUIWINDOW *lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo);
    HRESULT ShowContainerUI(BOOL fShow);
    HRESULT QueryInsertObject(LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp);
    HRESULT DeleteObject(LPOLEOBJECT lpoleobj);
    HRESULT QueryAcceptData(LPDATAOBJECT lpdataobj, CLIPFORMAT *lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict);
    HRESULT ContextSensitiveHelp(BOOL fEnterMode);
    HRESULT GetClipboardData(CHARRANGE *lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj);
    HRESULT GetDragDropEffect(BOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect);
    HRESULT GetContextMenu(WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE *lpchrg, HMENU *lphmenu);
}