Add pgs color type setting
[xy_vsfilter.git] / include / realmedia / rmasite2.h
blob00161108a969f5dad8be2504e28db73a12cae83d
1 /****************************************************************************
2 *
3 * $Id: rmasite2.h 7 2003-05-30 02:18:02Z gabest $
4 *
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.
18 #ifndef _RMASITE2_H_
19 #define _RMASITE2_H_
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 /****************************************************************************
31 * Interface:
33 * IRMASite2
35 * Purpose:
37 * Interface for IRMASite2 objects.
39 * IID_IRMASite:
41 * {0x00000D0A-0901-11d1-8B06-00A024406D59}
44 DEFINE_GUID(IID_IRMASite2, 0x00000D0A, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
45 0xa0, 0x24, 0x40, 0x6d, 0x59);
47 #undef INTERFACE
48 #define INTERFACE IRMASite
50 DECLARE_INTERFACE_(IRMASite2, IUnknown)
53 * IUnknown methods
55 STDMETHOD(QueryInterface) (THIS_
56 REFIID riid,
57 void** ppvObj) PURE;
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_
75 BOOL bShow) PURE;
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_
84 INT32 lZOrder
85 ) PURE;
88 * IRMASite2 method called to get the site's Z-order
90 STDMETHOD(GetZOrder) (THIS_
91 REF(INT32) lZOrder
92 ) PURE;
95 * IRMASite2 method called to set the site at the top
96 * of the Z-order
98 STDMETHOD(MoveSiteToTop) (THIS) PURE;
101 * IRMASite2 method called to get the site's video surface
103 STDMETHOD(GetVideoSurface) (THIS_
104 REF(IRMAVideoSurface*) pSurface
105 ) PURE;
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
117 ) PURE;
120 * IRMASite2 method to remove a watcher that does not affect the site
122 STDMETHOD(RemovePassiveSiteWatcher) (THIS_
123 IRMAPassiveSiteWatcher* pWatcher
124 ) PURE;
127 * IRMASite2 method used to do cursor management
129 STDMETHOD(SetCursor) (THIS_
130 PNxCursor ulCursor,
131 REF(PNxCursor) ulOldCursor
132 ) PURE;
135 /****************************************************************************
137 * Interface:
139 * IRMAPassiveSiteWatcher
141 * Purpose:
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);
153 #undef INTERFACE
154 #define INTERFACE IRMAPassiveSiteWatcher
156 DECLARE_INTERFACE_(IRMAPassiveSiteWatcher, IUnknown)
159 * IUnknown methods
161 STDMETHOD(QueryInterface) (THIS_
162 REFIID riid,
163 void** ppvObj) PURE;
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
178 * about size updates
180 STDMETHOD(SizeChanged) (THIS_
181 PNxSize* /*IN*/ pSize) PURE;
185 #endif //_RMASITE2_H_