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