Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
notcurses_output(3)					   notcurses_output(3)

NAME
       notcurses_output	- output to ncplanes

SYNOPSIS
       #include	<notcurses/notcurses.h>

       static inline int ncplane_putc(struct ncplane* n, const nccell* c);

       int ncplane_putc_yx(struct ncplane* n, int y, int x, const nccell* c);

       static inline int ncplane_putchar(struct	ncplane* n, char c);

       static  inline  int ncplane_putchar_yx(struct ncplane* n, int y,	int x,
       char c);

       int ncplane_putchar_stained(struct ncplane* n, char c);

       static inline int ncplane_putwc(struct ncplane* n, wchar_t w);

       int ncplane_putwc_yx(struct ncplane* n, int y, int x, wchar_t w);

       static inline int ncplane_putwc_stained(struct ncplane* n, wchar_t w);

       static inline int ncplane_putegc(struct ncplane*	n, const char* gclust,
       int* sbytes);

       int  ncplane_putegc_yx(struct  ncplane*	n,  int	 y, int	x, const char*
       gclust, int* sbytes);

       int ncplane_putegc_stained(struct ncplane* n, const char* gclust,  int*
       sbytes);

       static  inline  int  ncplane_putwegc(struct  ncplane* n,	const wchar_t*
       gclust, int* sbytes);

       static inline int ncplane_putwegc_yx(struct ncplane* n, int y,  int  x,
       const wchar_t* gclust, int* sbytes);

       int  ncplane_putwegc_stained(struct  ncplane* n,	const wchar_t* gclust,
       int* sbytes);

       int ncplane_putstr_yx(struct ncplane* n,	int  y,	 int  x,  const	 char*
       gclustarr);

       static  inline int ncplane_putstr(struct	ncplane* n, const char*	gclus-
       tarr);

       int ncplane_putstr_aligned(struct ncplane* n, int y,  ncalign_e	align,
       const char* s);

       int ncplane_putstr_stained(struct ncplane* n, const char* s);

       static  inline  int  ncplane_putwstr(struct  ncplane* n,	const wchar_t*
       gclustarr);

       int ncplane_putwstr_yx(struct ncplane* n, int y,	int x, const  wchar_t*
       gclustarr);

       static  inline  int  ncplane_putwstr_aligned(struct  ncplane* n,	int y,
       ncalign_e align,	const wchar_t* gclustarr);

       int ncplane_putwstr_stained(struct ncplane* n,  const  wchar_t*	gclus-
       tarr);

       static  inline  int  ncplane_putnstr(struct ncplane* n, size_t s, const
       char* gclustarr);

       int ncplane_putnstr_yx(struct ncplane* n, int y,	int x, size_t s, const
       char* gclusters);

       int  ncplane_putnstr_aligned(struct ncplane* n, int y, ncalign_e	align,
       size_t s, const char* s);

       int ncplane_vprintf_aligned(struct ncplane* n, int y, ncalign_e	align,
       const char* format, va_list ap);

       int  ncplane_vprintf_yx(struct  ncplane*	 n,  int y, int	x, const char*
       format, va_list ap);

       static inline int ncplane_vprintf(struct	ncplane* n, const  char*  for-
       mat, va_list ap);

       static inline int ncplane_printf(struct ncplane*	n, const char* format,
       ...);

       static inline int ncplane_printf_yx(struct ncplane* n, int  y,  int  x,
       const char* format, ...);

       static  inline  int  ncplane_printf_aligned(struct  ncplane*  n,	int y,
       ncalign_e align,	const char* format, ...);

       int ncplane_cursor_move_yx(struct ncplane* n, int y, int	x);

       int ncplane_puttext(struct ncplane* n, int y,  ncalign_e	 align,	 const
       char* text, size_t* bytes);

DESCRIPTION
       These  functions	 write EGCs (Extended Grapheme Clusters) to the	speci-
       fied struct ncplanes.  The following inputs are supported:

       o ncplane_putc(): writes	a single nccell	(see notcurses_cell(3))

       o ncplane_putchar(): writes a single 7-bit ASCII	character

       o ncplane_putwc(): writes a single wchar_t (following UTF-8 conversion)

       o ncplane_putwegc(): writes a single EGC	from an	array of wchar_t

       o ncplane_putegc(): writes a single EGC from an array of	UTF-8

       o ncplane_putstr(): writes a set	of EGCs	from an	array of UTF-8

       o ncplane_putwstr(): writes a set of EGCs from an array of wchar_t

       o ncplane_vprintf(): formatted output using va_list

       o ncplane_printf(): formatted output using variadic arguments

       o ncplane_puttext(): multi-line,	line-broken, aligned text

       All of these use	the ncplane's active styling,  save  notcurses_putc(),
       which  uses the nccell's	styling.  Functions accepting a	single EGC ex-
       pect a series of	wchar_t	terminated by L'\0' or a series	of UTF-8  char
       terminated  by '\0'.  The EGC must be well-formed, and must not contain
       any cluster breaks.  For	more information, consult Unicode(R)  Standard
       Annex  #29  (https://unicode.org/reports/tr29/).	 Functions accepting a
       set of EGCs must	consist	of a series of	well-formed  EGCs,  broken  by
       cluster breaks, terminated by the appropriate NUL terminator.

       These functions output to the ncplane's current cursor location.	 Aside
       from ncplane_puttext(), they do not move	to the next line upon reaching
       the right extreme of the	containing plane.  If the entirety of the con-
       tent cannot be output, they will	output as much as possible.

       Each of these base functions has	two additional forms:

       o ncplane_putc_aligned(), etc.: accepts a row and an alignment type

       o ncplane_putc_yx(), etc.: accepts a row	and column

       If a positional parameter is -1,	no movement will be  made  along  that
       axis.  Passing -1, -1 to	e.g.  ncplane_putc_yx()	is equivalent to call-
       ing the base form.  These functions are implemented by moving the  cur-
       sor,  and then performing the output.  The two steps are	atomic on suc-
       cess (it	is not possible	for another caller to move the cursor  between
       when  it	 is  positioned, and when output begins), and thus these func-
       tions  ought  generally	be  preferred  to  an  explicit	  ncplane_cur-
       sor_move_yx().

       Upon successful return, the cursor will follow the last cell output.

RETURN VALUES
       ncplane_cursor_move_yx()	returns	-1 on error (invalid coordinate), or 0
       on success.

       For output functions, a negative	return indicates an error with the in-
       puts.   Otherwise, the number of	screen columns output is returned.  It
       is entirely possible to get a short return, if there  was  insufficient
       room to output all EGCs.

SEE ALSO
       fprintf(3)    notcurses(3),    notcurses_cell(3),   notcurses_plane(3),
       stdarg(3), ascii(7), unicode(7),	utf-8(7)

AUTHORS
       nick black <nickblack@linux.com>.

				    v2.1.4		   notcurses_output(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=notcurses_output&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help