diff options
| author | 2023-11-24 05:20:01 -0600 | |
|---|---|---|
| committer | 2023-11-24 05:21:12 -0600 | |
| commit | 153d7b4b6621bc291d24f1df5d5af68b3eebd0d9 (patch) | |
| tree | cdbfe0e56616cd318d348eac748ed8cc4393b640 /src/ui/ui.internal.h | |
| parent | not every UI window maps to a curses window (diff) | |
make debug code worse-looking (but more verbose)
also note that previous commit is WIP until a better solution to finding the focused UI window backed by a curses window
Diffstat (limited to 'src/ui/ui.internal.h')
| -rw-r--r-- | src/ui/ui.internal.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/ui/ui.internal.h b/src/ui/ui.internal.h index 946d57a..201e61e 100644 --- a/src/ui/ui.internal.h +++ b/src/ui/ui.internal.h @@ -13,25 +13,36 @@ #define UI__WINDOW_DOCK_LEFT (2u) #define UI__WINDOW_DOCK_RIGHT (3u) #define UI__WINDOW_DOCK_CENTER (4u) +#define UI__WINDOW_DOCK_MAX UI__WINDOW_DOCK_CENTER+1 #define UI__WINDOW_FOCUS_NONE (999u) -#define UI__WINDOW_TYPE_BASE (0u) +#define UI__FOREACH_WINDOW_TYPE(O) \ + O(BASE), \ + O(LEAF), \ + O(DOCK), \ + O(ROOT) + +enum { +#define WT_DEF(_t) UI__WINDOW_TYPE_ ## _t + UI__FOREACH_WINDOW_TYPE(WT_DEF) +#undef WT_DEF +}; + +/*#define UI__WINDOW_TYPE_BASE (0u) #define UI__WINDOW_TYPE_LEAF (1u) #define UI__WINDOW_TYPE_DOCK (2u) -#define UI__WINDOW_TYPE_ROOT (3u) - -#define UI__WINDOW_DOCK_MAX UI__WINDOW_DOCK_CENTER+1 +#define UI__WINDOW_TYPE_ROOT (3u)*/ #ifdef NDEBUG #define ui__cast(_t, _v) ((struct ui_window_ ## _t *)(_v)) #else -#define ui__cast(_t, _v) (ui__check_cast_to_ ## _t(_v)) +#define ui__cast(_t, _v) (ui__check_cast_to_ ## _t(_v, __FILE__, __func__, __LINE__)) -struct ui_window_base *ui__check_cast_to_base(void *); -struct ui_window_leaf *ui__check_cast_to_leaf(void *); -struct ui_window_dock *ui__check_cast_to_dock(void *); -struct ui_window_root *ui__check_cast_to_root(void *); +struct ui_window_base *ui__check_cast_to_base(void *, const char *, const char *, int); +struct ui_window_leaf *ui__check_cast_to_leaf(void *, const char *, const char *, int); +struct ui_window_dock *ui__check_cast_to_dock(void *, const char *, const char *, int); +struct ui_window_root *ui__check_cast_to_root(void *, const char *, const char *, int); #endif /* concrete type definitions */ |
