xref: /reactos/sdk/include/psdk/htiframe.idl (revision c2c66aff)
1/*
2 * Copyright 2006,2011 Jacek Caban for CodeWeavers
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
19import "objidl.idl";
20import "oleidl.idl";
21
22/*****************************************************************************
23 *    ITargetNotify interface
24 */
25[
26    object,
27    uuid(863a99a0-21bc-11d0-82b4-00a0c90c29c5),
28    pointer_default(unique)
29]
30interface ITargetNotify : IUnknown
31{
32    typedef [unique] ITargetNotify *LPTARGETNOTIFY;
33
34    HRESULT OnCreate(
35            [in] IUnknown *pUnkDestination,
36            [in] ULONG cbCookie);
37
38    HRESULT OnReuse([in] IUnknown *pUnkDestination);
39}
40
41/*****************************************************************************
42 *    ITargetNotify2 interface
43 */
44[
45    object,
46    uuid(3050f6b1-98b5-11cf-bb82-00aa00bdce0b),
47    pointer_default(unique)
48]
49interface ITargetNotify2 : ITargetNotify
50{
51    typedef [unique] ITargetNotify2 *LPTARGETNOTIFY2;
52
53    HRESULT GetOptionString([in,out] BSTR *pbstrOptions);
54}
55
56/*****************************************************************************
57 *    ITargetFrame2 interface
58 */
59[
60    object,
61    uuid(86d52e11-94a8-11d0-82af-00c04fd5ae38),
62    pointer_default(unique)
63]
64interface ITargetFrame2 : IUnknown
65{
66    typedef [unique] ITargetFrame2 *LPTARGETFRAME2;
67
68    typedef enum {
69        FINDFRAME_NONE               = 0,
70        FINDFRAME_JUSTTESTEXISTENCE  = 1,
71        FINDFRAME_INTERNAL           = 0x80000000
72    } FINDFRAME_FLAGS;
73
74    typedef enum {
75        FRAMEOPTIONS_SCROLL_YES   = 0x00000001,
76        FRAMEOPTIONS_SCROLL_NO    = 0x00000002,
77        FRAMEOPTIONS_SCROLL_AUTO  = 0x00000004,
78        FRAMEOPTIONS_NORESIZE     = 0x00000008,
79        FRAMEOPTIONS_NO3DBORDER   = 0x00000010,
80        FRAMEOPTIONS_DESKTOP      = 0x00000020,
81        FRAMEOPTIONS_BROWSERBAND  = 0x00000040
82    } FRAMEOPTIONS_FLAGS;
83
84    HRESULT SetFrameName([in] LPCWSTR pszFrameName);
85
86    HRESULT GetFrameName([out] LPWSTR *ppszFrameName);
87
88    HRESULT GetParentFrame([out] IUnknown **ppunkParent);
89
90    HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc);
91
92    HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc);
93
94    HRESULT GetFramesContainer([out] IOleContainer **ppContainer);
95
96    HRESULT SetFrameOptions([in] DWORD dwFlags);
97
98    HRESULT GetFrameOptions([out] DWORD *pdwFlags);
99
100    HRESULT SetFrameMargins(
101            [in] DWORD dwWidth,
102            [in] DWORD dwHeight);
103
104    HRESULT GetFrameMargins(
105            [out] DWORD *pdwWidth,
106            [out] DWORD *pdwHeight);
107
108    HRESULT FindFrame(
109            [in,unique] LPCWSTR pszTargetName,
110            [in] DWORD dwFlags,
111            [out] IUnknown **ppunkTargetFrame);
112
113    HRESULT GetTargetAlias(
114            [in,unique] LPCWSTR pszTargetName,
115             [out] LPWSTR *ppszTargetAlias);
116}
117
118/*****************************************************************************
119 *    ITargetContainer interface
120 */
121[
122    object,
123    uuid(7847ec01-2bec-11d0-82b4-00a0c90C29c5),
124    pointer_default(unique)
125]
126interface ITargetContainer : IUnknown
127{
128    typedef [unique] ITargetContainer *LPTARGETCONTAINER;
129
130    HRESULT GetFrameUrl([out] LPWSTR *ppszFrameSrc);
131
132    HRESULT GetFramesContainer([out] IOleContainer **ppContainer);
133
134}
135