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