2 * Copyright © 2014 Keith Packard
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that copyright
7 * notice and this permission notice appear in supporting documentation, and
8 * that the name of the copyright holders not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission. The copyright holders make no representations
11 * about the suitability of this software for any purpose. It is provided "as
12 * is" without express or implied warranty.
14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23 #include "glamor_priv.h"
26 glamor_solid_boxes(DrawablePtr drawable
,
27 BoxPtr box
, int nbox
, unsigned long fg_pixel
)
33 rect
= xallocarray(nbox
, sizeof(xRectangle
));
36 for (n
= 0; n
< nbox
; n
++) {
37 rect
[n
].x
= box
[n
].x1
;
38 rect
[n
].y
= box
[n
].y1
;
39 rect
[n
].width
= box
[n
].x2
- box
[n
].x1
;
40 rect
[n
].height
= box
[n
].y2
- box
[n
].y1
;
43 gc
= GetScratchGC(drawable
->depth
, drawable
->pScreen
);
47 vals
[0].val
= fg_pixel
;
48 ChangeGC(NullClient
, gc
, GCForeground
, vals
);
49 ValidateGC(drawable
, gc
);
50 gc
->ops
->PolyFillRect(drawable
, gc
, nbox
, rect
);
57 glamor_solid(PixmapPtr pixmap
, int x
, int y
, int width
, int height
,
58 unsigned long fg_pixel
)
60 DrawablePtr drawable
= &pixmap
->drawable
;
65 vals
[0].val
= fg_pixel
;
66 gc
= GetScratchGC(drawable
->depth
, drawable
->pScreen
);
69 ChangeGC(NullClient
, gc
, GCForeground
, vals
);
70 ValidateGC(drawable
, gc
);
75 gc
->ops
->PolyFillRect(drawable
, gc
, 1, &rect
);