C-Menu 0.2.9
A User Interface Toolkit
Loading...
Searching...
No Matches
ui_ncurses_compat.h
Go to the documentation of this file.
1#ifndef UI_NCURSES_COMPAT_H
2#define UI_NCURSES_COMPAT_H 1
3
4/** @file ui_ncurses_compat.h
5 @ingroup ui_ncurses
6 @brief Non-portable escape hatch for the NCurses backend.
7
8 @warning Including this header couples application code to the NCurses
9 backend. Use only when NCurses-specific functionality is required and
10 portability to other backends (e.g., NotCurses) is not needed. These
11 functions are intentionally not declared in ui_backend.h.
12*/
13
14#include "ui_backend.h"
15#include <ncursesw/ncurses.h>
16#include <ncursesw/panel.h>
17
18// Either of the following two structs can be used to represent a character with
19// attributes and color information. The ui_cchar struct is compatible with the
20// NCurses cchar_t type, while the ui_xchar struct is a custom implementation
21// that uses 4-byte integers for attributes and color information.
22
23// UiCchar ui_cchar_str[4096];
24// UiXchar ui_xchar_str[4096];
25
26/** @brief Return the raw NCurses @c WINDOW* underlying a surface.
27 @param s The UiSurface to inspect.
28 @return The WINDOW pointer, or NULL if @p s is NULL.
29*/
30WINDOW *ui_ncurses_surface_get_win(const UiSurface *s, uint w);
31
32/** @brief Return the raw NCurses @c PANEL* underlying a surface.
33 @param s The UiSurface to inspect.
34 @param w UiSurface window
35 @return The PANEL pointer, or NULL if @p s is NULL.
36*/
37PANEL *ui_ncurses_surface_get_panel(const UiSurface *s, uint w);
38
39#endif
PANEL * ui_ncurses_surface_get_panel(const UiSurface *s, uint w)
Return the raw NCurses PANEL* underlying a surface.
Definition ui_ncurses.c:833
WINDOW * ui_ncurses_surface_get_win(const UiSurface *s, uint w)
Return the raw NCurses WINDOW* underlying a surface.
Definition ui_ncurses.c:827