3 * Copyright © 2000 SuSE, Inc.
5 * Permission to use, copy, modify, distribute, and sell this software and its
6 * documentation for any purpose is hereby granted without fee, provided that
7 * the above copyright notice appear in all copies and that both that
8 * copyright notice and this permission notice appear in supporting
9 * documentation, and that the name of SuSE not be used in advertising or
10 * publicity pertaining to distribution of the software without specific,
11 * written prior permission. SuSE makes no representations about the
12 * suitability of this software for any purpose. It is provided "as is"
13 * without express or implied warranty.
15 * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
17 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
19 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
20 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22 * Author: Keith Packard, SuSE, Inc.
30 extern _X_EXPORT DevPrivateKey
fbOverlayGetScreenPrivateKey(void);
32 #ifndef FB_OVERLAY_MAX
33 #define FB_OVERLAY_MAX 2
36 typedef void (*fbOverlayPaintKeyProc
) (DrawablePtr
, RegionPtr
, CARD32
, int);
38 typedef struct _fbOverlayLayer
{
50 CARD32 key
; /* special pixel value */
53 typedef struct _fbOverlayScrPriv
{
55 fbOverlayPaintKeyProc PaintKey
;
56 miCopyProc CopyWindow
;
57 FbOverlayLayer layer
[FB_OVERLAY_MAX
];
58 } FbOverlayScrPrivRec
, *FbOverlayScrPrivPtr
;
60 #define fbOverlayGetScrPriv(s) \
61 dixLookupPrivate(&(s)->devPrivates, fbOverlayGetScreenPrivateKey())
63 fbOverlayCreateWindow(WindowPtr pWin
);
66 fbOverlayCloseScreen(ScreenPtr pScreen
);
69 fbOverlayWindowLayer(WindowPtr pWin
);
72 fbOverlayCreateScreenResources(ScreenPtr pScreen
);
76 fbOverlayPaintKey(DrawablePtr pDrawable
,
77 RegionPtr pRegion
, CARD32 pixel
, int layer
);
79 fbOverlayUpdateLayerRegion(ScreenPtr pScreen
, int layer
, RegionPtr prgn
);
82 fbOverlayCopyWindow(WindowPtr pWin
, DDXPointRec ptOldOrg
, RegionPtr prgnSrc
);
86 fbOverlayWindowExposures(WindowPtr pWin
,
87 RegionPtr prgn
, RegionPtr other_exposed
);
91 fbOverlaySetupScreen(ScreenPtr pScreen
,
97 int dpiy
, int width1
, int width2
, int bpp1
, int bpp2
);
101 fbOverlayFinishScreenInit(ScreenPtr pScreen
,
110 int bpp1
, int bpp2
, int depth1
, int depth2
);
112 #endif /* _FBOVERLAY_H_ */