1 /****************************************************************************
3 * $Id: rmasite2.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
7 * http://www.real.com/devzone
9 * This program contains proprietary
10 * information of Progressive Networks, Inc, and is licensed
11 * subject to restrictions on use and distribution.
14 * RealMedia Architecture Simple Window Interfaces.
22 * Forward declarations of some interfaces defined or used here-in.
25 //typedef _INTERFACE IRMASite2 IRMASite2;
26 typedef _INTERFACE IRMAVideoSurface IRMAVideoSurface
;
27 typedef _INTERFACE IRMAPassiveSiteWatcher IRMAPassiveSiteWatcher
;
29 /****************************************************************************
37 * Interface for IRMASite2 objects.
41 * {0x00000D0A-0901-11d1-8B06-00A024406D59}
44 DEFINE_GUID(IID_IRMASite2
, 0x00000D0A, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
45 0xa0, 0x24, 0x40, 0x6d, 0x59);
48 #define INTERFACE IRMASite
50 DECLARE_INTERFACE_(IRMASite2
, IUnknown
)
55 STDMETHOD(QueryInterface
) (THIS_
59 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
61 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
64 * IRMASite2 method usually called by the "context"
65 * when window attributes (like the window handle) have changed.
67 STDMETHOD(UpdateSiteWindow
) (THIS_
68 PNxWindow
* /*IN*/ pWindow
) PURE
;
71 * IRMASite2 method usually called by the "context" to
72 * to hide/show a site.
74 STDMETHOD(ShowSite
) (THIS_
77 STDMETHOD_(BOOL
, IsSiteVisible
) (THIS
) PURE
;
80 * IRMASite2 method usually called by the "context" to
81 * set the site's Z-order
83 STDMETHOD(SetZOrder
) (THIS_
88 * IRMASite2 method called to get the site's Z-order
90 STDMETHOD(GetZOrder
) (THIS_
95 * IRMASite2 method called to set the site at the top
98 STDMETHOD(MoveSiteToTop
) (THIS
) PURE
;
101 * IRMASite2 method called to get the site's video surface
103 STDMETHOD(GetVideoSurface
) (THIS_
104 REF(IRMAVideoSurface
*) pSurface
108 * IRMASite2 method called to get the number of child sites.
110 STDMETHOD_(UINT32
,GetNumberOfChildSites
) (THIS
) PURE
;
113 * IRMASite2 method to add a watcher that does not affect the site
115 STDMETHOD(AddPassiveSiteWatcher
) (THIS_
116 IRMAPassiveSiteWatcher
* pWatcher
120 * IRMASite2 method to remove a watcher that does not affect the site
122 STDMETHOD(RemovePassiveSiteWatcher
) (THIS_
123 IRMAPassiveSiteWatcher
* pWatcher
127 * IRMASite2 method used to do cursor management
129 STDMETHOD(SetCursor
) (THIS_
131 REF(PNxCursor
) ulOldCursor
135 /****************************************************************************
139 * IRMAPassiveSiteWatcher
143 * Interface for IRMAPassiveSiteWatcher objects.
145 * IID_IRMAPassiveSiteWatcher:
147 * {0x00000D0F-0901-11d1-8B06-00A024406D59}
150 DEFINE_GUID(IID_IRMAPassiveSiteWatcher
, 0x00000D0F, 0x901, 0x11d1, 0x8b, 0x6,
151 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
154 #define INTERFACE IRMAPassiveSiteWatcher
156 DECLARE_INTERFACE_(IRMAPassiveSiteWatcher
, IUnknown
)
161 STDMETHOD(QueryInterface
) (THIS_
165 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
167 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
170 * IRMAPassiveSiteWatcher method used to notify
171 * about position updates
173 STDMETHOD(PositionChanged
) (THIS_
174 PNxPoint
* /*IN*/ pPoint
) PURE
;
177 * IRMAPassiveSiteWatcher method used to notify
180 STDMETHOD(SizeChanged
) (THIS_
181 PNxSize
* /*IN*/ pSize
) PURE
;
185 #endif //_RMASITE2_H_