Blame synfig-osx/launcher/dristruct.h

Carlos Lopez a09598
/* $XFree86: xc/programs/Xserver/GL/dri/dristruct.h,v 1.10 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
#ifndef DRI_STRUCT_H
Carlos Lopez a09598
#define DRI_STRUCT_H
Carlos Lopez a09598
Carlos Lopez a09598
#include "dri-surface.h"
Carlos Lopez a09598
#include "x-list.h"
Carlos Lopez a09598
Carlos Lopez a09598
#define DRI_MAX_DRAWABLES 256
Carlos Lopez a09598
Carlos Lopez a09598
#define DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin) \
Carlos Lopez a09598
    ((DRIWindowPrivIndex < 0) ? \
Carlos Lopez a09598
     NULL : \
Carlos Lopez a09598
     ((DRIDrawablePrivPtr)((pWin)->devPrivates[DRIWindowPrivIndex].ptr)))
Carlos Lopez a09598
Carlos Lopez a09598
#define DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix) \
Carlos Lopez a09598
    ((DRIPixmapPrivIndex < 0) ? \
Carlos Lopez a09598
     NULL : \
Carlos Lopez a09598
     ((DRIDrawablePrivPtr)((pPix)->devPrivates[DRIPixmapPrivIndex].ptr)))
Carlos Lopez a09598
Carlos Lopez a09598
typedef struct _DRIDrawablePrivRec
Carlos Lopez a09598
{
Carlos Lopez a09598
    xp_surface_id	sid;
Carlos Lopez a09598
    int			drawableIndex;
Carlos Lopez a09598
    DrawablePtr		pDraw;
Carlos Lopez a09598
    ScreenPtr		pScreen;
Carlos Lopez a09598
    int 		refCount;
Carlos Lopez a09598
    unsigned int	key[2];
Carlos Lopez a09598
    x_list		*notifiers;	/* list of (FUN . DATA) */
Carlos Lopez a09598
Carlos Lopez a09598
    int x, y;				/* relative to physical window */
Carlos Lopez a09598
Carlos Lopez a09598
    void *data;
Carlos Lopez a09598
    unsigned int rowbytes;
Carlos Lopez a09598
    PixmapPtr pixmap, oldPixmap;
Carlos Lopez a09598
Carlos Lopez a09598
    unsigned int	is_drawing :1;
Carlos Lopez a09598
} DRIDrawablePrivRec, *DRIDrawablePrivPtr;
Carlos Lopez a09598
Carlos Lopez a09598
#define DRI_SCREEN_PRIV(pScreen) \
Carlos Lopez a09598
    ((DRIScreenPrivIndex < 0) ? \
Carlos Lopez a09598
     NULL : \
Carlos Lopez a09598
     ((DRIScreenPrivPtr)((pScreen)->devPrivates[DRIScreenPrivIndex].ptr)))
Carlos Lopez a09598
Carlos Lopez a09598
#define DRI_SCREEN_PRIV_FROM_INDEX(screenIndex) ((DRIScreenPrivPtr) \
Carlos Lopez a09598
    (screenInfo.screens[screenIndex]->devPrivates[DRIScreenPrivIndex].ptr))
Carlos Lopez a09598
Carlos Lopez a09598
Carlos Lopez a09598
typedef struct _DRIScreenPrivRec
Carlos Lopez a09598
{
Carlos Lopez a09598
    Bool		directRenderingSupport;
Carlos Lopez a09598
    int                 nrWindows;
Carlos Lopez a09598
    DRIWrappedFuncsRec	wrap;
Carlos Lopez a09598
    DrawablePtr		DRIDrawables[DRI_MAX_DRAWABLES];
Carlos Lopez a09598
    x_list		*drawing;	/* list of DRIDrawablePrivPtr */
Carlos Lopez a09598
} DRIScreenPrivRec, *DRIScreenPrivPtr;
Carlos Lopez a09598
Carlos Lopez a09598
#endif /* DRI_STRUCT_H */