GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_rect.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2/*
3 * Copyright (C) 2009-2011 Jiri "BlueBear" Dluhos
4 * <jiri.bluebear.dluhos@gmail.com>
5 *
6 * Copyright (C) 2009-2011 Cyril Hrubis <metan@ucw.cz>
7 */
8
9#ifndef GP_RECT_H
10#define GP_RECT_H
11
12#include "core/gp_types.h"
13
14/* Rectangle */
15
16void gp_rect_xyxy(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
17 gp_coord x1, gp_coord y1, gp_pixel pixel);
18
19void gp_rect_xyxy_raw(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
20 gp_coord x1, gp_coord y1, gp_pixel pixel);
21
22void gp_rect_xywh(gp_pixmap *pixmap, gp_coord x, gp_coord y,
23 gp_size w, gp_size h, gp_pixel pixel);
24
25void gp_rect_xywh_raw(gp_pixmap *pixmap, gp_coord x, gp_coord y,
26 gp_size w, gp_size h, gp_pixel pixel);
27
28/* The xyxy argument set is the default */
29static inline void gp_rect(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
30 gp_coord x1, gp_coord y1, gp_pixel pixel)
31{
32 gp_rect_xyxy(pixmap, x0, y0, x1, y1, pixel);
33}
34
35static inline void gp_rect_raw(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
36 gp_coord x1, gp_coord y1, gp_pixel pixel)
37{
38 gp_rect_xyxy_raw(pixmap, x0, y0, x1, y1, pixel);
39}
40
41/* Filled Rectangle */
42
43void gp_fill_rect_xyxy(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
44 gp_coord x1, gp_coord y1, gp_pixel pixel);
45
46void gp_fill_rect_xyxy_raw(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
47 gp_coord x1, gp_coord y1, gp_pixel pixel);
48
49void gp_fill_rect_xywh(gp_pixmap *pixmap, gp_coord x, gp_coord y,
50 gp_size w, gp_size h, gp_pixel pixel);
51
52void gp_fill_rect_xywh_raw(gp_pixmap *pixmap, gp_coord x, gp_coord y,
53 gp_size w, gp_size h, gp_pixel pixel);
54
55/* The xyxy argument set is the default */
56static inline void gp_fill_rect(gp_pixmap *pixmap, gp_coord x0, gp_coord y0,
57 gp_coord x1, gp_coord y1, gp_pixel pixel)
58{
59 gp_fill_rect_xyxy(pixmap, x0, y0, x1, y1, pixel);
60}
61
62static inline void gp_fill_rect_raw(gp_pixmap *pixmap,
63 gp_coord x0, gp_coord y0,
64 gp_coord x1, gp_coord y1, gp_pixel pixel)
65{
66 gp_fill_rect_xyxy_raw(pixmap, x0, y0, x1, y1, pixel);
67}
68
69#endif /* GP_RECT_H */
A common types.
uint32_t gp_pixel
Pixel integer value.
Definition gp_types.h:33
int gp_coord
Integer type for coordinates i.e. x, y, ...
Definition gp_types.h:19
unsigned int gp_size
Integer type for sizes i.e. w, h, ...
Definition gp_types.h:24
A pixmap buffer.
Definition gp_pixmap.h:33