FreeRDP
Loading...
Searching...
No Matches
codec/region.h
1
24#ifndef FREERDP_CODEC_REGION_H
25#define FREERDP_CODEC_REGION_H
26
27#include <freerdp/api.h>
28#include <freerdp/types.h>
29
30#ifdef __cplusplus
31extern "C"
32{
33#endif
34
35 typedef struct S_REGION16_DATA REGION16_DATA;
36
37 typedef struct
38 {
39 RECTANGLE_16 extents;
40 REGION16_DATA* data;
41 } REGION16;
42
48 WINPR_ATTR_NODISCARD
49 FREERDP_API BOOL rectangles_equal(const RECTANGLE_16* r1, const RECTANGLE_16* r2);
50
56 WINPR_ATTR_NODISCARD
57 FREERDP_API BOOL rectangles_intersects(const RECTANGLE_16* r1, const RECTANGLE_16* r2);
58
65 WINPR_ATTR_NODISCARD
66 FREERDP_API BOOL rectangles_intersection(const RECTANGLE_16* r1, const RECTANGLE_16* r2,
67 RECTANGLE_16* dst);
68
72 FREERDP_API void region16_init(REGION16* region);
73
75 WINPR_ATTR_NODISCARD
76 FREERDP_API int region16_n_rects(const REGION16* region);
77
84 WINPR_ATTR_NODISCARD
85 FREERDP_API const RECTANGLE_16* region16_rects(const REGION16* region, UINT32* nbRects);
86
88 WINPR_ATTR_NODISCARD
89 FREERDP_API const RECTANGLE_16* region16_extents(const REGION16* region);
90
95 WINPR_ATTR_NODISCARD
96 FREERDP_API BOOL rectangle_is_empty(const RECTANGLE_16* rect);
97
102 WINPR_ATTR_NODISCARD
103 FREERDP_API BOOL region16_is_empty(const REGION16* region);
104
108 FREERDP_API void region16_clear(REGION16* region);
109
113 FREERDP_API void region16_print(const REGION16* region);
114
120 WINPR_ATTR_NODISCARD
121 FREERDP_API BOOL region16_copy(REGION16* dst, const REGION16* src);
122
129 WINPR_ATTR_NODISCARD
130 FREERDP_API BOOL region16_union_rect(REGION16* dst, const REGION16* src,
131 const RECTANGLE_16* rect);
132
138 WINPR_ATTR_NODISCARD
139 FREERDP_API BOOL region16_intersects_rect(const REGION16* src, const RECTANGLE_16* arg2);
140
147 WINPR_ATTR_NODISCARD
148 FREERDP_API BOOL region16_intersect_rect(REGION16* dst, const REGION16* src,
149 const RECTANGLE_16* rect);
150
154 FREERDP_API void region16_uninit(REGION16* region);
155
156#ifdef __cplusplus
157}
158#endif
159
160#endif /* FREERDP_CODEC_REGION_H */