1#ifndef NOTCURSES_DIRECT
2#define NOTCURSES_DIRECT
15#define API __attribute__((visibility("default")))
17#define API __declspec(dllexport)
19#define ALLOC __attribute__((malloc)) __attribute__((warn_unused_result))
29#define NCDIRECT_OPTION_INHIBIT_SETLOCALE 0x0001ull
33#define NCDIRECT_OPTION_INHIBIT_CBREAK 0x0002ull
38#define NCDIRECT_OPTION_DRAIN_INPUT 0x0004ull
43#define NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS 0x0008ull
46#define NCDIRECT_OPTION_VERBOSE 0x0010ull
50#define NCDIRECT_OPTION_VERY_VERBOSE 0x0020ull
100 const
char* utf8,
int* sbytes)
106 const
char*
fmt, ...)
114ncdirect_set_bg_rgb8(struct
ncdirect* nc,
unsigned r,
unsigned g,
unsigned b){
115 if(
r > 255 || g > 255 || b > 255){
122ncdirect_set_fg_rgb8(
struct ncdirect* nc,
unsigned r,
unsigned g,
unsigned b){
123 if(
r > 255 || g > 255 || b > 255){
198 unsigned len, uint64_t h1, uint64_t h2)
202 unsigned len, uint64_t h1, uint64_t h2)
210 uint64_t
ll, uint64_t
lr,
const wchar_t* wchars,
222ncdirect_heavy_box(struct
ncdirect*
n, uint64_t
ul, uint64_t
ur,
223 uint64_t
ll, uint64_t
lr,
229ncdirect_ascii_box(struct
ncdirect*
n, uint64_t
ul, uint64_t
ur,
230 uint64_t
ll, uint64_t
lr,
237 uint64_t
ll, uint64_t
lr,
243 uint64_t
ll, uint64_t
lr,
265static inline uint32_t
267 struct timespec ts = { .tv_sec = 0, .tv_nsec = 0 };
273static inline uint32_t
343ncdirect_cantruecolor(
const struct ncdirect*
n){
349ncdirect_canchangecolor(
const struct ncdirect*
n){
355ncdirect_canfade(
const struct ncdirect*
n){
356 return ncdirect_canchangecolor(
n) || ncdirect_cantruecolor(
n);
381ncdirect_canhalfblock(
const struct ncdirect* nc){
387ncdirect_canquadrant(
const struct ncdirect* nc){
393ncdirect_cansextant(
const struct ncdirect* nc){
399ncdirect_canoctant(
const struct ncdirect* nc){
405ncdirect_canbraille(
const struct ncdirect* nc){
char * ncdirect_readline(ncdirect *n, const char *prompt)
API int ncdirect_cursor_push(struct ncdirect *n) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t uint64_t uint64_t lr
API int ncdirect_rounded_box(struct ncdirect *n, uint64_t ul, uint64_t ur, uint64_t ll, uint64_t lr, unsigned ylen, unsigned xlen, unsigned ctlword) __attribute__((nonnull(1)))
API int API ALLOC ncdirectv API int ncdirect_raster_frame(struct ncdirect *n, ncdirectv *ncdv, ncalign_e align) __attribute__((nonnull(1
API unsigned ncdirect_palette_size(const struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_off_styles(struct ncdirect *n, unsigned stylebits) __attribute__((nonnull(1)))
API ALLOC struct ncdirect * ncdirect_core_init(const char *termtype, FILE *fp, uint64_t flags)
API ALLOC ncdirectv API int API int ncdirect_stream(struct ncdirect *n, const char *filename, ncstreamcb streamer, struct ncvisual_options *vopts, void *curry) __attribute__((nonnull(1
API ALLOC ncdirectv API int API int ALLOC API char * ncdirect_detected_terminal(const struct ncdirect *n) __attribute__((nonnull(1)))
API ALLOC ncdirectv * ncdirectf_render(struct ncdirect *n, ncdirectf *frame, const struct ncvisual_options *vopts) __attribute__((nonnull(1
API int API int ncdirect_putegc(struct ncdirect *nc, uint64_t channels, const char *utf8, int *sbytes) __attribute__((nonnull(1
API ALLOC ncdirectv API int ncdirectf_geom(struct ncdirect *n, ncdirectf *frame, const struct ncvisual_options *vopts, ncvgeom *geom) __attribute__((nonnull(1
API unsigned ncdirect_dim_y(struct ncdirect *nc) __attribute__((nonnull(1)))
API int API ALLOC ncdirectv * ncdirect_render_frame(struct ncdirect *n, const char *filename, ncblitter_e blitter, ncscale_e scale, int maxy, int maxx) __attribute__((nonnull(1
API int ncdirect_check_pixel_support(const struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_set_fg_default(struct ncdirect *nc) __attribute__((nonnull(1)))
API const nccapabilities * ncdirect_capabilities(const struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_cursor_enable(struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_set_styles(struct ncdirect *n, unsigned stylebits) __attribute__((nonnull(1)))
API int API int ncdirect_vline_interp(struct ncdirect *n, const char *egc, unsigned len, uint64_t h1, uint64_t h2) __attribute__((nonnull(1
API int ncdirect_stop(struct ncdirect *nc)
API uint16_t ncdirect_styles(const struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_cursor_move_yx(struct ncdirect *n, int y, int x) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t uint64_t uint64_t unsigned unsigned unsigned ctlword
API int ncdirect_putstr(struct ncdirect *nc, uint64_t channels, const char *utf8) __attribute__((nonnull(1
API bool ncdirect_canget_cursor(const struct ncdirect *nc) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t uint64_t ll
API int ncdirect_on_styles(struct ncdirect *n, unsigned stylebits) __attribute__((nonnull(1)))
API int ncdirect_cursor_down(struct ncdirect *nc, int num) __attribute__((nonnull(1)))
API int API int API int ncdirect_printf_aligned(struct ncdirect *n, int y, ncalign_e align, const char *fmt,...) __attribute__((nonnull(1
API uint32_t ncdirect_get(struct ncdirect *n, const struct timespec *absdl, ncinput *ni) __attribute__((nonnull(1)))
API bool ncdirect_canutf8(const struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_set_bg_default(struct ncdirect *nc) __attribute__((nonnull(1)))
__attribute__((nonnull(1))) API ALLOC char *ncdirect_readline(struct ncdirect *nc
API int ncdirect_set_fg_palindex(struct ncdirect *nc, int pidx) __attribute__((nonnull(1)))
API int ncdirect_cursor_yx(struct ncdirect *n, unsigned *y, unsigned *x) __attribute__((nonnull(1)))
API int API ALLOC ncdirectv API int API ALLOC ncdirectf API void ncdirectf_free(ncdirectf *frame)
API uint16_t ncdirect_supported_styles(const struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_inputready_fd(struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_hline_interp(struct ncdirect *n, const char *egc, unsigned len, uint64_t h1, uint64_t h2) __attribute__((nonnull(1
API ALLOC struct ncdirect * ncdirect_init(const char *termtype, FILE *fp, uint64_t flags)
API int ncdirect_clear(struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_set_bg_rgb(struct ncdirect *nc, unsigned rgb) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t uint64_t uint64_t unsigned unsigned xlen
API int API int API int ncdirect_box(struct ncdirect *n, uint64_t ul, uint64_t ur, uint64_t ll, uint64_t lr, const wchar_t *wchars, unsigned ylen, unsigned xlen, unsigned ctlword) __attribute__((nonnull(1
API int API ALLOC ncdirectv API int API ALLOC ncdirectf * ncdirectf_from_file(struct ncdirect *n, const char *filename) __attribute__((nonnull(1
API int ncdirect_cursor_right(struct ncdirect *nc, int num) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t uint64_t uint64_t unsigned ylen
API int ncdirect_set_bg_palindex(struct ncdirect *nc, int pidx) __attribute__((nonnull(1)))
API int ncdirect_cursor_pop(struct ncdirect *n) __attribute__((nonnull(1)))
API int ncdirect_set_fg_rgb(struct ncdirect *nc, unsigned rgb) __attribute__((nonnull(1)))
API unsigned ncdirect_dim_x(struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_cursor_up(struct ncdirect *nc, int num) __attribute__((nonnull(1)))
API int ncdirect_render_image(struct ncdirect *n, const char *filename, ncalign_e align, ncblitter_e blitter, ncscale_e scale) __attribute__((nonnull(1
API int ncdirect_cursor_left(struct ncdirect *nc, int num) __attribute__((nonnull(1)))
API int API int API int uint64_t ul
API int ncdirect_double_box(struct ncdirect *n, uint64_t ul, uint64_t ur, uint64_t ll, uint64_t lr, unsigned ylen, unsigned xlen, unsigned ctlword) __attribute__((nonnull(1)))
API int API int API int uint64_t uint64_t ur
API int ncdirect_flush(const struct ncdirect *nc) __attribute__((nonnull(1)))
API int ncdirect_cursor_disable(struct ncdirect *nc) __attribute__((nonnull(1)))
const struct ncplane_options struct ncvisual struct ncvisual_options * vopts
int(* ncstreamcb)(struct ncvisual *, struct ncvisual_options *, const struct timespec *, void *)
API int API int const nccell unsigned len
bool notcurses_canopen_images(const notcurses *nc __attribute__((unused)))
bool notcurses_canopen_videos(const notcurses *nc __attribute__((unused)))