diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 17:44:12 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 17:44:12 +0000 |
commit | 8ccb487c21368a7fdc8c7c72315325bf0aa06147 (patch) | |
tree | b2056fae01d325924508a41731edfbd4c3cddd23 /lib/widget/rect.h | |
parent | Initial commit. (diff) | |
download | mc-8ccb487c21368a7fdc8c7c72315325bf0aa06147.tar.xz mc-8ccb487c21368a7fdc8c7c72315325bf0aa06147.zip |
Adding upstream version 3:4.8.29.upstream/3%4.8.29upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | lib/widget/rect.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/widget/rect.h b/lib/widget/rect.h new file mode 100644 index 0000000..ca85968 --- /dev/null +++ b/lib/widget/rect.h @@ -0,0 +1,45 @@ + +/** \file rect.h + * \brief Header: rectangular class + */ + +#ifndef MC__WIDGET_RECT_H +#define MC__WIDGET_RECT_H + +/*** typedefs (not structures) and defined constants *********************************************/ + +#define RECT(x) ((WRect *)(x)) +#define CONST_RECT(x) ((const WRect *)(x)) + +/*** enums ***************************************************************************************/ + +/*** structures declarations (and typedefs of structures) ****************************************/ + +struct WRect; +typedef struct WRect WRect; + +struct WRect +{ + int y; + int x; + int lines; + int cols; +}; + +/*** global variables defined in .c file *********************************************************/ + +/*** declarations of public functions ************************************************************/ + +WRect *rect_new (int y, int x, int lines, int cols); +void rect_init (WRect * r, int y, int x, int lines, int cols); +void rect_move (WRect * r, int dy, int dx); +void rect_resize (WRect * r, int dl, int dc); +void rect_grow (WRect * r, int dl, int dc); +void rect_intersect (WRect * r, const WRect * r1); +void rect_union (WRect * r, const WRect * r1); +gboolean rects_are_overlapped (const WRect * r1, const WRect * r2); +gboolean rects_are_equal (const WRect * r1, const WRect * r2); + +/*** inline functions ****************************************************************************/ + +#endif /* MC__WIDGET_RECT_H */ |