b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/include/bstorestr.h,v 1.2 2001/01/06 20:58:12 tsi Exp $*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright (c) 1987 by the Regents of the University of California
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, and distribute this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose and without fee is hereby granted, provided
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * that the above copyright notice appear in all copies. The University of
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * California makes no representations about the suitability of this software
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * for any purpose. It is provided "as is" without express or implied
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * warranty.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Moved here from mi to allow wrapping of lower level backing store functions.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * -- 1997.10.27 Marc Aurele La France (tsi@xfree86.org)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _BSTORESTR_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _BSTORESTR_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "gc.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "pixmap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "region.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "window.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (* BackingStoreSaveAreasProcPtr)(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pBackingPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*pObscured*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (* BackingStoreRestoreAreasProcPtr)(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pBackingPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*pExposed*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (* BackingStoreSetClipmaskRgnProcPtr)(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pBackingGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*pbackingCompositeClip*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef PixmapPtr (* BackingStoreGetImagePixmapProcPtr)(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef PixmapPtr (* BackingStoreGetSpansPixmapProcPtr)(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _BSFuncs {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BackingStoreSaveAreasProcPtr SaveAreas;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BackingStoreRestoreAreasProcPtr RestoreAreas;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BackingStoreSetClipmaskRgnProcPtr SetClipmaskRgn;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BackingStoreGetImagePixmapProcPtr GetImagePixmap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BackingStoreGetSpansPixmapProcPtr GetSpansPixmap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} BSFuncRec, *BSFuncPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _BSTORESTR_H_ */