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