Blame synfig-osx/launcher/dri-surface.h

Carlos Lopez a09598
/* $XFree86: xc/programs/Xserver/GL/dri/dri.h,v 1.18 2001/03/21 16:21:40 dawes Exp $ */
Carlos Lopez a09598
/**************************************************************************
Carlos Lopez a09598
Carlos Lopez a09598
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
Carlos Lopez a09598
Copyright (c) 2002 Apple Computer, Inc.
Carlos Lopez a09598
All Rights Reserved.
Carlos Lopez a09598
Carlos Lopez a09598
Permission is hereby granted, free of charge, to any person obtaining a
Carlos Lopez a09598
copy of this software and associated documentation files (the
Carlos Lopez a09598
"Software"), to deal in the Software without restriction, including
Carlos Lopez a09598
without limitation the rights to use, copy, modify, merge, publish,
Carlos Lopez a09598
distribute, sub license, and/or sell copies of the Software, and to
Carlos Lopez a09598
permit persons to whom the Software is furnished to do so, subject to
Carlos Lopez a09598
the following conditions:
Carlos Lopez a09598
Carlos Lopez a09598
The above copyright notice and this permission notice (including the
Carlos Lopez a09598
next paragraph) shall be included in all copies or substantial portions
Carlos Lopez a09598
of the Software.
Carlos Lopez a09598
Carlos Lopez a09598
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
Carlos Lopez a09598
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Carlos Lopez a09598
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
Carlos Lopez a09598
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
Carlos Lopez a09598
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
Carlos Lopez a09598
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Carlos Lopez a09598
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Carlos Lopez a09598
Carlos Lopez a09598
**************************************************************************/
Carlos Lopez a09598
Carlos Lopez a09598
/*
Carlos Lopez a09598
 * Authors:
Carlos Lopez a09598
 *   Jens Owen <jens@precisioninsight.com></jens@precisioninsight.com>
Carlos Lopez a09598
 *
Carlos Lopez a09598
 */
Carlos Lopez a09598
Carlos Lopez a09598
/* Prototypes for DRI functions */
Carlos Lopez a09598
Carlos Lopez a09598
#ifndef _DRI_SURFACE_H_
Carlos Lopez a09598
#define _DRI_SURFACE_H_
Carlos Lopez a09598
Carlos Lopez a09598
#include "dri.h"
Carlos Lopez a09598
#include "Xplugin.h"
Carlos Lopez a09598
Carlos Lopez a09598
typedef void (*ClipNotifyPtr)( WindowPtr, int, int );
Carlos Lopez a09598
Carlos Lopez a09598
Carlos Lopez a09598
/*
Carlos Lopez a09598
 * These functions can be wrapped by the DRI.  Each of these have
Carlos Lopez a09598
 * generic default funcs (initialized in DRICreateInfoRec) and can be
Carlos Lopez a09598
 * overridden by the driver in its [driver]DRIScreenInit function.
Carlos Lopez a09598
 */
Carlos Lopez a09598
typedef struct {
Carlos Lopez a09598
    WindowExposuresProcPtr       WindowExposures;
Carlos Lopez a09598
    CopyWindowProcPtr            CopyWindow;
Carlos Lopez a09598
    ValidateTreeProcPtr          ValidateTree;
Carlos Lopez a09598
    PostValidateTreeProcPtr      PostValidateTree;
Carlos Lopez a09598
    ClipNotifyProcPtr            ClipNotify;
Carlos Lopez a09598
} DRIWrappedFuncsRec, *DRIWrappedFuncsPtr;
Carlos Lopez a09598
Carlos Lopez a09598
typedef struct {
Carlos Lopez a09598
    xp_surface_id id;
Carlos Lopez a09598
    int kind;
Carlos Lopez a09598
} DRISurfaceNotifyArg;
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRIClipNotify(WindowPtr pWin,
Carlos Lopez a09598
                          int dx,
Carlos Lopez a09598
                          int dy);
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRICloseScreen(ScreenPtr pScreen);
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRICopyWindow(WindowPtr pWin,
Carlos Lopez a09598
                          DDXPointRec ptOldOrg,
Carlos Lopez a09598
                          RegionPtr prgnSrc);
Carlos Lopez a09598
Carlos Lopez a09598
extern Bool DRICreateSurface(ScreenPtr pScreen,
Carlos Lopez a09598
			     Drawable id,
Carlos Lopez a09598
			     DrawablePtr pDrawable,
Carlos Lopez a09598
			     xp_client_id client_id,
Carlos Lopez a09598
			     xp_surface_id *surface_id,
Carlos Lopez a09598
			     unsigned int key[2],
Carlos Lopez a09598
			     void (*notify) (void *arg, void *data),
Carlos Lopez a09598
			     void *notify_data);
Carlos Lopez a09598
Carlos Lopez a09598
extern Bool DRIDestroySurface(ScreenPtr pScreen,
Carlos Lopez a09598
			      Drawable id,
Carlos Lopez a09598
			      DrawablePtr pDrawable,
Carlos Lopez a09598
			      void (*notify) (void *arg, void *data),
Carlos Lopez a09598
			      void *notify_data);
Carlos Lopez a09598
Carlos Lopez a09598
extern Bool DRIDrawablePrivDelete(pointer pResource,
Carlos Lopez a09598
                                  XID id);
Carlos Lopez a09598
Carlos Lopez a09598
extern DRIWrappedFuncsRec *DRIGetWrappedFuncs(ScreenPtr pScreen);
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRIPostValidateTree(WindowPtr pParent,
Carlos Lopez a09598
                                WindowPtr pChild,
Carlos Lopez a09598
                                VTKind    kind);
Carlos Lopez a09598
Carlos Lopez a09598
extern int DRIValidateTree(WindowPtr pParent,
Carlos Lopez a09598
                           WindowPtr pChild,
Carlos Lopez a09598
                           VTKind    kind);
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRIWindowExposures(WindowPtr pWin,
Carlos Lopez a09598
                              RegionPtr prgn,
Carlos Lopez a09598
                              RegionPtr bsreg);
Carlos Lopez a09598
Carlos Lopez a09598
extern void DRISurfaceNotify (xp_surface_id id, int kind);
Carlos Lopez a09598
Carlos Lopez a09598
extern Bool DRIStartDrawing (DrawablePtr pDraw);
Carlos Lopez a09598
extern Bool DRIStopDrawing (DrawablePtr pDraw, Bool flush);
Carlos Lopez a09598
extern Bool DRIDamageRegion (DrawablePtr pDraw, RegionPtr pRegion);
Carlos Lopez a09598
extern void DRISynchronizeDrawable (DrawablePtr pDraw, Bool flush);
Carlos Lopez a09598
extern void DRISynchronize (Bool flush);
Carlos Lopez a09598
Carlos Lopez a09598
#endif