open-src/lib/libXext/sun-src/src/AllPlanes.c
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Wed, 12 Mar 2008 17:08:43 -0700
changeset 366 7b72d11c8c92
child 907 3c35d611cdaa
permissions -rw-r--r--
6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
366
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     1
/* Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     2
 *
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     3
 * Permission is hereby granted, free of charge, to any person obtaining a
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     4
 * copy of this software and associated documentation files (the
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     5
 * "Software"), to deal in the Software without restriction, including
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     6
 * without limitation the rights to use, copy, modify, merge, publish,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     7
 * distribute, and/or sell copies of the Software, and to permit persons
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     8
 * to whom the Software is furnished to do so, provided that the above
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
     9
 * copyright notice(s) and this permission notice appear in all copies of
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    10
 * the Software and that both the above copyright notice(s) and this
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    11
 * permission notice appear in supporting documentation.
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    12
 *
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    13
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    14
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    15
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    16
 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    17
 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    18
 * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    19
 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    20
 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    21
 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    22
 *
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    23
 * Except as contained in this notice, the name of a copyright holder
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    24
 * shall not be used in advertising or otherwise to promote the sale, use
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    25
 * or other dealings in this Software without prior written authorization
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    26
 * of the copyright holder.
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    27
 */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    28
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    29
#pragma ident "@(#)AllPlanes.c	35.6	08/03/12 SMI"
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    30
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    31
/*
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    32
 * AllPlanes.c - the client side interface to the SUN_ALLPLANES extension.
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    33
 */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    34
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    35
#define NEED_EVENTS
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    36
#define NEED_REPLIES
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    37
#include <stdio.h>
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    38
#include <X11/Xlibint.h>
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    39
#include <X11/extensions/Xext.h>
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    40
#include <X11/extensions/extutil.h>
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    41
#include <X11/extensions/allplanesstr.h>
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    42
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    43
static int  close_display();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    44
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    45
static XExtensionInfo *ext_info;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    46
static char *ext_name = ALLPLANESNAME;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    47
static XExtensionHooks ext_hooks = {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    48
    NULL,			/* create_gc */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    49
    NULL,			/* copy_gc */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    50
    NULL,			/* flush_gc */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    51
    NULL,			/* free_gc */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    52
    NULL,			/* create_font */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    53
    NULL,			/* free_font */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    54
    close_display,		/* close_display */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    55
    NULL,			/* wire_to_event */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    56
    NULL,			/* event_to_wire */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    57
    NULL,			/* error */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    58
    NULL,			/* error_string */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    59
};
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    60
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    61
static
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    62
XEXT_GENERATE_CLOSE_DISPLAY(close_display,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    63
			    ext_info)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    64
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    65
static
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    66
XEXT_GENERATE_FIND_DISPLAY(find_display,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    67
			   ext_info, ext_name, &ext_hooks,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    68
			   AllPlanesNumberEvents, NULL)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    69
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    70
#define AllPlanesCheckExtension(dpy,i,val) \
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    71
  XextCheckExtension (dpy, i, ext_name, val)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    72
#define AllPlanesSimpleCheckExtension(dpy,i) \
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    73
  XextSimpleCheckExtension (dpy, i, ext_name)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    74
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    75
/**********************************************************************/
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    76
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    77
Bool
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    78
XAllPlanesQueryExtension(dpy, event_basep, error_basep)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    79
    Display    *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    80
    int        *event_basep,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    81
               *error_basep;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    82
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    83
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    84
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    85
    if (XextHasExtension(info)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    86
	*event_basep = info->codes->first_event;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    87
	*error_basep = info->codes->first_error;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    88
	return True;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    89
    } else {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    90
	return False;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    91
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    92
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    93
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    94
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    95
Status
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    96
XAllPlanesQueryVersion(dpy, major_versionp, minor_versionp)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    97
    Display    *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    98
    int        *major_versionp,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
    99
               *minor_versionp;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   100
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   101
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   102
    xAllPlanesQueryVersionReply rep;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   103
    xAllPlanesQueryVersionReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   104
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   105
    AllPlanesCheckExtension(dpy, info, 0);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   106
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   107
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   108
    GetReq(AllPlanesQueryVersion, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   109
    req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   110
    req->allplanesReqType = X_AllPlanesQueryVersion;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   111
    if (!_XReply(dpy, (xReply *) & rep, 0, xTrue)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   112
	UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   113
	SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   114
	return 0;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   115
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   116
    *major_versionp = rep.majorVersion;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   117
    *minor_versionp = rep.minorVersion;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   118
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   119
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   120
    return 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   121
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   122
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   123
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   124
void
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   125
XAllPlanesDrawPoints(dpy, d, points, n_points, mode)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   126
    Display *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   127
    Drawable    d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   128
    XPoint     *points;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   129
    int         n_points;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   130
    int         mode;		/* CoordMode */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   131
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   132
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   133
    xAllPlanesPolyPointReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   134
    long nbytes;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   135
    int         n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   136
    int         xoff,
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   137
                yoff;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   138
    XPoint      pt;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   139
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   140
    AllPlanesSimpleCheckExtension(dpy, info);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   141
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   142
    xoff = yoff = 0;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   143
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   144
    while (n_points) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   145
	GetReq(AllPlanesPolyPoint, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   146
	req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   147
	req->allplanesReqType = X_AllPlanesPolyPoint;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   148
	req->drawable = d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   149
	req->coordMode = mode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   150
	n = n_points;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   151
	if (n > (dpy->max_request_size - req->length))
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   152
	    n = dpy->max_request_size - req->length;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   153
	req->length += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   154
	nbytes = ((long) n) << 2;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   155
	if (xoff || yoff) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   156
	    pt.x = xoff + points->x;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   157
	    pt.y = yoff + points->y;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   158
	    Data16(dpy, (short *) &pt, 4);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   159
	    if (nbytes > 4) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   160
		Data16(dpy, (short *) (points + 1), nbytes - 4);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   161
	    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   162
	} else {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   163
	    Data16(dpy, (short *) points, nbytes);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   164
	}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   165
	n_points -= n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   166
	if (n_points && (mode == CoordModePrevious)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   167
	    XPoint *pptr = points;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   168
	    points += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   169
	    while (pptr != points) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   170
		xoff += pptr->x;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   171
		yoff += pptr->y;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   172
		pptr++;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   173
	    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   174
	} else
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   175
	    points += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   176
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   177
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   178
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   179
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   180
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   181
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   182
void
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   183
XAllPlanesDrawLines(dpy, d, points, npoints, mode)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   184
    Display *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   185
    Drawable    d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   186
    XPoint     *points;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   187
    int         npoints;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   188
    int         mode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   189
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   190
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   191
    xAllPlanesPolyLineReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   192
    long        len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   193
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   194
    AllPlanesSimpleCheckExtension(dpy, info);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   195
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   196
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   197
    GetReq(AllPlanesPolyLine, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   198
    req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   199
    req->allplanesReqType = X_AllPlanesPolyLine;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   200
    req->drawable = d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   201
    req->coordMode = mode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   202
    if ((req->length + npoints) > 65535)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   203
	npoints = 65535 - req->length;	/* force BadLength, if possible */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   204
    req->length += npoints;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   205
    /* each point is 2 16-bit integers */
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   206
    len = npoints << 2;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   207
    Data16(dpy, (short *) points, len);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   208
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   209
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   210
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   211
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   212
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   213
void
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   214
XAllPlanesDrawSegments(dpy, d, segments, nsegments)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   215
    Display *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   216
    Drawable    d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   217
    XSegment   *segments;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   218
    int         nsegments;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   219
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   220
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   221
    xAllPlanesPolySegmentReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   222
    long        len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   223
    int         n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   224
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   225
    AllPlanesSimpleCheckExtension(dpy, info);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   226
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   227
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   228
    while (nsegments) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   229
	GetReq(AllPlanesPolySegment, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   230
	req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   231
	req->allplanesReqType = X_AllPlanesPolySegment;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   232
	req->drawable = d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   233
	n = nsegments;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   234
	len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   235
	if (len > (dpy->max_request_size - req->length)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   236
	    n = (dpy->max_request_size - req->length) >> 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   237
	    len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   238
	}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   239
	req->length += len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   240
	len <<= 2;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   241
	Data16(dpy, (short *) segments, len);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   242
	nsegments -= n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   243
	segments += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   244
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   245
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   246
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   247
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   248
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   249
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   250
void
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   251
XAllPlanesDrawRectangles(dpy, d, rects, n_rects)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   252
    Display *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   253
    Drawable    d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   254
    XRectangle *rects;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   255
    int         n_rects;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   256
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   257
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   258
    xAllPlanesPolyRectangleReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   259
    long        len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   260
    int         n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   261
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   262
    AllPlanesSimpleCheckExtension(dpy, info);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   263
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   264
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   265
    while (n_rects) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   266
	GetReq(AllPlanesPolyRectangle, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   267
	req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   268
	req->allplanesReqType = X_AllPlanesPolyRectangle;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   269
	req->drawable = d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   270
	n = n_rects;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   271
	len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   272
	if (len > (dpy->max_request_size - req->length)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   273
	    n = (dpy->max_request_size - req->length) >> 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   274
	    len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   275
	}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   276
	req->length += len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   277
	len <<= 2;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   278
	Data16(dpy, (short *) rects, len);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   279
	n_rects -= n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   280
	rects += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   281
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   282
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   283
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   284
}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   285
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   286
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   287
void
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   288
XAllPlanesFillRectangles(dpy, d, rectangles, n_rects)
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   289
    Display *dpy;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   290
    Drawable    d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   291
    XRectangle *rectangles;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   292
    int         n_rects;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   293
{
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   294
    XExtDisplayInfo *info = find_display(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   295
    xAllPlanesPolyFillRectangleReq *req;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   296
    long        len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   297
    int         n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   298
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   299
    AllPlanesSimpleCheckExtension(dpy, info);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   300
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   301
    LockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   302
    while (n_rects) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   303
	GetReq(AllPlanesPolyFillRectangle, req);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   304
	req->reqType = info->codes->major_opcode;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   305
	req->allplanesReqType = X_AllPlanesPolyFillRectangle;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   306
	req->drawable = d;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   307
	n = n_rects;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   308
	len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   309
	if (len > (dpy->max_request_size - req->length)) {
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   310
	    n = (dpy->max_request_size - req->length) >> 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   311
	    len = ((long) n) << 1;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   312
	}
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   313
	req->length += len;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   314
	len <<= 2;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   315
	Data16(dpy, (short *) rectangles, len);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   316
	n_rects -= n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   317
	rectangles += n;
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   318
    }
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   319
    UnlockDisplay(dpy);
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   320
    SyncHandle();
7b72d11c8c92 6674738 X modularization: libXext, libXevie & libXss [PSARC/2008/194]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff changeset
   321
}