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