xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

fboverlay.h (3539B)


      1 /*
      2  *
      3  * Copyright © 2000 SuSE, Inc.
      4  *
      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.
     14  *
     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.
     21  *
     22  * Author:  Keith Packard, SuSE, Inc.
     23  */
     24 
     25 #ifndef _FBOVERLAY_H_
     26 #define _FBOVERLAY_H_
     27 
     28 #include "privates.h"
     29 
     30 extern _X_EXPORT DevPrivateKey fbOverlayGetScreenPrivateKey(void);
     31 
     32 #ifndef FB_OVERLAY_MAX
     33 #define FB_OVERLAY_MAX	2
     34 #endif
     35 
     36 typedef void (*fbOverlayPaintKeyProc) (DrawablePtr, RegionPtr, CARD32, int);
     37 
     38 typedef struct _fbOverlayLayer {
     39     union {
     40         struct {
     41             void *pbits;
     42             int width;
     43             int depth;
     44         } init;
     45         struct {
     46             PixmapPtr pixmap;
     47             RegionRec region;
     48         } run;
     49     } u;
     50     CARD32 key;                 /* special pixel value */
     51 } FbOverlayLayer;
     52 
     53 typedef struct _fbOverlayScrPriv {
     54     int nlayers;
     55     fbOverlayPaintKeyProc PaintKey;
     56     miCopyProc CopyWindow;
     57     FbOverlayLayer layer[FB_OVERLAY_MAX];
     58 } FbOverlayScrPrivRec, *FbOverlayScrPrivPtr;
     59 
     60 #define fbOverlayGetScrPriv(s) \
     61     dixLookupPrivate(&(s)->devPrivates, fbOverlayGetScreenPrivateKey())
     62 extern _X_EXPORT Bool
     63  fbOverlayCreateWindow(WindowPtr pWin);
     64 
     65 extern _X_EXPORT Bool
     66  fbOverlayCloseScreen(ScreenPtr pScreen);
     67 
     68 extern _X_EXPORT int
     69  fbOverlayWindowLayer(WindowPtr pWin);
     70 
     71 extern _X_EXPORT Bool
     72  fbOverlayCreateScreenResources(ScreenPtr pScreen);
     73 
     74 extern _X_EXPORT void
     75 
     76 fbOverlayPaintKey(DrawablePtr pDrawable,
     77                   RegionPtr pRegion, CARD32 pixel, int layer);
     78 extern _X_EXPORT void
     79  fbOverlayUpdateLayerRegion(ScreenPtr pScreen, int layer, RegionPtr prgn);
     80 
     81 extern _X_EXPORT void
     82  fbOverlayCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
     83 
     84 extern _X_EXPORT void
     85 fbOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn);
     86 
     87 extern _X_EXPORT Bool
     88 
     89 fbOverlaySetupScreen(ScreenPtr pScreen,
     90                      void *pbits1,
     91                      void *pbits2,
     92                      int xsize,
     93                      int ysize,
     94                      int dpix,
     95                      int dpiy, int width1, int width2, int bpp1, int bpp2);
     96 
     97 extern _X_EXPORT Bool
     98 
     99 fbOverlayFinishScreenInit(ScreenPtr pScreen,
    100                           void *pbits1,
    101                           void *pbits2,
    102                           int xsize,
    103                           int ysize,
    104                           int dpix,
    105                           int dpiy,
    106                           int width1,
    107                           int width2,
    108                           int bpp1, int bpp2, int depth1, int depth2);
    109 
    110 #endif                          /* _FBOVERLAY_H_ */