Files
RedBear-OS/local/recipes/tui/mc/source/lib/widget/rect.h
T
vasilito cee25393d8 fix: boot process improvements — dependency cycle, INIT_NOTIFY, probing loop, and log spam fixes
- Fix P15-8-init-cycle-detection.patch: replace visiting+error with seen+silent-skip
  to eliminate 11 false-positive 'dependency cycle detected' errors on shared deps
- Fix P0-daemon-fix-init-notify-unwrap.patch: remove eprintln! for missing
  INIT_NOTIFY (expected for oneshot_async services, ~7 daemons affected)
- Fix driver-manager hotplug loop: add PERMANENTLY_SKIPPED static set shared
  between hotplug handler and DriverConfig::probe() to stop infinite re-probing
  of Fatal/NotSupported/deferred-exhausted device+driver pairs (e.g. ided)
- Fix driver-manager log_timeline: suppress repeated EPIPE/ENOENT errors with
  AtomicI32 dedup and AtomicBool one-shot guards for boot timeline JSON
- Add driver-manager SIGTERM handler, ACPI bus registration, --status mode,
  driver reap loop, graceful shutdown, and reduced deferred retries (30→3)
2026-05-17 12:34:02 +03:00

46 lines
1.4 KiB
C

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