1: #ifndef lint
   2: static char *rcsid_StoreGridBox_c = "$Header: StoreGridBox.c,v 10.3 86/02/01 16:24:00 tony Rel $";
   3: #endif	lint
   4: 
   5: /************************************************************************
   6:  *									*
   7:  *			Copyright (c) 1986 by				*
   8:  *		Digital Equipment Corporation, Maynard, MA		*
   9:  *		         All Rights Reserved.				*
  10:  *									*
  11:  *	Permission to use, copy, modify, and distribute this software	*
  12:  *	and its documentation is hereby granted only to licensees of 	*
  13:  *	The Regents of the University of California pursuant to their	*
  14:  *	license agreement for the Berkeley Software Distribution 	*
  15:  *	provided that the following appears on all copies.		*
  16:  *									*
  17:  *            "LICENSED FROM DIGITAL EQUIPMENT CORPORATION		*
  18:  *                      COPYRIGHT (C) 1986				*
  19:  *                 DIGITAL EQUIPMENT CORPORATION			*
  20:  *                         MAYNARD, MA					*
  21:  *                     ALL RIGHTS RESERVED.				*
  22:  *									*
  23:  *      THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT	*
  24:  *	NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL	*
  25:  *	EQUIPMENT CORPORATION.  DIGITAL MAKES NO REPRESENTATIONS	*
  26:  *	ABOUT SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS	*
  27:  *	SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.		*
  28:  *									*
  29:  * 	IF THE UNIVERSITY OF CALIFORNIA OR ITS LICENSEES MODIFY 	*
  30:  *	THE SOFTWARE IN A MANNER CREATING DERIVATIVE COPYRIGHT 		*
  31:  *	RIGHTS APPROPRIATE COPYRIGHT LEGENDS MAY BE PLACED ON THE	*
  32:  *	DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE."		*
  33:  *									*
  34:  ************************************************************************/
  35: 
  36: 
  37: /*
  38:  * MODIFICATION HISTORY
  39:  *
  40:  * 000 -- M. Gancarz, DEC Ultrix Engineering Group
  41:  */
  42: 
  43: #ifndef lint
  44: static char *sccsid = "@(#)StoreGridBox.c	3.8	1/24/86";
  45: #endif
  46: /*
  47:  *	StoreGridBox - This subroutine is used by the X Window Manager (xwm)
  48:  *	to store the vertices for the movement resize grid and box in a
  49:  *	vertex list.
  50:  */
  51: 
  52: #include "uwm.h"
  53: 
  54: /*
  55:  * Store the vertices for the movement resize grid and box in a vertex list.
  56:  */
  57: int StoreGridBox(box, ulx, uly, lrx, lry)
  58: register Vertex box[];
  59: int ulx;            /* Upper left X coordinate. */
  60: int uly;            /* Upper left Y coordinate. */
  61: int lrx;            /* Lower right X coordinate. */
  62: int lry;            /* Lower right Y coordinate. */
  63: {
  64:     register int xthird, ythird;
  65:     int x1third, y1third;
  66:     int x2third, y2third;
  67: 
  68:     /*
  69:      * Xor in.
  70:      */
  71:     box[0].x = box[3].x = box[4].x = box[5].x = box[7].x = ulx;
  72:     box[1].x = box[2].x = box[6].x = box[8].x = lrx;
  73: 
  74:     box[0].y = box[1].y = box[4].y = box[9].y = box[11].y = uly;
  75:     box[2].y = box[3].y = box[10].y = box[12].y = lry;
  76: 
  77:     box[0].flags = box[5].flags = box[7].flags = box[9].flags =
  78:         box[11].flags = VertexDontDraw;
  79: 
  80:     /*
  81:      * These are the X and Y calculations for the parts of the grid that
  82:      * are dependent on the division by 3 calculations.
  83:      */
  84: 
  85:     /*
  86:      * Y dimension third.
  87:      */
  88:     ythird = (lry - uly) / 3;
  89:     y1third = uly + ythird;
  90:     y2third = y1third + ythird;
  91: 
  92:     /*
  93:      * X dimension third.
  94:      */
  95:     xthird = (lrx - ulx) / 3;
  96:     x1third = ulx + xthird;
  97:     x2third = x1third + xthird;
  98: 
  99:     /*
 100:      * Stash first set of vertices.
 101:      */
 102:     box[5].y = box[6].y = y1third;
 103:     box[7].y = box[8].y = y2third;
 104: 
 105:     box[9].x = box[10].x = x1third;
 106:     box[11].x = box[12].x = x2third;
 107: 
 108:     /*
 109:      * Do not erase if we're freezing the screen.
 110:      */
 111:     if (Freeze)
 112:         return(13);
 113: 
 114:     /*
 115:      * From here on we're retracing the vertices to clear the
 116:      * grid using GXxor.
 117:      */
 118:     box[18].y = box[19].y = y1third;
 119:     box[20].y = box[21].y = y2third;
 120: 
 121:     box[22].x = box[23].x = x1third;
 122:     box[24].x = box[25].x = x2third;
 123: 
 124:     box[13].x = box[16].x = box[17].x = box[18].x = box[20].x = ulx;
 125:     box[13].y = box[14].y = box[17].y = box[22].y = box[24].y = uly;
 126: 
 127:     box[14].x = box[15].x = box[19].x = box[21].x = lrx;
 128:     box[15].y = box[16].y = box[23].y = box[25].y = lry;
 129: 
 130:     box[13].flags = box[18].flags = box[20].flags = box[22].flags =
 131:         box[24].flags = VertexDontDraw;
 132: 
 133: 
 134:     /*
 135:      * Total number of vertices is 26.
 136:      */
 137:     return(26);
 138: }

Defined functions

Defined variables

rcsid_StoreGridBox_c defined in line 2; never used
sccsid defined in line 44; never used
Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 833
Valid CSS Valid XHTML 1.0 Strict