open-src/lib/libdga/sun-src/draw_db.c
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Tue, 02 Mar 2010 13:31:46 -0800
changeset 919 425233ae7236
parent 907 3c35d611cdaa
child 943 294f64612d23
permissions -rw-r--r--
6931307 Standardize Sun copyright & license notices in X gate on current format
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
830
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     1
/* Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     2
 * Use is subject to license terms.
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     3
 *
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     4
 * Permission is hereby granted, free of charge, to any person obtaining a
919
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     5
 * copy of this software and associated documentation files (the "Software"),
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     6
 * to deal in the Software without restriction, including without limitation
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     8
 * and/or sell copies of the Software, and to permit persons to whom the
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
     9
 * Software is furnished to do so, subject to the following conditions:
830
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    10
 *
919
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    11
 * The above copyright notice and this permission notice (including the next
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    12
 * paragraph) shall be included in all copies or substantial portions of the
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    13
 * Software.
830
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    14
 *
919
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
425233ae7236 6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents: 907
diff changeset
    21
 * DEALINGS IN THE SOFTWARE.
830
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    22
 */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    23
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    24
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    25
/* 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    26
** draw_db.c - Drawable veneer for DGA window buffer control routines
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    27
*/
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    28
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    29
#ifdef SERVER_DGA
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    30
#include <X11/Xlib.h>
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    31
#endif  /* SERVER_DGA */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    32
#include "dga_incls.h"
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    33
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    34
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    35
dga_draw_db_grab (Dga_drawable dgadraw, int nbuffers, 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    36
		  int (*vrtfunc)(Dga_drawable), u_int *vrtcounterp)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    37
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    38
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    39
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    40
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    41
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    42
	    return (0);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    43
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    44
	return (dga_db_grab((Dga_window)dgawin, nbuffers, vrtfunc, vrtcounterp));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    45
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    46
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    47
	return (0);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    48
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    49
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    50
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    51
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    52
dga_draw_db_ungrab (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    53
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    54
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    55
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    56
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    57
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    58
	    return (0);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    59
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    60
	return (dga_db_ungrab((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    61
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    62
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    63
	return (0);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    64
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    65
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    66
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    67
void
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    68
dga_draw_db_write (Dga_drawable dgadraw, int buffer,
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    69
		   int (*writefunc)(void*, Dga_drawable, int), 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    70
		   void *data)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    71
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    72
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    73
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    74
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    75
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    76
	    break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    77
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    78
	dga_db_write((Dga_window)dgawin, buffer, writefunc, data);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    79
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    80
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    81
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    82
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    83
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    84
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    85
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    86
void
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    87
dga_draw_db_read (Dga_drawable dgadraw, int buffer,
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    88
		  int (*readfunc)(void*, Dga_drawable, int), 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    89
		  void *data)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    90
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    91
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    92
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    93
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    94
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    95
	    break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    96
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    97
	dga_db_read((Dga_window)dgawin, buffer, readfunc, data);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    98
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    99
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   100
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   101
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   102
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   103
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   104
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   105
void
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   106
dga_draw_db_display (Dga_drawable dgadraw, int buffer,
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   107
		    int (*visfunc)(void*, Dga_drawable, int), 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   108
		     void *data)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   109
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   110
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   111
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   112
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   113
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   114
	    break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   115
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   116
	dga_db_display((Dga_window)dgawin, buffer, visfunc, data);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   117
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   118
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   119
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   120
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   121
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   122
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   123
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   124
void
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   125
dga_draw_db_interval (Dga_drawable dgadraw, int interval)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   126
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   127
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   128
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   129
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   130
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   131
	    break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   132
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   133
	dga_db_interval((Dga_window)dgawin, interval);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   134
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   135
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   136
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   137
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   138
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   139
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   140
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   141
void
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   142
dga_draw_db_interval_wait (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   143
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   144
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   145
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   146
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   147
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   148
	    break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   149
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   150
	dga_db_interval_wait((Dga_window)dgawin);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   151
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   152
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   153
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   154
	break;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   155
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   156
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   157
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   158
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   159
dga_draw_db_interval_check (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   160
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   161
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   162
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   163
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   164
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   165
	    /* not applicable to multibuffers - consider interval always expired */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   166
	    return (1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   167
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   168
	return (dga_db_interval_check((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   169
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   170
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   171
	/* not applicable to pixmaps - consider interval always expired */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   172
	return (1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   173
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   174
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   175
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   176
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   177
dga_draw_db_write_inquire (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   178
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   179
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   180
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   181
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   182
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   183
	    /* not applicable to multibuffers - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   184
	    return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   185
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   186
	return (dga_db_write_inquire((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   187
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   188
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   189
	/* not applicable to pixmaps - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   190
	return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   191
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   192
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   193
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   194
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   195
dga_draw_db_read_inquire (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   196
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   197
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   198
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   199
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   200
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   201
	    /* not applicable to multibuffers - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   202
	    return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   203
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   204
	return (dga_db_read_inquire((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   205
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   206
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   207
	/* not applicable to pixmaps - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   208
	return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   209
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   210
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   211
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   212
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   213
dga_draw_db_display_inquire (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   214
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   215
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   216
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   217
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   218
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   219
	    /* not applicable to multibuffers - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   220
	    return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   221
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   222
	return (dga_db_display_inquire((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   223
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   224
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   225
	/* not applicable to pixmaps - always return an invalid buffer index */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   226
	return (-1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   227
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   228
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   229
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   230
int
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   231
dga_draw_db_display_done (Dga_drawable dgadraw, int flag, 
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   232
			  int (*display_done_func)(Dga_drawable))
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   233
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   234
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   235
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   236
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   237
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   238
	    /* not applicable to multibuffers - consider display done (to prevent hangs) */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   239
	    return (1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   240
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   241
	return (dga_db_display_done((Dga_window)dgawin, flag, display_done_func));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   242
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   243
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   244
	/* not applicable to pixmaps - consider display done (to prevent hangs) */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   245
	return (1);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   246
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   247
}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   248
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   249
Dga_dbinfo *
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   250
dga_draw_db_dbinfop (Dga_drawable dgadraw)
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   251
{
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   252
    switch ( ((_Dga_drawable)dgadraw)->drawable_type) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   253
    case DGA_DRAW_WINDOW: {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   254
	_Dga_window dgawin = (_Dga_window)dgadraw;
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   255
	if (!DGA_LOCKSUBJ_WINDOW(dgawin, dgawin->eLockSubj)) {
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   256
	    /* not applicable to multibuffers - return NULL */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   257
	    return (NULL);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   258
	}
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   259
	return (dga_win_dbinfop((Dga_window)dgawin));
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   260
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   261
    case DGA_DRAW_PIXMAP:
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   262
	/* not applicable to pixmaps - return NULL */
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   263
	return (NULL);
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   264
    }
186f3c438b46 6899630 move libdga to open-src & /usr/X11
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   265
}