123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /** \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 */
|