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