|
|
1.1 root 1: /***********************************************************
2: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
3: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
4:
5: All Rights Reserved
6:
7: Permission to use, copy, modify, and distribute this software and its
8: documentation for any purpose and without fee is hereby granted,
9: provided that the above copyright notice appear in all copies and that
10: both that copyright notice and this permission notice appear in
11: supporting documentation, and that the names of Digital or MIT not be
12: used in advertising or publicity pertaining to distribution of the
13: software without specific, written prior permission.
14:
15: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
16: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
17: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
18: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
19: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
20: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
21: SOFTWARE.
22:
23: ******************************************************************/
24: /* $Header: miwindow.c,v 1.14 87/09/11 07:20:06 toddb Exp $ */
25: #include "X.h"
26: #include "miscstruct.h"
27: #include "region.h"
28: #include "mi.h"
29: #include "windowstr.h"
30: #include "scrnintstr.h"
31: #include "pixmapstr.h"
32:
33: /*
34: * miwindow.c : machine independent window routines
35: * miClearToBackground
36: * miPaintWindow
37: *
38: * author: drewry
39: * Dec 1986
40: */
41:
42:
43: void
44: miClearToBackground(pWin, x, y, w, h, generateExposures)
45: WindowPtr pWin;
46: short x,y;
47: unsigned short w,h;
48: Bool generateExposures;
49: {
50: BoxRec box;
51: RegionPtr pReg;
52:
53: if ((pWin->backgroundTile == (PixmapPtr)None) ||
54: (pWin->class == InputOnly))
55: return ;
56: box.x1 = pWin->absCorner.x + x;
57: box.y1 = pWin->absCorner.y + y;
58: if (w)
59: box.x2 = box.x1 + w;
60: else
61: box.x2 = box.x1 + pWin->clientWinSize.width - x;
62: if (h)
63: box.y2 = box.y1 + h;
64: else
65: box.y2 = box.y1 + pWin->clientWinSize.height - y;
66:
67: pReg = (* pWin->drawable.pScreen->RegionCreate)(&box, 1);
68: if (generateExposures)
69: {
70: (* pWin->drawable.pScreen->Intersect)(pWin->exposed, pReg, pWin->clipList);
71: HandleExposures(pWin);
72: }
73: else
74: {
75: (* pWin->drawable.pScreen->Intersect)(pReg, pReg, pWin->clipList);
76: (*pWin->PaintWindowBackground)(pWin, pReg, PW_BACKGROUND);
77: }
78: (* pWin->drawable.pScreen->RegionDestroy)(pReg);
79: }
80:
81:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.